System verilog 基于位位置解码压缩结构成员的名称

System verilog 基于位位置解码压缩结构成员的名称,system-verilog,System Verilog,我有一个用脚本生成的寄存器映射。模块的输出是一个巨大的压缩结构。这通常不是问题,但当我整理代码时,会收到如下警告: *W、 UNCONCO(./module_name.v,158):“reg[1415]”未连接 所以我可以看到我的一个寄存器位没有被使用,这很糟糕,但它是哪一个?如何将压缩结构中的位位置映射回命名结构成员 为了澄清这一点,我正在寻找某种函数,它将以位位置作为输入,并将结构成员名称作为输出返回 在压缩结构中,位从右向左编号,从0到N-1。所以,如果你有 typedef struct

我有一个用脚本生成的寄存器映射。模块的输出是一个巨大的压缩结构。这通常不是问题,但当我整理代码时,会收到如下警告:

*W、 UNCONCO(./module_name.v,158):“reg[1415]”未连接

所以我可以看到我的一个寄存器位没有被使用,这很糟糕,但它是哪一个?如何将压缩结构中的位位置映射回命名结构成员


为了澄清这一点,我正在寻找某种函数,它将以位位置作为输入,并将结构成员名称作为输出返回

在压缩结构中,位从右向左编号,从0到N-1。所以,如果你有

typedef struct packed {
logic sign;
logic [7:0] exponent;
logic [22:0] mantissa;
} Float32;

Float32 F;
然后


是的,我理解这一点,但在本例中,我的结构有数千个元素,因此我不确定是否有一种简单的方法可以将位#1415映射到结构的一个成员而不进行计数。
assert (F.sign === F[31]);
assert (F.exponent === F[30:23]);
assert (F.mantissa === F[22:0]);