VerilogHDL语言的基本结构

VerilogHDL语言的基本结构

ID:41364312

大小:325.31 KB

页数:52页

时间:2019-08-23

VerilogHDL语言的基本结构_第1页
VerilogHDL语言的基本结构_第2页
VerilogHDL语言的基本结构_第3页
VerilogHDL语言的基本结构_第4页
VerilogHDL语言的基本结构_第5页
资源描述:

《VerilogHDL语言的基本结构》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第四章现场可编程逻辑器件的应用设计技术4.1VerilogHDL硬件描述语言1.简单的VerilogHDL例子首先来看两个简单的VerilogHDL程序。一个8位全加器的VerilogHDL源代码:moduleadder8(cout,sum,ina,inb,cin);output[7:0]sum;outputcout;input[7:0]ina,inb;inputcin;assign{cout,sum}=ina+inb+cin;endmodule1.简单的VerilogHDL例子从上面的例子可以看出:1.VerilogHDL巳程序是由模块构

2、成的。每个模块的内容都是嵌在module和endmodule两个语句之间,每个模块实现特定的功能,模块是可以进行层次嵌套的。2.每个模块首先要进行端口定义.并说明输入(input)和输出(output),然后对模块的功能进行逻辑描述。3.VerilogHDL程序的书写格式自由,一行可以写几个语句,一个语句也可以分多行写。1.简单的VerilogHDL例子4.除了endmodule语句外,每个语句的最后必须有分号。5.可以用/*……*/和//……对VerilogHDL程序的任何部分作注释。一个完整的源程序都应当加上必要的注释,以增强程序的可读

3、性和可维护性。6.大小写敏感;7.所有的关键字小写;2.VerilogHDL模块的结构VerilogHDL的基本设计单元是“模块(block)”。一个模块是由两部分组成的,一部分描述接口;另一部分描述逻辑功能,即定义输入是如何影响输出的。下面举例说明一个“与—或—非”门电路。2.VerilogHDL模块的结构该电路表示的逻辑函数可以写为:用VerilogHDL语言对该电路进行描述如下。moduleE1(A,B,C,D,F);//模块名为E1(端口列表A,B,C,D)inputA,B,C,D;//定义模块的输入端口A,B,C,DoutputF

4、;//定义模块的输出端口FassignF=~((A&B)

5、(C&D));//模块内的逻辑描述endmodule2.VerilogHDL模块的结构从上面的例子可知,电路图符号的引脚也就是程序模块的端口,在程序模块内描述了电路图符号所实现的逻辑功能。在上面的Verilog设计中,模块中的第2、第3行说明接口的信号流向,第4行说明了模块的逻辑功能。VerilogHDL结构完全嵌在module和endmodule声明语句之间,每个Verilog程序包括4个主要部分:端口定义,I/O说明,信号类型声明和功能描述。2.VerilogHDL模块的结构模块

6、的端口定义模块的端口声明了模块的输入和输出口。其格式如下:module模块名(口1,口2,口3,……);模块内容模块内容包括I/O说明,信号类型声明和功能定义,(1)I/O说明的格式如下:2.VerilogHDL模块的结构输入口:input[信号位宽-1:0]端口名;input[信号位宽-1:0]端口名1,端口名2,…端口名N;输出口:output[信号位宽-1:0]端口名;output[信号位宽-1:0]端口名1,端口名2,…端口名N;输入/输出口:inout[信号位宽-1:0]端口名;inout[信号位宽-1:0]端口名1,端口名2,…

7、端口名N;I/O说明的格式2.VerilogHDL模块的结构常用的形式为:reg[位宽-1:0]变量1,变量2,…变量N;wire[位宽-1:0]变量1,变量2,…变量N;(2)信号类型声明:它是说明逻辑描述中所用信号的数据类型及函数声明。2.VerilogHDL模块的结构对于端口信号的缺省定义类型为wire(连线)型。如:input[1:0]a,b;output[2:0]sum;wire[1:0]a;//a为连线型;reg[2:0]sum;//sum为寄存器型;……………..//b缺省为连线型;2.VerilogHDL模块的结构在一个模块

8、的开始部分包含模块的端口声明和端口类型声明。Verilog2001标准可以将这两部分合而为一。增强的端口声明实例:moduleaddr(a,b,sum);inputwire[1:0]a,b;outputreg[2:0]sum;…………2.VerilogHDL模块的结构Verilog2001标准允许定义模块时就声明端口及其类型:例如:moduleaddr(inputwire[1:0]a;inputwire[1:0]b;outputreg[2:0]sum);………….3.逻辑功能定义逻辑功能描述部分是对数字电路系统的建模,是VerilogHDL

9、模块中最重要也是最复杂的部分。但其最基本的描述方式只有三种:always、assign和创建模块实例。一个VerilogHDL模块允许使用一种或多种方式描述逻辑功能。3.逻辑功能

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。