Входные сигналы Verilog

Как написать код на Verilog, чтобы в ModelSim можно было получить данные три входных сигнала (второй сигнал есть, когда первый находится в состоянии 1, третий сигнал — когда первый равен 0)?

Вот что у меня получилось. В итоге сигналы получились одинаковыми:

module fvds;
    reg clk1;

    always begin
        clk1 = 1'b0;
        forever #20000000  clk1 = !clk1;
    end

    reg clk2;

    initial begin
        clk2 = 0;
        #20;
        clk2 = 1;
        #20;
    end
endmodule

введите сюда описание изображения


Ответы (1 шт):

Автор решения: eanmos
`timescale 1us/1us

module tb;
    reg clk = 1;
    always #4000 clk <= !clk; /* 250 Hz */

    reg sin = 0;
    always #20 sin <= !sin && clk; /* 50 kHz */

    reg cos = 0;
    always #20 cos <= !cos && !clk; /* 50 kHz */
endmodule

Симуляция выдает вот такую волну:

введите сюда описание изображения

→ Ссылка