Я расширил использование моего virtual task body()
в классе последовательности, а в объявлении родительского класса body()
я объявил переменную.Однако при использовании его в расширенном классе 'body()
я столкнулся с ошибкой компиляции Identifier 'q' has not been declared yet.
Вот пример:
// Inside a base sequence class
virtual task body();
byte q [$];
...
.. // rest of the code
.
endtask : body
// Inside extended sequence class
virtual task body();
super.body();
q.push_back('hFF); // X Compilation error: Identifier 'q' has not been declared yet.
...
.. // rest of the code
.
endtask : body
Я не вижу никакой логической причины, почемуПеременная не была замечена.Я, конечно, могу объявить это вне области задач в качестве члена класса, но я хочу уточнить эти незначительные дыры в моем понимании SV.
Любая помощь, пожалуйста?Заранее спасибо.