谁能帮忙看下这个verilog语法代表什么意思?

u010468899 2017-07-23 01:23:57
最近在看《基于FPGA的图像处理原理及应用》,
在某一章看到了如下一个语句:
assign din_temp[j] = din[DW_PER_FIFO*(j+1)-1-:DW_PER_FIFO] ;

这里的“din[DW_PER_FIFO*(j+1)-1-:DW_PER_FIFO]” 是个什么表达形式?
“-1-:” 这是什么鬼,代表什么意思呢?以前从来没有遇到过。


哪位高手能帮忙解答下,谢谢。
...全文
524 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
hsusea 2017-08-21
  • 打赏
  • 举报
回复
DW_PER_FIFO代表的位宽,1后的-号代表从本位往下数DW_PER_FIFO个数。 例如DW_PER_FIFO为8,当j=1时,din[DW_PER_FIFO*(j+1)-1-:DW_PER_FIFO]为din[8*(1+1)-1-:8],进一步化简din[15:8] 例如DW_PER_FIFO为4,当j=0时,din[DW_PER_FIFO*(j+1)-1-:DW_PER_FIFO]为din[4*(0+1)-1-:4],进一步化简din[3:0]
snowgirl02 2017-07-25
  • 打赏
  • 举报
回复
din的位宽截取的一种写法,从DW_PER_FIFO*(j+1)-1位截取DW_PER_FIFO位,低位放弃。
江鸟的坚持 2017-07-24
  • 打赏
  • 举报
回复
这个编译已经通过了是吧,后面我估计是减1再减。。。吧

6,125

社区成员

发帖
与我相关
我的任务
社区描述
硬件/嵌入开发 硬件设计
社区管理员
  • 硬件设计社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧