vhdl语言应用基础1(基本结构、数据类型).ppt
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《vhdl语言应用基础1(基本结构、数据类型).ppt》由会员分享,可在线阅读,更多相关《vhdl语言应用基础1(基本结构、数据类型).ppt(86页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第二章第二章VHDL语言应用基础语言应用基础参考书目及网络资源VHDL硬件描述语言与数字逻辑电路设计,硬件描述语言与数字逻辑电路设计,侯伯亨,西安电子科技大学出版社。侯伯亨,西安电子科技大学出版社。VHDL与数字电路设计与数字电路设计卢毅卢毅科学出版社科学出版社VerilogHDL硬件描述语言硬件描述语言清华大学出版社清华大学出版社CPLD技术及应用技术及应用宋万杰等宋万杰等西安电子科技大西安电子科技大学出版社学出版社可编程逻辑系统的可编程逻辑系统的VHDL设计技术设计技术KevinSkahill东南大学出版社东南大学出版社 ALTERA ALTERA可编程器件及其应用可编程器件及其应用刘宝琴
2、刘宝琴清华大清华大学出版社学出版社Xinlinx数字系统现场集成技术数字系统现场集成技术朱明程朱明程东南东南大学出版社大学出版社http:/http:/(学术科学/电路设计与调试版)dickhouhttp:/http:/PART 1HDLnVHDL具有强大的行为描述能力,丰富的仿真语句具有强大的行为描述能力,丰富的仿真语句和库函数,对设计的描述也具有相对独立性和库函数,对设计的描述也具有相对独立性nVerilog最大特点就是易学易用,语法比较自由最大特点就是易学易用,语法比较自由nABEL一种早期的硬件描述语言支持逻辑电路的多一种早期的硬件描述语言支持逻辑电路的多种表达形式,其中包括逻辑方程,
3、真值表和状态种表达形式,其中包括逻辑方程,真值表和状态图。图。nAHDL(AlteraHDL)是是ALTERA公司发明的公司发明的HDL,特点是非常易学易用,学过高级语言的人可以在特点是非常易学易用,学过高级语言的人可以在很短的时间(如几周)内掌握很短的时间(如几周)内掌握AHDL。它的缺点是它的缺点是移植性不好,通常只用于移植性不好,通常只用于ALTERA自己的开发系自己的开发系统统。VHDLVHDLVHDL语言最初于语言最初于1981年由美国国防部为解决所有电年由美国国防部为解决所有电子产品存档而提出的一种统一标准语言子产品存档而提出的一种统一标准语言,1983年至年至1985年年,由由I
4、BMIBM、TITI等公司对等公司对VHDLVHDL进行细致开发进行细致开发,1987年成为年成为IEEE IEEE 107687标准。标准。1993年年,修订版修订版IEEE IEEE 107693出台。随后出台。随后,IEEEIEEE分别提出分别提出IEEEIEEE1076.3(可综合标准可综合标准)和和IEEE IEEE 1076.4(标准标准),以以解决可综合解决可综合VHDLVHDL描述在不同描述在不同EDAEDA厂商之间的移植问厂商之间的移植问题题,以及以及ASICASIC/FPGAFPGA的门级库描述问题。的门级库描述问题。VERILOGVERILOGVERILOG语言最早由语言
5、最早由GATEWAYGATEWAY设计自动化公司设计自动化公司于于1981年提出年提出,并提供相应的并提供相应的VERILOGVERILOG仿真器。仿真器。1985年年,仿真器增强版仿真器增强版VERILOGVERILOG-XLXL推出。推出。CADENCECADENCE公司于公司于1989年收购年收购GATEWAYGATEWAY公司公司,并并于于1990年把年把VERILOGVERILOG语言推向市场语言推向市场,而保留了而保留了VERILOGVERILOG-XL的所有权。的所有权。1995年年,VERILOGVERILOG成成为为IEEE IEEE 1364标准。标准。就标准而言就标准而言
6、,两种语言并无优劣、先后可言。两种语言并无优劣、先后可言。至于设计者采用哪种语言至于设计者采用哪种语言,与设计者的习惯、喜与设计者的习惯、喜好以及目前好以及目前EDAEDA、FPGAFPGA行业的支持有关。由于行业的支持有关。由于VHDLVHDL在系统设计方面的语法支持在系统设计方面的语法支持,各各FPGAFPGA厂商对厂商对VHDLVHDL语言的支持明显多于语言的支持明显多于VerilogVerilog,这可从各厂这可从各厂商所提供的设计开发包中得到明证。而商所提供的设计开发包中得到明证。而VerilogVerilog由于在门级描述上的优势由于在门级描述上的优势,从而被众多的从而被众多的IC
7、IC设计设计人员所采用。人员所采用。VHDL&VERILOG常见的常见的HDLHDL工具工具FPGAExpress:VHDL/VerilogHDL综合软件,简单易用,但有人反映其对VerilogHDL的支持不够强,Synopsys公司出品。n nFPGACompilerIIVHDL/VHDL/VerilogHDLVerilogHDL综综合软件,合软件,SynopsysSynopsys公司出品公司出品n nQuartus:QuartusQuartusIIII是是AlteraAltera公司公司的综合性PLD开发软件,支持原理图、支持原理图、VHDLVHDL、VerilogHDLVerilogHD
8、L以及以及AHDLAHDL等等多种设计输入形式,内嵌自有的综合器以及仿真多种设计输入形式,内嵌自有的综合器以及仿真器,可以完成从设计输入到硬件配置的完整器,可以完成从设计输入到硬件配置的完整PLDPLD设计流程。设计流程。常见的常见的HDLHDL工具工具Synplify:VHDL/VerilogHDL综合软件。Synplicity公司出品。n nActiveHDLVHDL/VerilogHDL仿真软件,简单易用。Aldec公司出品n nModelsim:VHDL/VerilogHDL仿真软件,功能比ActiveHDL强大,使用比ActiveHDL复杂。Mentor公司出品。常见的常见的HDLH
9、DL工具工具NC-Verilog/NC-VHDL:Cadence公司出品,很好的Verilog/VHDL仿真工具,其中NC-Verilog的前身是著名的Verilog仿真软件:Verilog-XLn nStateCADStateCAD 状态机设计软件,通过画框图可自状态机设计软件,通过画框图可自动生成状态机的动生成状态机的VHDL,VerilogHDLVHDL,VerilogHDL,或或AHDLAHDL源源代码文件。对熟练掌握代码文件。对熟练掌握HDLHDL的人,实用价值不的人,实用价值不高高 n nX-HDLX-HDL:可实现可实现VHDLVHDL和和VerilogVerilog语言的相互自
10、动语言的相互自动转化转化 常见的常见的HDLHDL工具工具VisialVHDL/VisalVerilog:可视化的HDL/Verilog编辑工具,功能类似于Renoirn nRenoirRenoir 通过画框图来完成通过画框图来完成PLD/FPGAPLD/FPGA的系统设计,的系统设计,可自动生成部分可自动生成部分VHDL/VHDL/VerilogHDLVerilogHDL源代码文件,源代码文件,亦可由亦可由VHDL/VHDL/VerilogHDLVerilogHDL源代码生成原理框图。源代码生成原理框图。RenoirRenoir(输入),输入),Leonardo.SpectrumLeonar
11、do.Spectrum(综合)和综合)和ModelsimModelsim(仿真)构成了仿真)构成了MentorMentor公司引以为豪的公司引以为豪的VHDL/VHDL/VerilogHDLVerilogHDL完整开发系统:完整开发系统:FPGAFPGAAdvantageAdvantagePART 2The Basic Structure of VHDL HDL=hardwaredescriptionlanguageTextualHDLsreplacedgraphicalHDLsinthe1980ies(betterdescriptionofcomplexbehavior).1981年美国国防
12、部赞助了一个硬件描述语言年美国国防部赞助了一个硬件描述语言的工作组,的工作组,1983年形成了一个年形成了一个VHSIC(VeryHighSpeedIntegratedCircuits)硬件描述语硬件描述语言标准言标准(VHDL:VHSICHardwareDescriptionLanguage)1984:firstversionofthelanguagedefined,basedonADA(whichinturnisbasedonPASCAL)1987:revisedversionbecameIEEEstandard10761993:revisedIEEEstandardVHDL有过两个标准:
13、有过两个标准:IEEEStd1076-1987(calledVHDL1987)IEEEStd1076-1993(calledVHDL1993)morerecently:VHDL-AMS:includesanalogmodeling 由于由于VHDL的开发环境的主体是仿真的开发环境的主体是仿真模拟器(模拟器(simulator),VHDL的模拟与一般的模拟与一般语言的模拟有以下不同:语言的模拟有以下不同:1.模拟时间模拟时间需要强调的是,这一概念是模需要强调的是,这一概念是模拟所对应硬件的运行时间。它用时间步长规拟所对应硬件的运行时间。它用时间步长规定了相对时间、绝对时间等序列。程序按模定了相对
14、时间、绝对时间等序列。程序按模拟时间运行,相互间的延迟也按模拟时间计拟时间运行,相互间的延迟也按模拟时间计算。算。2.并发性并发性并发性是模拟时间应用中的重要并发性是模拟时间应用中的重要概念。例如,有几个加法器,他们随着模拟概念。例如,有几个加法器,他们随着模拟时间的增长并行工作。其中的每个加法器都时间的增长并行工作。其中的每个加法器都是在输入到来后就工作。这与硬件电路实际是在输入到来后就工作。这与硬件电路实际工作情况是一致的。工作情况是一致的。一个完整的VHDL语言程序通常包含实体实体(Entity)、构造体构造体(Architecture)、配配置置(Configuration)、包集合包
15、集合(Package)和库库(Library)5个部分。实体实体用于描述所设计的系统的外部接口信号;用于描述所设计的系统的外部接口信号;构造体构造体用于描述系统内部的结构和行为;用于描述系统内部的结构和行为;包集合包集合存放各设计模块都能共享的数据类型、存放各设计模块都能共享的数据类型、常数和子程序等;常数和子程序等;配置配置用于从库中选取所需单元来组成系统设用于从库中选取所需单元来组成系统设计的不同版本;计的不同版本;库库存放已经编译的实体、构造体、包集合和存放已经编译的实体、构造体、包集合和配置。配置。2.1 VHDL语言设计的基本单元及其构成语言设计的基本单元及其构成Acircuitor
16、subcircuitdescribedwithVHDLcodeiscalledadesignentity。Thegeneralstructureofanentityhastwomainparts:theentitydeclaration,whichspecifiestheinputandoutputsignalsfortheentity,andthearchitecture,whichgivesthecircuitdetails.VHDLfora2-to-1multiplexer由上面的例子可以看出,实体说明是二选一器件由上面的例子可以看出,实体说明是二选一器件外部引脚的定义;而构造体则描述了
17、二选一器件的逻外部引脚的定义;而构造体则描述了二选一器件的逻辑电路和逻辑关系。辑电路和逻辑关系。一、一、VHDL的基本结构的基本结构ENTITYnand_2IS-定义一个实体定义一个实体PORT(a,b:INSTD_LOGIC;-描述输入输出描述输入输出y:OUTSTD_LOGIC);-信号信号ENDnand_2;LIBRARYIEEE;-IEEE库说明库说明USEIEEE.STD_Logic_1164.ALL;-自定义元件库自定义元件库ARCHITECTURErtlOFnand_2ISBEGIN-结构体说明结构体说明y=NOT(aANDb);ENDrtl;1.USE定义区定义区2.PACKA
18、GE定义区定义区3.ENTITY定义区定义区4.ARCHITECTURE定义区定义区定义元件库定义元件库5.CONFIGURATION定义区定义区定义使用哪些自定义使用哪些自定义元件库定义元件库定义电路实体定义电路实体的外观的外观:I/O接接口的规格口的规格描述电路内部的描述电路内部的逻辑功能逻辑功能决定哪一个决定哪一个architecture被使用被使用1.VHDL基本结构图基本结构图2.2.ENTITY DECLARATION功能功能:描述设计模块的输入:描述设计模块的输入/输出信号或引脚,并给出输出信号或引脚,并给出设计模块与外界的接口。实体类似一个设计模块与外界的接口。实体类似一个“黑
19、盒黑盒”,实体,实体描述了描述了“黑盒黑盒”的输入输出口。的输入输出口。格式格式:ENTITY 实体名实体名ISGENERIC(类属表类属表););PORT(端口表端口表););ENDENTITY实体名实体名实际上,对实际上,对VHDL而言,大写小写都一而言,大写小写都一视同仁,不加区分。只是为了阅读方便,视同仁,不加区分。只是为了阅读方便,我们常常做一些区分。我们常常做一些区分。(1)The name of the entity实体名实体名实际上是器件名,最好根据相应的电路实际上是器件名,最好根据相应的电路功能确定。如功能确定。如4位位2进制计数器用进制计数器用counter4b;8位加法器
20、用位加法器用add8b;3/8译码器用译码器用ym_38。l实体名必须与文件名相同,否则无法编译实体名必须与文件名相同,否则无法编译。l实体名不能用工具库中定义好的元件名实体名不能用工具库中定义好的元件名。l实体名不能用中文,也不能用数字开头。实体名不能用中文,也不能用数字开头。l实体名必须以字母开头,不能以下划线结尾。实体名必须以字母开头,不能以下划线结尾。(2)GENERIC类属表:用以将信息参数传递到实体。类属表:用以将信息参数传递到实体。类属表的一般格式为:类属表的一般格式为:GENERIC(常数名:数据类型(常数名:数据类型:=设定值设定值)GENERIC(awidth:INTEGE
21、R:=3;timex:time);其中:其中:常数名常数名由设计者确定;由设计者确定;数据类型数据类型通常取通常取INTEGER或或time等;在表中提供时间参数、等;在表中提供时间参数、总线宽度等信息。总线宽度等信息。端口表:指明实体的输入、输出信号极其模式。端口表:指明实体的输入、输出信号极其模式。端口表的一般格式为:端口表的一般格式为:PORT(端口名:端口模式(端口名:端口模式数据类型数据类型)端口模式:端口模式:共四种:共四种:IN(输入)、(输入)、OUT(输出)、(输出)、INOUT(双向端口)(双向端口)、BUFFER(输出并向内部反馈)(输出并向内部反馈)(3)PORT数据类
22、型数据类型:VHDL作为一种强类型语言,必作为一种强类型语言,必须对数据对象(常量、变量、信号)规定取值须对数据对象(常量、变量、信号)规定取值范围,即对传输或存储数据的类型作明确的界范围,即对传输或存储数据的类型作明确的界定。定。EXAMPLEENTITYENTITYblack_boxblack_boxISIS GenericGeneric(constantconstantwidth:width:integerinteger:=7:=7;););PORTPORT(clk,rst:clk,rst:ININstd_logicstd_logic;d:d:ININstd_logic_vectorst
23、d_logic_vector(width(width DOWNTODOWNTO 0);0);q:q:OUTOUT std_logic_vectorstd_logic_vector(width(width DOWNTODOWNTO 0);0);co:co:OUTOUT std_logicstd_logic););ENDENDblack_box;black_box;黑盒黑盒黑盒黑盒rstrstd7:0d7:0clkclkq7:0q7:0coco关键字关键字类属参量类属参量端口定义端口定义端口模式端口模式端口模式端口模式 端口数端口数端口数端口数据类型据类型据类型据类型实体结束实体结束Exercis
24、e 1编写包含以下内容的实体代码编写包含以下内容的实体代码端口端口D为为12位输入总线位输入总线端口端口OE和和CLK都是都是1位输入位输入端口端口AD为为12位双向总线位双向总线端口端口A为为12位输出总线位输出总线端口端口INT是是1位输出位输出端口端口AS是一位输出同时被用作内部反馈是一位输出同时被用作内部反馈my_designd11:0oeclkad11:0a11:0intasanswerLIBRARYieee;LIBRARYieee;USEieee.std_logic_1164.ALL;USEieee.std_logic_1164.ALL;ENTITYmy_designISENTIT
25、Ymy_designISPORT(PORT(d:d:ININstd_logic_vector(11DOWNTO0);std_logic_vector(11DOWNTO0);oe,clk:oe,clk:ININstd_logic;std_logic;ad:ad:INOUTINOUTstd_logic_vector(11DOWNTOstd_logic_vector(11DOWNTO0);0);a:a:OUTOUT std_logic_vector(11DOWNTO0);std_logic_vector(11DOWNTO0);int:int:OUTOUT std_logic;std_logic;as
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- vhdl 语言 应用 基础 基本 结构 数据类型
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内