尝试访问uvm_config_db以访问变量时出现此错误。我用Google搜索并在accellera论坛上找到了以下答案:
http://forums.accellera.org/topic/406-compilation-error-regarding-illegal-class-assignment/
您不能将其用作序列中的上下文;您必须依赖完整的序列名称。
任何人都可以解释为什么会这样吗? 感谢
答案 0 :(得分:1)
在您的案例uvm_config_db::get/set
中,您为上下文传递给this
的值必须引用UVM组件。基于context
的值构造配置设置所应用的完整分层路径的路径。如果this
是一个序列(不从uvm_component
继承,那么它将没有固定的层次结构。
我通常在序列中做的是:
uvm_config_db #(some_type)::get(p_sequencer, "", "some_field", some_field);
p_sequencer
是一个UVM组件,您可以将配置设置应用于在该序列器上启动的任何序列。