Verilog语法入门

简介: Verilog HDL是一种硬件描述语言(HDL:Hardware Description Language),以文本形式来描述数字系统硬件的结构和行为的语言,用它可以表示逻辑电路图、逻辑表达式,还可以表示数字逻辑系统所完成的逻辑功能。 Verilog HDL和VHDL是世界上最流行的两种硬件描述语言,都是在20世纪80年代中期开发出来的。前者由Gateway Design Automation公司(该公司于1989年被Cadence公司收购)开发。两种HDL均为IEEE标准。

Verilog HDL是一种硬件描述语言(HDL:Hardware Description Language),以文本形式来描述数字系统硬件的结构和行为的语言,用它可以表示逻辑电路图、逻辑表达式,还可以表示数字逻辑系统所完成的逻辑功能。 Verilog HDL和VHDL是世界上最流行的两种硬件描述语言,都是在20世纪80年代中期开发出来的。前者由Gateway Design Automation公司(该公司于1989年被Cadence公司收购)开发。两种HDL均为IEEE标准。

Verilog可以从五个层次对电路(系统)进行描述,包括:系统级、算法级、寄存器传输级(即RTL级)、门级、开关级。我们平时用的最多的为RTL级,故Verilog代码也经常被称为RTL代码。

在笔者看来,掌握一门语言最快速的方法就是在实际应用中去学习,Verilog HDL也不例外。下面我们就通过一系列实例来学习Verilog HDL。

简单组合逻辑电路

对于逻辑表达式:

网络异常,图片无法展示
|

其电路图如下所示:

网络异常,图片无法展示
|

Verilog代码如下:

网络异常,图片无法展示
|

语法说明

module/endmodule :表征模块的开始与结束。

example :模块名可由用户指定,可包含字母、数字及下划线,需以字母开头,区分大小写

assign :赋值操作关键字,该关键字后可跟一个赋值表达式,该关键字是实现组合逻辑操作的一种主要描述方式。

input/output :表征该信号的方向,除输入、输出外还有一种inout(输入输出)型。

操作符

~按位取反、&按位与、|按位或

常用操作符及其优先级:

网络异常,图片无法展示
|

建议大家在写代码时,在适当的地方加上括号,以增加可读性。

综合后电路:

网络异常,图片无法展示
|

上图是综合工具生成的电路图,大家可以自行化简上述电路,看是否等价。

相关文章
|
C语言
(保姆级)一篇搞懂分支语句
(保姆级)一篇搞懂分支语句
193 6
VS中出现的printf,scanf等函数不安全而报错的问题的全面解决方法
VS中出现的printf,scanf等函数不安全而报错的问题的全面解决方法
1313 0
|
SQL 容灾 关系型数据库
让X不断延伸, 从跨AZ到跨Region再到跨Cloud
本文从“空间”这一维度,聊一聊PolarDB-X在跨空间部署能力上的不断发展和延伸,以及在不同空间范围下的高可用和容灾能力,并着重介绍一下最新的产品能力——GDN(Global Database Network)。
8676 23
|
算法 C语言 芯片
计算机基础(1)——Verilog语法入门
计算机基础(1)——Verilog语法入门
409 0
|
存储 程序员 编译器
初级C语言之【函数】(一)
初级C语言之【函数】(一)
114 0
|
存储 编译器 程序员
int 和 long 的区别
int 和 long 的区别
|
C语言
C语言进阶——sprintf与sscanf、文件的随机读写(fseek、ftell、rewind)
C语言进阶——sprintf与sscanf、文件的随机读写(fseek、ftell、rewind)
139 0
|
Unix Docker 容器
Win10 WSL运行docker报错:Cannot connect to the Docker daemon at unix:///var/run/docker.sock.
Win10 WSL运行docker报错:Cannot connect to the Docker daemon at unix:///var/run/docker.sock.
1155 0
Win10 WSL运行docker报错:Cannot connect to the Docker daemon at unix:///var/run/docker.sock.
|
数据安全/隐私保护 Python
rootwrap 权限控制
rootwrap 权限控制
149 0