iverilog/ivtest/ivltests/pr2913416.v

29 lines
531 B
Verilog

module bug;
reg pass;
reg Select;
reg signed [3:0] Delta;
reg signed [5:0] Value;
wire signed [5:0] Value_ca = (Select ? 12 : 8) + Delta;
initial begin
pass = 1'b1;
Select = 1;
Delta = -7;
Value = (Select ? 12 : 8) + Delta;
if (Value !== 5) begin
$display("FAILED: procedural assign, expected 5, got %d", Value);
pass = 1'b0;
end
#1;
if (Value_ca !== 5) begin
$display("FAILED: continuous assign, expected 5, got %d", Value_ca);
pass = 1'b0;
end
if (pass) $display("PASSED");
end
endmodule