9 硬件描述语言简介.ppt

9 硬件描述语言简介.ppt

ID:48413723

大小:359.50 KB

页数:33页

时间:2020-01-19

9 硬件描述语言简介.ppt_第1页
9 硬件描述语言简介.ppt_第2页
9 硬件描述语言简介.ppt_第3页
9 硬件描述语言简介.ppt_第4页
9 硬件描述语言简介.ppt_第5页
资源描述:

《9 硬件描述语言简介.ppt》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、第九章硬件描述语言简介9.1概述9.2VerilogHDL简介9.3用VerilogHDL描述逻辑电路的实例7/18/202119.1概述硬件描述语言HDL(HardwareDescriptionLanguage)是一种用形式化方法来描述数字电路和数字逻辑系统的语言。数字逻辑电路设计者可利用这种语言来描述自己的设计思想,然后利用EDA工具进行仿真,再自动综合到门级电路,最后用ASIC或FPGA实现其功能。7/18/20212举个例子,在传统的设计方法中,对2输入的与门,我们可能需到标准器件库中调个74系列的器件出来,但在硬件描述语言中,“&”就是一个与门的形式描述,“C=A&

2、B”就是一个2输入与门的描述。而“and”就是一个与门器件。硬件描述语言发展至今已有二十多年历史,当今业界的标准中(IEEE标准)主要有VHDL和VerilogHDL这两种硬件描述语言。7/18/20213在数字电路设计中,数字电路可简单归纳为两种要素:线和器件。线是器件管脚之间的物理连线;器件也可简单归纳为组合逻辑器件(如与或非门等)和时序逻辑器件(如寄存器、锁存器、RAM等)。一个数字系统(硬件)就是多个器件通过一定的连线关系组合在一块的。因此,VerilogHDL的建模实际上就是如何使用HDL语言对数字电路的两种基本要素的特性及相互之间的关系进行描述的过程。9.2Ver

3、ilogHDL简介7/18/20214模块(module)是Verilog的基本描述单位,用于描述某个设计的功能或结构及与其他模块通信的外部端口。模块在概念上可等同一个器件就如我们调用通用器件(与门、三态门等)或通用宏单元(计数器、ALU、CPU)等,因此,一个模块可在另一个模块中调用。一个电路设计可由多个模块组合而成,因此一个模块的设计只是一个系统设计中的某个层次设计,模块设计可采用多种建模方式。模块(module)7/18/20215三个描述层次开关级描述:描述电阻、晶体管以及它们之间的相互连线关系。门级描述:描述基本逻辑门、触发器以及相互连线关系。寄存器传输级(RTL)

4、描述:描述寄存器以及它们之间的数据传递关系。7/18/20216VerilogHDL允许一个设计中每个模块均在不同设计层次上建模。7/18/202179.2.1基本程序结构module();endmodule7/18/20218几个简单事例:例[1]加法器moduleaddr(a,b,cin,cout,sum);input[2:0]a;input[2:0]b;inputcin;outputcout;output[2:0]sum;assign{cout,sum}=a+b+cin;e

5、ndmodule7/18/20219例[2]比较器modulecompare(equal,a,b);input[1:0]a,b;//declaretheinputsignal;outputequare;//declaretheoutputsignal;assignequare=(a==b)?1:0;/*ifa=b,output1,otherwise0;*/endmodule几个简单事例:7/18/202110modulemytri(din,d_en,d_out);inputdin;inputd_en;outputd_out;assignd_out=d_en?din:'bz;e

6、ndmodulemoduletrist(din,d_en,d_out);inputdin;inputd_en;outputd_out;mytriu_mytri(din,d_en,d_out);Endmodule例[3]三态驱动器几个简单事例:7/18/202111通过上面的实例可看出,一个设计是由一个个模块(module)构成的。一个模块的设计如下:1、模块内容是嵌在module和endmodule两个语句之间。每个模块实现特定的功能,模块可进行层次的嵌套,因此可以将大型的数字电路设计分割成大小不一的小模块来实现特定的功能,最后通过由顶层模块调用子模块来实现整体功能,这就是T

7、op-Down的设计思想,如例[3]。2、模块包括接口描述部分和逻辑功能描述部分。这可以把模块与器件相类比。模块的结构:7/18/202112模块的端口定义部分:如上例:moduleaddr(a,b,cin,count,sum);其中module是模块的保留字,addr是模块的名字,相当于器件名。()内是该模块的端口声明,定义了该模块的管脚名,是该模块与其他模块通讯的外部接口,相当于器件的pin。模块的内容,包括I/O说明,内部信号、调用模块等的声明语句和功能定义语句。I/O说明语句如:input[2:

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

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

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