module top; typedef struct packed { int A; byte B; shortint C; } T; localparam T Q = '{ A: 1, B: 2, C: 3 }; if (1) begin : blk localparam T P = Q; logic [P.A - 1:0] a; logic [P.B - 1:0] b; logic [P.C - 1:0] c; end initial begin $display("%b", $bits(blk.a)); $display("%b", $bits(blk.b)); $display("%b", $bits(blk.c)); end endmodule