自学内容网 自学内容网

Verilog HDL 基本概念

Verilog HDL 基本要素

常量

Verilog 中的常量(Constant) 有三种: 整数、实数、字符串

在这里插入图片描述

一些整数常数:

8'b11000101 // 宽度为8位的二进制数,数值为 11000101, 等于十进制的197
8‘h8a      // 宽度为8位的十六进制,数值为8a,等于十进制的138
5'027      // 宽度为5位的八进制,数值为27,等于十进制的23
4'd10      // 宽度为4位的十进制,数值为10

如果没有明确指明,那么默认是十进制数

变量声明与数据类型

图例

在这里插入图片描述

数据类型可以是 net 型、variable 型

net 型变量

net 型相当于硬件电路中各种物理连接,其特点是输出的值紧跟输入值的变化而变化

在这里插入图片描述

wire 是最常用的 net 型变量,Verilog HDL 模块中的输入、输出信号在没有明确指定数据类型时,都被默认为 wire型

wire 型信号可以用作任何表达式的输入,也可以用作 assign 语句和实例元件的输出,如Z,其中0表示低电平、逻辑0;1表示高电平、逻辑1

Z表示高阻态。如果没有赋值,默认为高阻态Z

variable 型变量

variable 型变量是可以保存上次写入数据的数据类型,一般对应硬件上的一个触发器或锁存器等存储元件,但并不是绝对的,在综合器综合的时候,会根据其被赋值来具体确定是映射成连线还是映射为存储元件

variable 型变量也包括多种类型

在这里插入图片描述

variable 型变量必须在过程语句(inital 或 always )中实现赋值,这种赋值方式称为过程赋值

向量

在这里插入图片描述

变量声明格式中的位狂如果为1,那么对应的变量为标量,如果不为1,那么对应的变量为向量,默认为标量。向量的位宽用下面的形式定义

[MSB:LSB]

冒号左边的数字表示向量的最高有效位MSB(Most Significant Bit),冒号右边的数字表示向量的最低有效位LSB(Least Significant Bit)

例如:

wire [3:0] bus; // 4位的 wire 型bus,其中bus[3]是最高位,bus[0]是最低位
reg [31:5] ra;  // 27位的reg型向量ra,其中ra[31]是最高位,ra[5]是最低位
reg [0:7] rc;   // 8位的reg型向量rc, 其中 rc[0]是最高位,rc[7] 是最低位

向量有两种,一种是向量类向量,另一种是标量类向量,可以使用关键字区分

wire vectored [7:0] databus;    // 使用关键字 vectored,表示是向量类向量
reg scalared [31:0] rega;       // 使用关键字 scalared,表示是标量类向量

如果没有明确指出,那么默认是标量类向量,对标量类向量可以任意选中其中的一位或相邻几位,分别称为位选择(bit-select) 或域选择(part-select)

A = rega[6];    // 位选择,将向量 rega 的其中一位赋值给变量A
B = rega[5:2];  // 域选择,将向量 rega 的第5、4、3、2 位赋值给变量B

存储器可看作二维的向量。如下就是一个存储器的定义,定义了一个深度为64,每个元素宽度为32bit的存储器

reg [31:0] mem[63:0];   // mem 是深度为64,字长为 32bit的存储器

运算符

Verilong HDL 中定义的运算符包括: 算术运算符、逻辑运算符、位运算符、关系运算符、等式运算符、缩位运算符、移位运算符、条件运算符和拼接运算符

算法运算符

运算符含义
+加法
-减法
*乘法
/除法
%求余

逻辑运算符

运算符含义
&&逻辑与
逻辑非

位运算符

运算符含义
按位取反
&按位与
^按位异或
~^ 或 ^~按位同或

关系运算符

运算符含义
<小于
<=小于等于
>大于
>=大于等于

等式运算符

运算符含义
==等于
!=不等于
===全等
!==不全等

缩位运算符

运算符含义
&
~&与非
|
~|或非
^异或
~^ 或^~同或

移位运算符

运算符含义
>>右移
<<左移

条件运算符

运算符含义
?:条件运算

位拼接运算符

运算符含义
{ }拼接

总结

(1) 等式运算


原文地址:https://blog.csdn.net/weixin_40398522/article/details/140511120

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!