System verilog 自动变量';trans';无法在此上下文中编写
我试图编写systemVerilog模拟代码。然而,当我试图向类“trans”写入一些值时,它显示了这个错误。有人知道如何解决这个问题吗 “trans”类已包含在内System verilog 自动变量';trans';无法在此上下文中编写,system-verilog,test-bench,System Verilog,Test Bench,我试图编写systemVerilog模拟代码。然而,当我试图向类“trans”写入一些值时,它显示了这个错误。有人知道如何解决这个问题吗 “trans”类已包含在内 task main; forever begin transaction trans; gen2driv.get( trans ); @( posedge vif.clk ); vif.valid <= 1;
task main;
forever begin
transaction trans;
gen2driv.get( trans );
@( posedge vif.clk );
vif.valid <= 1;
vif.a <= trans.a;
vif.b <= trans.b;
@( posedge vif.clk );
vif.valid <= 0;
trans.c <= vif.c;
@( posedge vif.clk );
trans.display( "[ DRIVER ]" );
no_transactions++;
end
endtask
任务主体;
永远开始
交易交易;
gen2driv.get(trans);
@(posedge vif.clk);
vif.有效来自标准:
对自动变量进行非阻塞赋值是非法的
不要使用标准中的非阻塞分配:
对自动变量进行非阻塞赋值是非法的
不要使用非阻塞赋值错误发生在“trans.c”行,似乎无法写入自动变量“trans”。在我将“trans”从自动更改为全局(静态?)后,它工作了。有人知道为什么吗?错误发生在“trans.c”行,似乎无法写入自动变量“trans”。在我将“trans”从自动更改为全局(静态?)后,它起了作用。有人知道为什么吗?