Verilog时钟发生器错误?

Verilog时钟发生器错误?,verilog,Verilog,我使用ISE14.7编写了简单的代码来生成时钟信号,但iSim中的输出总是1,直到我更改=with为止,这段代码实际上没有任何意义 您当前的代码说明基于clk,clk的值应该是~clk。 当您使用时,此代码是用于合成还是用于模拟?您使用的是什么工具链/模拟器/合成工具/编译器?如果在翻转clk的值之前没有任何延迟,并且使用始终@clk,那么您到底想要实现什么?我更喜欢这样:初始clk=0;始终#10 clk=~clk永久需要在首字母内。我使用ISE 14.7,正如我刚刚在使用非阻塞赋值时告诉您的

我使用ISE14.7编写了简单的代码来生成时钟信号,但iSim中的输出总是1,直到我更改=with为止,这段代码实际上没有任何意义

您当前的代码说明基于
clk
clk
的值应该是
~clk

当您使用
时,此代码是用于合成还是用于模拟?您使用的是什么工具链/模拟器/合成工具/编译器?如果在翻转
clk
的值之前没有任何延迟,并且使用
始终@clk
,那么您到底想要实现什么?我更喜欢这样:
初始clk=0;始终#10 clk=~clk永久需要在首字母内。我使用ISE 14.7,正如我刚刚在使用非阻塞赋值时告诉您的,时钟显示在iSim@HayderAl-艾米莉:虽然这可能有效,但这不是一个明确的方法。如果要生成时钟,请以代码的其他读者清楚的方式生成时钟。事实上,它是在一个非边缘触发的过程中随时间分配给寄存器的,这使得它看起来与通常为测试台制作的时钟发生器不同,并且该代码与需要编写才能合成的代码不一致。
module nonblocking( clk );
 output reg clk;

 initial 
   #10 clk =0;

 always @ (clk)
#10 clk = ~ clk; // change to <= to work

endmodule
forever begin
    #5 clk <= ~clk;
end