Verilog: Как получить сигнал с определенной задержкой после положительного фронта тактового сигнала? - PullRequest
0 голосов
/ 09 июня 2019

У меня есть модуль испытательного стенда, такой как ниже:

`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, то есть 100 нс, но у него была задержка после фронта моего тактового сигнала, например, 10 нс.

Другими словами, я хочу t_input_signal быть t_clk, но сдвинут на 10 нс.

Как я могу реализовать такую ​​вещь?

1 Ответ

1 голос
/ 10 июня 2019

Есть несколько способов, но, глядя на ваш код, наименьшее количество набрав будет:

always @(t_clk )
   t_input_signal <= #10 t_clk;
...