在我的t1扩展uvm_test类中,我想使用xxx_pkg中序列类xxx_io的xxx_write方法。
我已将该软件包导入我的t1类,并且我已将该方法设为静态但我仍然从编译器收到相同的错误:
ncvlog:* E,ILLCSS(/ddd/test.sv,82|29):无法通过类范围解析运算符' ::'访问非静态类成员。 xxx_pkg :: xxx_io :: xxx_write(12' h000,32' h11ceb00c);
由于在我将静态关键字添加到xxx_write方法后错误消息没有改变,如果错误在其他地方,我不会感到惊讶。但我的代码'工作'如果我不尝试从t1类调用此方法。
package xxx_pkg
class xxx_io extends uvm_sequence #(xxx_seq_item);
static task xxx_write( bit [11:0] i_addr, integer i_wdata );
// snip other code
endtask
endclass: xxx_io
endpackage: xxx_pkg
class t1 extends uvm_test
import xxx_pkg::*
class test1 extends uvm_sequence #(xxx_seq_item);
task body ;
xxx_pkg::xxx_io::xxx_write(12'h000, 32'h11ceb00c);
// snip other code
endtask
endclass : t1
答案 0 :(得分:0)
来自Greg:在测试中创建序列的实例,然后从该实例中调用该方法