Verilog报错

Range must be bounded by constant expressions.
报错原因:for循环中axi_wdata[31:0] <= data[32*(i+1) : 32*i];
解决办法:axi_wdata[31:0] <= data[31: 0];
data <= data>>32;
逻辑右移>>
算术右移>>
另外在Verilog-2001中,可以用变量作为index,进行部分数据选择。具体操作为:
[base_expr +: width_expr] //positive offset
[base_expr -: width_expr] //negative offset

其中base_expr可以是变量,而width_expr必须是常量。+:表示由base_expr向上增长width_expr位,-:表示由base_expr向下递减width_expr位。
而在Verilog-1995中,选择部分位进行输出时,前后index位必须是常量。
参考:
https://blog.csdn.net/u013701860/article/details/52317614

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值