iverilog/ivtest/ivltests/pr1883052.v

28 lines
553 B
Verilog

`timescale 1us/100ns
module top;
reg pass = 1'b1;
reg [3:0] ia = 4'd1, ib = 4'd2;
wire signed [3:0] icon;
assign #1 icon = {ib[1:0], ia[0]}; // Should give 5 after a delay.
initial begin
#0.9;
if (icon !== 4'bx) begin
pass = 1'b0;
$display("concatenation value not delayed, expected 4'bx got %b.", icon);
end
#0.1;
#0;
if (icon !== 4'd5) begin
pass = 1'b0;
$display("concatenation value not correct, expected 4'd5 got %d.", icon);
end
if (pass) $display("PASSED");
end
endmodule