parameter的数组用法?
时间:10-02
整理:3721RD
点击:
请教一下高手们,verilog中,parameter的用法,可不可以针对数组类型?
比如将寄存器数组 reg [2:0] mode[5:0],在reset信号来时赋一个固定不变的值,这样寄存器的value就跟CLK没有关系了,综合的时候会有warning的.
那我想不如将这些值,保存在parameter中.但问题是parameter的赋值,不能是数组型的吧?
parameter [2:0]
Mode[0] = 3'b000,
Mode[1] = 3'b001,
Mode[2] = 3'b010,
Mode[3] = 3'b011,
Mode[4] = 3'b100,
Mode[5] = 3'b101;
比如将寄存器数组 reg [2:0] mode[5:0],在reset信号来时赋一个固定不变的值,这样寄存器的value就跟CLK没有关系了,综合的时候会有warning的.
那我想不如将这些值,保存在parameter中.但问题是parameter的赋值,不能是数组型的吧?
parameter [2:0]
Mode[0] = 3'b000,
Mode[1] = 3'b001,
Mode[2] = 3'b010,
Mode[3] = 3'b011,
Mode[4] = 3'b100,
Mode[5] = 3'b101;
你的mode是用寄存器实现,寄存器的复位有异步复位和同步复位两种
当是同步复位的时候,是需要CLK才能在reset有效时复位的。
另,parameter定义的只是参数,不能实现成寄存器的。
建议lz增强硬件的意识
建议你回去好好语文,都没明白人家说什么呢,胡说些啥啊
人家难道不知道parameter 是定义参数的啊
直接parameter width = 1; 那这个width占多少位?是根据使用情况决定么?
可以parameter width = 4'b0001; width占4位吧
请指教~谢谢~

LZ,你有没有在verilog中采用parameter [7:0] TEMP[7:0]={};这种结构啊?我在仿真时没问题,但是DC时报错啊,你有没有遇到这种情况?
用过reg型二维数组,缺点是仿真时不方便观察波形,没用过parameter的二维数组。才看到这条信息,不知道你DC咋样了
