iverilog/ivtest/ivltests/pr1820472.v

32 lines
652 B
Verilog

module test;
// parameter j=0;
reg [5:0] j;
reg [5:0] in [7:0];
wire [5:0] out [7:0];
assign out[0][1:0] = 2'b10;
assign out[0][3:2] = 2'b01;
assign out[1] = in[j]; // This uses the current j!
assign out[2] = in[2];
assign out[3] = in[3];
initial begin
j = 1;
in[j] = 2'b10;
in[2][3:2] = 2'b01;
in[j+2][3:2] = 2'b10;
#1;
$display("out[0]: %b", out[0]);
$display("out[1]: %b", out[1]);
$display("out[2]: %b", out[2]);
$display("out[3]: %b", out[3]);
for (j=0; j<4; j=j+1) begin
#0; // wait for change to propagate
$display("out[1]-%0d: %b", j, out[1]);
end
end
endmodule