sv2v/test/core/multipack_delayed.sv

17 lines
456 B
Systemverilog

module mod(inp, out);
parameter COUNT = 4;
typedef struct packed {
logic a, b, c;
} struct_t;
typedef union packed {
logic [2:0] raw;
struct_t fields;
} union_t;
input union_t [COUNT - 1:0] inp;
output logic [COUNT - 1:0] out;
for (genvar i = 0; i < COUNT; i += 1)
always_comb
if ((inp[i].raw & 3'b011) != '0)
out[i] = inp[i].fields.a ^ inp[i].fields.b;
endmodule