Я пытался написать код симуляции системы Verilog. Однако, когда я попытался записать какое-то значение в класс «trans», он показал эту ошибку. Кто-нибудь знает, как решить эту проблему?
Включен класс "trans".
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
Ошибка в строке "trans.c <= vif.c". </p>
Кажется, автоматическая переменная 'trans' не может быть записана. После того как я изменил 'trans' с автоматического на глобальный (статический?), Он заработал. Кто-нибудь знает почему?