我在設計中使用時鐘切換電路。這是細胞的行爲模型。如何在verilog中將寄存器初始化爲隨機值?
module toggle (En, CP, Q);
input CP, En ;
output Q;
reg Q_int;
`ifdef INIT
initial Q_int = 1'b0;
`endif
always @ (posedge CP) begin
if (En) Q_int <= ~Q_int;
end
assign Q = Q_int;
endmodule
在我的模擬過程中,我正在使用ifdef將Q_int初始化爲零。如果Q只是改變它的狀態,那麼它不會完全覆蓋真實的行爲,不管它從何處開始(0或1)。那麼如何將Q_int初始化爲ZERO或ONE以用於模擬目的。
如何在verilog或系統verilog中實現這樣的Q_int = random(0或1)?
感謝您的建議。 $ urandom_range(1)vs just $ random有什麼區別?對於這種情況,他們都會有相同的效果? –
不客氣。當你嘗試時會發生什麼?你可以在同一個文檔中閱讀$ random。 – toolic