Я застрял в задаче и был бы признателен любой вход/предложение:Использование SystemVerilog статической переменной в классе
Я агент для моего испытательного стенда, который имеет следующие компоненты: базовый класс A- определяет две статические переменные - X и Y - два новых класса B и C, BOTH - от A. Они используют статическую переменную, объявленную в базовом классе. Другой класс D, который использует B и C, чтобы что-то сделать.
Скажем, класс D является моим главным агентом, и я называю его bfm_agent. Этот bfm_agent может быть создан несколько раз на моем стенде. Теперь проблема заключается в том, что X и Y будут использоваться для всех bfm_agent. Я не хочу этого. Я просто хочу, чтобы X и Y были статичными, чтобы классы B и C внутри каждого bfm_agent могли использовать эти две переменные для выполнения некоторой работы.
Как я могу это достичь? Я просто хочу, чтобы область действия этих двух статических переменных была действительной только в каждом экземпляре bfm_agent.
@newbie 'static' означает все экземпляры. То, что вы хотите, это переменные экземпляра. Если вы указали свои переменные 'X' и' Y' как статические, чтобы сделать такой вид обмена, я бы сказал, что вы удаляете ключевое слово 'static' и назначаете правильные значения для каждого экземпляра. Подход Дейва работает лучше всего, если вы используете UVM. –
Поскольку сообщение было помечено 'UVM', я предположил, что они уже используют его. Если notm, вы все равно можете сделать что-то подобное, разделив дескрипторы, а не сами переменные. –