Этот код честно не имеет никакого смысла.
В вашем текущем коде указано, что на основании clk
значение clk
должно быть ~clk
. Когда вы используете <=
, вы, по крайней мере, указали неблокирующее назначение, что имеет немного больше смысла, но до сих пор его нет.
Если вы хотите тактовый генератор для моделирования, используйте следующее в начальном блоке (давая период 10ns):
forever begin
#5 clk <= ~clk;
end
Если вы хотите тактовый генератор для синтеза FPGA, либо подключить физический осциллятор входной сигнал часов вашего устройства или использовать встроенный генератор (если он доступен на вашем устройстве). Вы всегда можете использовать DCM/PLL/CMT/MMCM/независимо от того, что ваш FPGA вызывает, чтобы настроить тактовую частоту.
Этот код для синтеза или моделирования? Какой инструментальный инструмент/симулятор/синтезатор/компилятор вы используете? Что именно вы пытаетесь достичь, учитывая, что у вас нет задержек перед переводом значения 'clk' и используются' always @ clk'? – hexafraction
Я бы предпочел просто: «initial clk = 0; всегда # 10 clk = ~ clk; ' – rahulcodesinverilog