有没有办法获得结构中字段的大小?例如,$ bits不起作用。任何其他方法?
localparam L_DATA_BITS = $bits(pkt_char_t.length);
typedef struct packed {
logic [15:0] checksum;
logic [3:0] offload_flags;
logic length_err;
logic [13:0] length;
} pkt_char_t;
答案 0 :(得分:0)
您无法引用某个类型的字段。在定义之前,您也无法引用类型。
你可以引用变量或参数的字段。
module top;
typedef struct packed {
logic [15:0] checksum;
logic [3:0] offload_flags;
logic length_err;
logic [13:0] length;
} pkt_char_t;
pkt_char_t pkt_char;
localparam int L_DATA_BITS = $bits(pkt_char.length);
initial $display(L_DATA_BITS);
endmodule