Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

What is always followed by #(...) pound mean in Verilog?

Tags:

verilog

In a simple clock generator example, I see the following code:

always #(cycle/2) clk ~= clk;

I've seen always @(*) before but not pound (#). I tried to find it in the documentation, but all I could find was some reference to "real-valued ports" with no further elaboration.

like image 645
weiy Avatar asked Apr 15 '13 19:04

weiy


1 Answers

It's a delay operation. It essentially just reads

always begin
   #(cycle/2) //wait for cycle/2 time
   clk ~= clk;
end

You might sometimes see this used with raw values, like #5 or #10, which means to wait 5 or 10 units of your timescale.

like image 155
Tim Avatar answered Oct 12 '22 06:10

Tim