// DESCRIPTION: Verilator: Verilog Test module // // This file ONLY is placed under the Creative Commons Public Domain. // SPDX-FileCopyrightText: 2012 Wilson Snyder // SPDX-License-Identifier: CC0-1.0 package TEST_TYPES; typedef struct a_struct_t; // Forward typedef struct packed {logic stuff;} a_struct_t; endpackage // TEST_TYPES module t ( clk ); input clk; TEST_TYPES::a_struct_t [3:0] a_out; sub sub (.a_out); always @(posedge clk) begin if (a_out[0] != 1'b0) $stop; if (a_out[1] != 1'b1) $stop; if (a_out[2] != 1'b0) $stop; if (a_out[3] != 1'b1) $stop; $write("*-* All Finished *-*\n"); $finish; end endmodule module sub ( a_out ); parameter N = 4; output TEST_TYPES::a_struct_t [N-1:0] a_out; always_comb begin for (int i = 0; i < N; i++) a_out[i].stuff = i[0]; end endmodule // Local Variables: // verilog-typedef-regexp: "_t$" // End: