我在设计中使用时钟切换电路。这是细胞的行为模型。如何在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