Временная задержка (delay)
#<number>
#<identifier>
#(<min_exp>: <typical_exp>, <max_exp>)
<> = #<number> <>
<> = #<identifier> <>
<> = #(<min_exp>: <typical_exp>, <max_exp>) <>`timescale 1ns/1ps
module timescale_tb;
reg [3:0] a, b;
initial begin
{a, b} <= 0; $display("Time [%5t]: a=%0d b=%0d", $realtime, a, b);
#10; a <= $random; $display("Time [%5t]: a=%0d b=%0d", $realtime, a, b);
#10 b <= $random; $display("Time [%5t]: a=%0d b=%0d", $realtime, a, b);
#(a) $display("Time [%5t]: After delay of a=%0d units", $realtime, a);
#(a+b) $display("Time [%5t]: After delay of (a=%0d + b=%0d =) %0d units", $realtime, a, b, a+b);
#((a+b)*10ps) $display("Time [%5t]: After delay of %0d * 10ps", $realtime, a+b);
#(b-a) $display("Time [%5t]: Expr evaluates to a negative delay", $realtime);
#('h10) $display("Time [%5t]: Delay in hex", $realtime);
a = 'hX;
#(a) $display("Time [%5t]: Delay is 'hX, taken as zero a=%h", $realtime, a);
a = 'hZ;
#(a) $display("Time [%5t]: Delay is in high impedance, taken as zero a=%h", $realtime, a);
#1ps $display("Time [%5t]: Delay of 10ps", $realtime);
end
endmoduleLast updated