Verilog中始终跟着#(...)磅的意思是什么?

wei*_*eiy 7 verilog

我正在尝试学习Verilog,在一个简单的时钟生成器示例中,我看到以下代码:

always #(cycle/2) clk ~= clk
Run Code Online (Sandbox Code Playgroud)

我以前总是见过@(*)而不是pound(#).我试图在文档中找到它,但我能找到的只是对"实值端口"的一些参考,没有进一步的详细说明.

感谢你的帮助!

Tim*_*Tim 8

这是一个延迟操作.它本质上只是读取

always begin
   #(cycle/2) //wait for cycle/2 time
   clk ~= clk;
end
Run Code Online (Sandbox Code Playgroud)

您有时可能会看到这与原始值一起使用,例如#5或#10,这意味着等待5或10个单位的时间刻度.