我在verilog
有一个模块,它有两个64位数字,这些数字是随机的,奇怪的是当我调试它时,fa
是正确的,从1开始,但是{{ 1}}从0开始!有人可以帮助我吗?
它有什么问题?!
fb
答案 0 :(得分:3)
此分配中存在位宽不匹配:
fb={one,b[51:0],12'b0};
左侧(LHS)为64位宽,但右侧(RHS)为65位宽。
LHS:
fb
是64位宽[63:0]。RHS:
one
是1位宽b[51:0]
是52位宽12'b0
是12位宽(1 + 52 + 12 = 65)
one
被忽略,因为fb [11:0] = 12'b0和fb [63:12] = b [51:0]。因此,如果b [51] = 0,则fb [63] = 0。
fa
也是如此。