如何让信号在时钟上升沿后具有特定的延迟?

问题描述 投票:0回答:1

我有一个测试平台模块,如下所示:

`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。

我怎样才能实现这样的事情?

verilog test-bench
1个回答
1
投票

有多种方法,但看看你的代码,最少的输入量是:

always @(t_clk)
   t_input_signal <= #10 t_clk;
© www.soinside.com 2019 - 2024. All rights reserved.