根据位位置

时间:2016-03-25 20:55:28

标签: system-verilog

我有一个用脚本生成的寄存器映射。模块的输出是一个巨大的打包结构。这通常不是问题,但是当我提示我的代码时,我收到这样的警告:

  

* W,UNCONO(./module_name.v,158)::'reg [1415]'未连接。

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

澄清我正在寻找某种类型的函数,它将位置作为输入并返回结构成员名称作为输出。

1 个答案:

答案 0 :(得分:0)

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

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

Float32 F;

然后

assert (F.sign === F[31]);
assert (F.exponent === F[30:23]);
assert (F.mantissa === F[22:0]);