iverilog/ivtest/ivltests/pr2038048.v

38 lines
654 B
Coq
Raw Normal View History

// Copyright 2008, Martin Whitaker.
// This file may be freely copied for any purpose.
module array_word_part_select();
reg pass = 1'b1;
reg [3:0] Data[15:0];
reg [3:0] Index;
wire [2:0] Value;
assign Value = Data[Index][2:0];
integer i;
initial begin
for (i = 0; i < 16; i = i + 1) begin
Data[i] = i;
end
for (i = 0; i < 16; i = i + 1) begin
#2 Index = i;
end
#2 if (pass) $display("PASSED");
end
always @(Index) begin
// $display(Index,, Value);
#1 if (Value !== Index % 8) begin
$display("Failed: testing index %d, expected %d, got %d", Index,
Index % 8, Value);
pass = 1'b0;
end
end
endmodule