我有一个用脚本生成的寄存器映射。模块的输出是一个巨大的打包结构。这通常不是问题,但是当我提示我的代码时,我收到这样的警告:
* W,UNCONO(./module_name.v,158)::'reg [1415]'未连接。
所以我可以看到我的一个寄存器位没有被使用,这很糟糕,但它是哪一个?如何将打包结构中的位位置映射回指定的struct成员?
澄清我正在寻找某种类型的函数,它将位置作为输入并返回结构成员名称作为输出。
答案 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]);