在verilog HDL中 定义寄存器的一般写法是:
A[B:C],其中B和C是常数。但是在有些情况下需要B和C是变量,例如A[X:Y],X和Y都是变量,使用这种写法,编译会报错。
修正方法:
当需要定义A[X:Y]时,可以换一种定义方式,A[BASE+ : WIDTH] / A[BASE- : WIDTH],则此时允许BASE改变,但是WIDTH是常数
在systemverilog中[(320i) + : 320]表示意义如下:
+:表示由320i向上增长320位,也就是(320i+320 : 320i)