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