第4节 信号类型
Verilog HDL 的信号类型有很多种,主要包括两种数据类型:线网类型(net type) 和寄存器类型( reg type)。在进行工程设计的过程中也只会使用到这两个类型的信号。
4.1 信号位宽
定义信号类型的同时,必须定义好信号的位宽。默认信号的位宽是 1 位,当信号的位宽为 1 时可不表述,如定义位宽为 1 的 wire 型信号 a 可直接用“ wire a;”来表示。 但信号的位宽大于 1 位时就一定要表示出来,如用“ wire [7:0]”来表示该 wire 型信号的位宽为 8 位(位宽数从0开始计)。
信号的位宽取决于要该信号要表示的最大值。该信号能表示的无符号数最大值是: 2n-1,其中n表示该信号的位宽。例如,信号 a 的最大值为 1000,那么信号 a 的位宽必须大于或等于 10 位。
下面分享一个位宽计算技巧:打开电脑的“计算器” 后选用程序员模式,在在 10 进制下输入信号值,如 1000,随后可以查看信号位宽。
4.2 线网类型 wire
线网类型用于对结构化器件之间的物理连线的建模, 如器件的管脚,芯片内部器件如与门的输出等。由于线网类型代表的是物理连接线,因此其不存储逻辑值,必须由器件驱动。通常用 assign 进行赋值, 如 assign A = B ^ C。
wire 类型定义语法如下:
wire [msb: lsb] wire1, wire2, . . .,wireN;
msb 和 lsb 定义了范围,表示了位宽。例如[7:0]是 8 位位宽,也就是可以表示成 8’b0 至 8’b1111_1111;
msb 和 lsb 必须为常数值;
如果没有定义范围,缺省值为 1 位;
没有定义信号数据类型时,缺省为 wire 类型。
注意数组类型按照降序方式,如[7: 0] , 不要写成[0:7]。
下面对上述情况进行举例说明:
wire [3:0] Sat; // Sat 为 4 位线型信号
wire Cnt; //1 位线型信号
wire [31:0] Kisp, Pisp, Lisp ;// Kisp, Pisp, Lisp 都是 32 位的线型信号。
4.3 寄存器类型 reg
reg 是最常用的寄存器类型,寄存器类型通常用于对存储单元的描述,如 D 型触发器、 ROM等。寄存器类型信号的特点是在某种触发机制下分配了一个值,在下一触发机制到来之前保留原值。但必须注意的是: reg 类型的变量不一定是存储单元,如在 always 语句中进行描述的必须是用 reg类型的变量。
reg 类型定义语法如下:
reg [msb: lsb] reg1, reg2, . . . reg N;
msb 和 lsb 定义了范围,表示了位宽。例如[7:0]是 8 位位宽,也就是可以表示成 8’b0 至 8’b1111_1111;
msb 和 lsb 必须为常数值;
如果没有定义范围,缺省值为 1 位;
没有定义信号数据类型时,缺省为 wire 类型,不是 reg 型。
对数组类型按照降序方式,如[7: 0] ;不要写成[0:7]。
例如:
reg [3:0] Sat; // Sat 为 4 位寄存器型信号。
reg Cnt; //1 位寄存器。
reg [31:0] Kisp, Pisp, Lisp ; // Kisp, Pisp, Lisp 都是 32 位的寄存器型信号。
4.4 wire 和 reg 的区别
reg 型信号并不一定生成寄存器。 针对什么时候使用 wire 类型,什么时候用 reg 类型这一问题,本书总结出一套解决方法:在 本模块中使用 always 设计的信号都定义为 reg 型, 其他信号都定义为 wire 型 。
上述代码中, cnt1 是用 always 设计的,所以定义为 reg 型。 add_cnt1 和 end_cnt 不是由 always 产生的,所以定义为 wire 型。
上述代码中,信号 x 是用 always 设计的,所以要定义为 reg 型。注意: 实际的电路中信号 x 不是寄存器类型,但仍然定义为 reg 型。
以上是例化的代码,其中 df 是例化模块的输出。由于 df 不是由 always 产生的,而是例化产生的, 因此要定义成 wire 型。
————————————————
版权声明:本文为CSDN博主「原来如此呀」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/Royalic/article/details/121151985
-
寄存器
+关注
关注
31文章
5300浏览量
119856 -
数据
+关注
关注
8文章
6830浏览量
88752 -
Verilog
+关注
关注
28文章
1343浏览量
109928
发布评论请先 登录
相关推荐
评论