Verilog中reg寄存器位宽[1:0]和[WIDTH-1:0]的区别?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Verilog中reg寄存器位宽[1:0]和[WIDTH-1:0]的区别?相关的知识,希望对你有一定的参考价值。

参考技术A 区别是[1:0]位宽是固定的,但是[Width-1:0]可以通过实例化这个模块的时候,重新定义width这个参数来改变宽度。

请问在FPGA Verilog设计中,使用关键字parameter定义常数有什么好处?

什么情况下会选择使用parameter?既然使用parameter定义的参数还可以通过defparam重新定义,那么它和reg类型就没有差别了啊?

参考技术A parameter主要用于修改 定义数据位宽的场景,比如
parameter BIT_WIDTH=8; 那么在例化该代码模块时,可以用 defparam 修改BIT_WIDTH=16 或是 BIT_WIDTH=4 去修改数据位宽、
抽象起来就是做一件衣服,通过paramter使得衣服可以变成L XL XXL
reg是模块内部使用的寄存器,声明可以是
reg [BIT_WIDTH-1:0] a_reg;
这里reg 使用paramter定义的BIT_WIDTH实现了数据变位宽的功能
如果还是以衣服为抽象,reg只是衣服上的纽扣本回答被提问者和网友采纳

以上是关于Verilog中reg寄存器位宽[1:0]和[WIDTH-1:0]的区别?的主要内容,如果未能解决你的问题,请参考以下文章

verilog求解释

请教Verilog 中memory 型数据的问题

请问一下各位verilog当中最多支持多少位的寄存器?这根具体芯片相关还是和verilog语言本身相关?

verilog中有谁用过用parameter定义的常数做赋值语句的位宽限制

verilog中reg和wire的区别

Verilog中wire与reg类型的区别