我在監視器的一個下面的代碼:爲什麼等待的表達導致阻塞
virtual task run_phase(uvm_phase phase);
forever begin
mon_trx = tx_upconv_in_transaction::type_id::create("mon_trx");
wait (vif.chind2 == 32'h0);
mon_trx.xi = vif.xi;
mon_trx.xq = vif.xq;
$display("TRX.XI = %h, TRX.XQ = %h", mon_trx.xi, mon_trx.xq);
end
endtask: run_phase
當我運行仿真我可以看到許多照片(的顯示),但時間不及格。
爲什麼?
p.s chind 2是整數(數據)。
'wait'等待信號電平,而不是邊緣。只要chind2 = 0,循環不斷重複。這就像一個無限循環,你的顯示不斷重複。您的循環中需要另一個時序控制語句。 – toolic
@toolic - 像什麼? – sara8d