首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何修正“错误:部分选择中的非法范围”?

如何修正“错误:部分选择中的非法范围”?
EN

Stack Overflow用户
提问于 2021-11-08 03:38:59
回答 1查看 1.9K关注 0票数 1
代码语言:javascript
运行
复制
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未知在多目标乘法器中

我该怎么解决这些问题?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-11-08 04:11:36

SystemVerilog不允许操作数中的可变宽度。您需要创建一个掩码来选择data变量的部分,并且需要使用aa for循环进行复制。

代码语言:javascript
运行
复制
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;
end
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69878427

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档