iverilog/ivtest/ivltests/real_events.v

44 lines
621 B
Verilog

module test();
real val;
always @(val) begin
$display("val = %f", val);
end
task automatic test_task(input integer delay, input real val1, input real val2);
real val;
fork
begin
@(val) $display("val%0d = %f", delay, val);
@(val) $display("val%0d = %f", delay, val);
end
begin
#delay;
#2 val = val1;
#2 val = val1;
#2 val = val2;
end
join
endtask
initial begin
#1 val = 1.0;
#1 val = 1.0;
#1 val = 2.0;
fork
test_task(1, 1.1, 2.1);
test_task(2, 1.2, 2.2);
join
fork
test_task(1, 2.1, 3.1);
test_task(2, 2.2, 3.2);
join
#1 $finish(0);
end
endmodule