我有一个测试平台模块,如下所示:
`timescale 1ns / 1ps
module RandomDelay_tb;
reg t_clk=1;
reg t_rst_n=1;
reg t_input_signal = 1;
wire t_out_signal;
MyModle r1(t_clk,t_rst_n,2'b11,t_input_signal,t_out_signal);
initial
begin
t_rst_n = 0;
#930 t_rst_n = 1;
end
always
#100 t_clk = ~t_clk;
always
#50 t_input_signal = ~ t_input_signal;
endmodule
在这个模块中,
t_input_signal
的出现频率是t_clk
的两倍。我想修改它,使其具有与 t_clk
相同的切换周期,即 100ns,但在我的时钟信号边缘之后有一个延迟,如 10ns。
换句话说,我希望
t_input_signal
成为 t_clk
,但移动了 10ns。
我怎样才能实现这样的事情?
有多种方法,但看看你的代码,最少的输入量是:
always @(t_clk)
t_input_signal <= #10 t_clk;