无法通过类范围解析运算符

时间:2016-06-06 21:30:25

标签: static sequence uvm

在我的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

1 个答案:

答案 0 :(得分:0)

来自Greg:在测试中创建序列的实例,然后从该实例中调用该方法