bit[2:0] size;
bit[2:0] num;
bit[59:0] data;
data = 60'h12345;
num = 3'h1;
size = 3'h1;
data = {(num+1){data[(size+1)*10-1:0]}};/Error-IRIPS部分非法范围-选择/警告-WUIMCM未知在多目标乘法器中
我该怎么解决这些问题?
发布于 2021-11-08 04:11:36
SystemVerilog不允许操作数中的可变宽度。您需要创建一个掩码来选择data变量的部分,并且需要使用aa for循环进行复制。
bit [59:0] data_select = data;
data_select &= (61'b1 << (size+1)*10) - 1;
for(int i=0;i<num+1;i++) begin
data <<= (size+1)*10;
data |= data_select;
endhttps://stackoverflow.com/questions/69878427
复制相似问题