Verilog:如何在时钟正边沿之后具有特定延迟的信号



我有一个测试台模块

,如下所示:
`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;

最新更新