我很困惑为什么我不能使用<=
在我的类中分配变量?我之前在任务中使用过<=
,这只是一个问题,我正在分配一个类的局部变量吗?这是有问题的代码:
package MyPackage;
class test;
logic b_val;
task set_val;
//this.b_val = 1'b1; // WORKS
this.b_val <= 1'b1; // ERROR
endtask
endclass // test
endpackage
module Test;
import MyPackage::*;
test t1 = new;
initial
begin
t1.set_val;
end
endmodule : Test
我收到的错误是:
# ** Fatal: (SIGSEGV) Bad handle or reference.
# Time: 0 ns Iteration: 0 Process: /Test/#INITIAL#18 File: C:/Projects/SystemVerilog/sim/test.sv
# Fatal error in Task MyPackage/test::set_val at C:/Projects/SystemVerilog/sim/test.sv line 8
答案 0 :(得分:1)
允许对类成员进行非阻塞分配是SystemVerilog的一个相对较新的功能。您将需要2012年之后发布的模拟器版本。即使如此,我也无法在早期版本中重现您的错误。