2017-01-07 00:44:37 +01:00
|
|
|
// DESCRIPTION: Verilator: Verilog Test module
|
|
|
|
|
//
|
2026-01-27 02:24:34 +01:00
|
|
|
// This file ONLY is placed under the Creative Commons Public Domain.
|
|
|
|
|
// SPDX-FileCopyrightText: 2017 Andrew Bardsley
|
2020-03-21 16:24:24 +01:00
|
|
|
// SPDX-License-Identifier: CC0-1.0
|
2017-01-07 00:44:37 +01:00
|
|
|
|
2026-03-10 02:38:29 +01:00
|
|
|
module t (
|
|
|
|
|
input clk
|
|
|
|
|
);
|
2017-01-07 00:44:37 +01:00
|
|
|
|
2026-03-10 02:38:29 +01:00
|
|
|
int cnt;
|
2017-01-07 00:44:37 +01:00
|
|
|
|
2026-03-10 02:38:29 +01:00
|
|
|
// This won't compile with tracing as an incorrect declaration is made for
|
|
|
|
|
// the temp variables used to represent the elements of localparam v
|
|
|
|
|
typedef struct packed {logic [2:0][31:0] a;} t;
|
2017-01-07 00:44:37 +01:00
|
|
|
|
2026-03-10 02:38:29 +01:00
|
|
|
localparam t v[2:0] = '{
|
|
|
|
|
'{'{32'h10000002, 32'h10000001, 32'h10000000}},
|
|
|
|
|
'{'{32'h20000002, 32'h20000001, 32'h20000000}},
|
|
|
|
|
'{'{32'h30000002, 32'h30000001, 32'h30000000}}
|
|
|
|
|
};
|
2017-01-07 00:44:37 +01:00
|
|
|
|
2026-03-10 02:38:29 +01:00
|
|
|
initial cnt = 0;
|
|
|
|
|
always @(posedge clk) begin
|
|
|
|
|
if (cnt < 3) begin
|
|
|
|
|
cnt = cnt + 1;
|
|
|
|
|
end
|
|
|
|
|
else begin
|
|
|
|
|
$write("*-* All Finished *-*\n");
|
|
|
|
|
$finish;
|
|
|
|
|
end
|
|
|
|
|
end
|
2017-01-07 00:44:37 +01:00
|
|
|
endmodule
|