论坛» 嵌入式开发» FPGA

Verilog中有这个语法吗?

助工
2012-06-24 13:03 1楼

看一个Verilog写的例程,有下面这样一句:
rd0[nd_i*MEMORY_WIDTH+:MEMORY_WIDTH]
没看明白这是什么意思,求大神帮忙解释一下。。

高工
2012-06-24 16:49 2楼
rd0这东西(寄存器或线)的“多少位”到(:)“多少位” 我是这么理解的
菜鸟
2013-04-24 18:32 3楼
有!!这种定义方法是verilog2001上面刚加上去的,意思是rd0的最高位是MEMORY_WIDTH加上nd_i乘MEMORY_WIDTH,最低位是MEMORY_WIDTH 比如:parameter MEMORY_WIDTH=5; reg [+8:MEMORY_WIDTH] 等同于 reg [13:8] 但是里面的只能是常数 不可以世变量 不知道这样解释可以不?
助工
2013-04-27 10:57 4楼
意思就是和C语言里的“+=”用法相似的,是吧?比如:a+=b就是a=a+b这样子?
菜鸟
2013-05-06 21:32 5楼
好像是二楼说的那样,俺也是这么理解的
高工
2020-04-22 15:11 6楼

学习

共6条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册]