verilator/test_regress/t/t_struct_nest.v

46 lines
1014 B
Systemverilog
Raw Normal View History

2013-05-11 03:02:48 +02:00
// DESCRIPTION: Verilator: Verilog Test module
//
// This file ONLY is placed under the Creative Commons Public Domain.
// SPDX-FileCopyrightText: 2013 Wilson Snyder
// SPDX-License-Identifier: CC0-1.0
2013-05-11 03:02:48 +02:00
typedef struct packed {
2026-03-10 02:38:29 +01:00
logic [1:0] b1;
logic [1:0] b2;
logic [1:0] b3;
logic [1:0] b4;
2013-05-11 03:02:48 +02:00
} t__aa_bbbbbbb_ccccc_dddddd_eee;
typedef struct packed {
2026-03-10 02:38:29 +01:00
logic [31:0] a;
union packed {
logic [7:0] fbyte;
t__aa_bbbbbbb_ccccc_dddddd_eee pairs;
} b1;
logic [23:0] b2;
logic [7:0] c1;
logic [23:0] c2;
logic [31:0] d;
2013-05-11 03:02:48 +02:00
} t__aa_bbbbbbb_ccccc_dddddd;
typedef struct packed {
2026-03-10 02:38:29 +01:00
logic [31:0] a;
logic [31:0] b;
logic [31:0] c;
logic [31:0] d;
2013-05-11 03:02:48 +02:00
} t__aa_bbbbbbb_ccccc_eee;
typedef union packed {
2026-03-10 02:38:29 +01:00
t__aa_bbbbbbb_ccccc_dddddd dddddd;
t__aa_bbbbbbb_ccccc_eee eee;
2013-05-11 03:02:48 +02:00
} t__aa_bbbbbbb_ccccc;
module t (
input t__aa_bbbbbbb_ccccc xxxxxxx_yyyyy_zzzz,
output logic [15:0] datao_pre
);
2026-03-10 02:38:29 +01:00
always_comb datao_pre = {xxxxxxx_yyyyy_zzzz.dddddd.b1.fbyte, xxxxxxx_yyyyy_zzzz.dddddd.c1};
2013-05-11 03:02:48 +02:00
endmodule