如何使用变量值定义寄存器宽度 [英] how can we define register width with variable value
本文介绍了如何使用变量值定义寄存器宽度的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我在初始块中获取了一个计数器变量‘n’,我计算了一些值。在计算之后,我想用这个作为一些‘reg a’的宽度。 所以我可以声明可以注册为reg[n:0]a吗? 当我尝试这样做时,它给出了一个错误,r不是常量...有什么方法可以解决这个问题
推荐答案
不,您不能这样做。Verilog描述意味着要转换成某种类型的电子电路,而这些电路不能动态更改其总线的位数。
您所能做的就是用将使用的最大宽度定义a
,然后使用n
值相应的位数
reg
。这与定义具有可变宽度的reg
不同,因为参数的值必须在编译时已知。
这篇关于如何使用变量值定义寄存器宽度的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文