【问题标题】:size of a field in an structure结构中字段的大小
【发布时间】:2018-05-31 22:33:35
【问题描述】:

有没有办法获取结构中字段的大小?例如,$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;

【问题讨论】:

    标签: structure system-verilog bits


    【解决方案1】:

    不能引用一个类型的字段。您也不能在定义之前引用类型。

    可以引用变量或参数的字段。

    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
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-06-30
      • 2017-08-19
      • 2012-08-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-09-27
      • 1970-01-01
      相关资源
      最近更新 更多