2016-01-22 01:00:19 +01:00
|
|
|
// DESCRIPTION: Verilator: Verilog Test module
|
|
|
|
|
//
|
|
|
|
|
// This files is used to generated the BLKLOOPINIT error which
|
|
|
|
|
// is actually caused by not being able to unroll the for loop.
|
|
|
|
|
//
|
|
|
|
|
//
|
2026-01-27 02:24:34 +01:00
|
|
|
// This file ONLY is placed under the Creative Commons Public Domain.
|
|
|
|
|
// SPDX-FileCopyrightText: 2013 Jie Xu
|
2020-03-21 16:24:24 +01:00
|
|
|
// SPDX-License-Identifier: CC0-1.0
|
2016-01-22 01:00:19 +01:00
|
|
|
|
2026-03-10 02:38:29 +01:00
|
|
|
module t (
|
|
|
|
|
input clk
|
|
|
|
|
);
|
2016-01-22 01:00:19 +01:00
|
|
|
|
2026-03-10 02:38:29 +01:00
|
|
|
reg [3:0] tmp[3:0];
|
2016-01-22 01:00:19 +01:00
|
|
|
|
2026-03-10 02:38:29 +01:00
|
|
|
initial begin
|
|
|
|
|
tmp[0] = 4'b0000;
|
|
|
|
|
tmp[2] = 4'b0010;
|
|
|
|
|
tmp[3] = 4'b0011;
|
|
|
|
|
end
|
2016-01-22 01:00:19 +01:00
|
|
|
|
2026-03-10 02:38:29 +01:00
|
|
|
// Test loop
|
|
|
|
|
always @(posedge clk) begin
|
|
|
|
|
int i;
|
|
|
|
|
int j;
|
|
|
|
|
for (i = 0; (i < 4) && (i > 1); i++) begin
|
|
|
|
|
tmp[i] <= tmp[i-i];
|
|
|
|
|
end
|
|
|
|
|
if (tmp[0] != 4'b0000) $stop;
|
|
|
|
|
if (tmp[3] != 4'b0011) $stop;
|
2016-01-22 01:00:19 +01:00
|
|
|
|
2026-03-10 02:38:29 +01:00
|
|
|
j = 0;
|
|
|
|
|
for (i = $c32("1"); i < 3; ++i) j++;
|
|
|
|
|
if (j != 2) $stop;
|
|
|
|
|
j = 0;
|
|
|
|
|
for (i = 1; i < $c32("3"); ++i) j++;
|
|
|
|
|
if (j != 2) $stop;
|
|
|
|
|
j = 0;
|
|
|
|
|
for (i = 1; i < 3; i = i + $c32("1")) j++;
|
|
|
|
|
if (j != 2) $stop;
|
2016-01-22 01:00:19 +01:00
|
|
|
|
2026-03-10 02:38:29 +01:00
|
|
|
$write("*-* All Finished *-*\n");
|
|
|
|
|
$finish;
|
|
|
|
|
end
|
2016-01-22 01:00:19 +01:00
|
|
|
endmodule
|