1
我正嘗試使用下面的代碼在verilog中生成波形,但結果與預期不符。在verilog中生成自定義波形
initial begin
d = 1'b0;
#8 d <= 1'b1;
#15 d <= 1'b0;
end
其初始值爲0(OK),在t = 8,它的1(行),但在t = 23,其爲0。相反,我希望它是0在t = 15相對於T = 0而不是t = 8(即前面的陳述)。
有沒有辦法做到這一點?我嘗試過交換阻塞和非阻塞任務,但沒有運氣!
感謝,
開發
這是否意味着使用賦值間延遲推進仿真時間? –
@devvaibhav我不確定你的意思。然而,IEEE1800-2012的第9.4.5節(「內部分配時間控制」)指出:「分配內延遲或事件控制應延遲將新值分配到左側,但右側表達應在延遲之前進行評估,而不是在延遲之後進行評估。「如果您將內部分配延遲添加到非阻塞分配,則執行後立即執行,並在延遲後執行分配。所以,你正在有效地安排將來某個時間發生的事件。 –