iverilog/ivtest/ivltests/sv_foreach10.v

41 lines
771 B
Coq
Raw Normal View History

// Check that foreach counts from $left to $right for dynamic arrays and queues.
module test;
logic d[];
logic q[$];
initial begin
bit failed;
int exp_idx;
failed = 1'b0;
// Dynamic arrays and queues always count from 0 to $size - 1
d = '{0, 0};
exp_idx = 0;
foreach(d[idx]) begin
if (idx !== exp_idx) begin
$display("FAILED: Expected %0d, got %0d", exp_idx, idx);
failed = 1'b1;
end
exp_idx++;
end
q = '{0, 0, 0};
exp_idx = 0;
foreach(q[idx]) begin
if (idx !== exp_idx) begin
$display("FAILED: Expected %0d, got %0d", exp_idx, idx);
failed = 1'b1;
end
exp_idx++;
end
if (!failed) begin
$display("PASSED");
end
end
endmodule