iverilog/ivtest/ivltests/pr2969724.v

30 lines
671 B
Verilog

module top;
reg pass;
real rval;
reg [7:0] res;
initial begin
pass = 1'b1;
res = 6.0;
if (res !== 8'd6) begin
$display("Failed blocking assignment, expeted 6, got %d", res);
pass = 1'b0;
end
// The compiler is generating bad code for a NB-assign with a real r-value.
res <= 7.0;
#1 if (res !== 8'd7) begin
$display("Failed nonblocking assignment, expeted 7, got %d", res);
pass = 1'b0;
end
rval = 8.0;
res <= rval;
#1 if (res !== 8'd8) begin
$display("Failed nonblocking assignment, expeted 8, got %d", res);
pass = 1'b0;
end
if (pass) $display("PASSED");
end
endmodule