第3讲VHDL语言及应用.ppt





《第3讲VHDL语言及应用.ppt》由会员分享,可在线阅读,更多相关《第3讲VHDL语言及应用.ppt(257页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第三讲 VHDL语言及应用目目录录一一.VHDL语言概语言概述述二二.VHDL基本结构基本结构三三.VHDL语法规则语法规则四四.VHDL中的顺序语句中的顺序语句六六.子程序及其调用子程序及其调用七七.状态机的状态机的VHDL设计设计五五.VHDL中的并行语句中的并行语句第三讲 VHDL语言及应用一一.VHDL语言概语言概述述1.什么是什么是VHDL?VHDL:VHSIC(VeryHighSpeedIntegratedCircuit)HardwareDescriptionLanguage第三讲 VHDL语言及应用2.VHDL的历史的历史80年代初由美国国防部在实施超高速集成电路年代初由美国国防
2、部在实施超高速集成电路(VHSIC)项目时开发的。项目时开发的。1987年由年由IEEE协会批准为协会批准为IEEE工业标准,称工业标准,称为为IEEE1076-1987。各各EDA公司相继推出支持公司相继推出支持VHDL的设计环境。的设计环境。1993年被更新为年被更新为93标准,即标准,即IEEE1076-1993。进一步提高抽象描述层次,扩展系统描述能进一步提高抽象描述层次,扩展系统描述能力。力。第三讲 VHDL语言及应用3.VHDL的作用的作用1)VHDL打破软、硬件的界限打破软、硬件的界限传统的数字系统设计分为:传统的数字系统设计分为:硬件设计(硬件设计人员)硬件设计(硬件设计人员)
3、软件设计(软件设计人员)软件设计(软件设计人员)是电子系统设计者和是电子系统设计者和EDA工具之间的界面工具之间的界面第三讲 VHDL语言及应用2)VHDL与与C、C+的比较:的比较:C、C+代替汇编等语言代替汇编等语言VHDL代替原理图、逻辑状态图等代替原理图、逻辑状态图等第三讲 VHDL语言及应用电路原理图描述必须给出完整的、具体的电路电路原理图描述必须给出完整的、具体的电路结构图,不能进行抽象描述。描述繁杂,效率低。结构图,不能进行抽象描述。描述繁杂,效率低。电路原理图描述与实现工艺有关。电路原理图描述与实现工艺有关。3)VHDL与电原理图描述的比较:与电原理图描述的比较:VHDL具有较
4、强的抽象描述能力,可进行系统具有较强的抽象描述能力,可进行系统行为级别的描述。描述更简洁,效率更高。行为级别的描述。描述更简洁,效率更高。VHDL描述与实现工艺无关。描述与实现工艺无关。第三讲 VHDL语言及应用 VHDLVHDL具有强大语言结构,系统硬件描述能力强具有强大语言结构,系统硬件描述能力强 、设计效率高;具有较高的抽象描述能力。、设计效率高;具有较高的抽象描述能力。4.VHDL语言特点语言特点如如一一个个8位位全全加加器器的的电电原原理理图图第三讲 VHDL语言及应用用用VHDLVHDL描述的描述的8 8位全加器:位全加器:LIBRARYIEEE;USEIEEE.STD_LOGIC
5、_1164.ALL;USEIEEE.STD_LOGIC_UNSIGNED.ALL;ENTITYadder8ISPORT(A:INSTD_LOGIC_VECTOR(7DOWNTO0);B:INSTD_LOGIC_VECTOR(7DOWNTO0);Cin:INSTD_LOGIC;Co:OUTSTD_LOGIC;Sum:OUTSTD_LOGIC_VECTOR(7DOWNTO0);ENDadder8;ARCHITECTUREbehaveOFadder8ISSIGNALSint:STD_LOGIC_VECTOR(8DOWNTO0);SIGNALAA,BB:STD_LOGIC_VECTOR(8DOWNTO
6、0);BEGINAA=0&A(7DOWNTO0);BB=0&B(7DOWNTO0);Sint=AA+BB+Cin;Sum=Sint(7DOWNTO0);Co=Sint(8);ENDbehave;第三讲 VHDL语言及应用 VHDLVHDLVHDLVHDL语言可读性强,易于修改和发现错误。语言可读性强,易于修改和发现错误。语言可读性强,易于修改和发现错误。语言可读性强,易于修改和发现错误。VHDLVHDLVHDLVHDL具有丰富的仿真语句和库函数,可对具有丰富的仿真语句和库函数,可对具有丰富的仿真语句和库函数,可对具有丰富的仿真语句和库函数,可对VHDLVHDLVHDLVHDL 源代码进行早期功
7、能仿真,有利于大系统的设源代码进行早期功能仿真,有利于大系统的设源代码进行早期功能仿真,有利于大系统的设源代码进行早期功能仿真,有利于大系统的设 计与验证。计与验证。计与验证。计与验证。VHDLVHDLVHDLVHDL设计与硬件电路关系不大。设计与硬件电路关系不大。设计与硬件电路关系不大。设计与硬件电路关系不大。VHDLVHDLVHDLVHDL设计不依赖于器件,与工艺无关。设计不依赖于器件,与工艺无关。设计不依赖于器件,与工艺无关。设计不依赖于器件,与工艺无关。VHDLVHDLVHDLVHDL是一种并行语言,其编程思想与传统顺序执是一种并行语言,其编程思想与传统顺序执是一种并行语言,其编程思想
8、与传统顺序执是一种并行语言,其编程思想与传统顺序执 行的计算机语言(如行的计算机语言(如行的计算机语言(如行的计算机语言(如C C C C、PascalPascalPascalPascal)有很大区别。)有很大区别。)有很大区别。)有很大区别。移植性好。移植性好。移植性好。移植性好。第三讲 VHDL语言及应用5.VHDL与其它硬件描述语言的比较与其它硬件描述语言的比较行为级行为级RTL级级门电路级门电路级VHDL:VHDL:具有较强的系统抽象描述能力,适合行为级和具有较强的系统抽象描述能力,适合行为级和具有较强的系统抽象描述能力,适合行为级和具有较强的系统抽象描述能力,适合行为级和RTLRTL
9、级的描述。设计者可不必了解电路细节,所作工级的描述。设计者可不必了解电路细节,所作工级的描述。设计者可不必了解电路细节,所作工级的描述。设计者可不必了解电路细节,所作工作较少,效率高。但对综合器的要求高。不易控制底作较少,效率高。但对综合器的要求高。不易控制底作较少,效率高。但对综合器的要求高。不易控制底作较少,效率高。但对综合器的要求高。不易控制底层电路的生成。层电路的生成。层电路的生成。层电路的生成。IEEEIEEE标准,支持广泛。标准,支持广泛。标准,支持广泛。标准,支持广泛。RTLRTL:RegisterTranslateLevelRegisterTranslateLevel第三讲 V
10、HDL语言及应用VerilogVerilogHDL:HDL:系统级抽象描述能力比系统级抽象描述能力比系统级抽象描述能力比系统级抽象描述能力比VHDLVHDL稍差;门级开关电稍差;门级开关电稍差;门级开关电稍差;门级开关电路描述方面比路描述方面比路描述方面比路描述方面比VHDLVHDL强。适合强。适合强。适合强。适合RTLRTL级和门电路级的描级和门电路级的描级和门电路级的描级和门电路级的描述。设计者需要了解电路细节,所作工作较多。述。设计者需要了解电路细节,所作工作较多。述。设计者需要了解电路细节,所作工作较多。述。设计者需要了解电路细节,所作工作较多。IEEEIEEE标准,支持广泛。标准,支
11、持广泛。标准,支持广泛。标准,支持广泛。ABELABEL、PALASMPALASM、AHDL(AlteraAHDL(AlteraHDL):HDL):系统级抽象描述能力差,一般作门级电路描述。系统级抽象描述能力差,一般作门级电路描述。系统级抽象描述能力差,一般作门级电路描述。系统级抽象描述能力差,一般作门级电路描述。要求设计者对电路细节有详细的了解。对综合器的性要求设计者对电路细节有详细的了解。对综合器的性要求设计者对电路细节有详细的了解。对综合器的性要求设计者对电路细节有详细的了解。对综合器的性能要求低,易于控制电路资源。支持少。能要求低,易于控制电路资源。支持少。能要求低,易于控制电路资源。
12、支持少。能要求低,易于控制电路资源。支持少。第三讲 VHDL语言及应用6.VHDL设计简述设计简述VHDLVHDL主要用于描述数字系统的结构、行为、功能主要用于描述数字系统的结构、行为、功能主要用于描述数字系统的结构、行为、功能主要用于描述数字系统的结构、行为、功能和接口。和接口。和接口。和接口。VHDLVHDL将一个设计(元件、电路、系统)分为:将一个设计(元件、电路、系统)分为:将一个设计(元件、电路、系统)分为:将一个设计(元件、电路、系统)分为:外部(可视部分、端口)外部(可视部分、端口)外部(可视部分、端口)外部(可视部分、端口)内部(不可视部分、内部功能、算法)内部(不可视部分、内
13、部功能、算法)内部(不可视部分、内部功能、算法)内部(不可视部分、内部功能、算法)第三讲 VHDL语言及应用ARCHITECTUREARCHITECTUREProcessProcessSequentialCombinationalProcessProcesscomponent外部与内部:外部与内部:外部与内部:外部与内部:器件或器件或子系统子系统ENTITYENTITY第三讲 VHDL语言及应用2 2选选选选1 1选择器的选择器的选择器的选择器的VHDLVHDL描述:描述:描述:描述:第三讲 VHDL语言及应用二二.VHDL基本结构基本结构一个完整的一个完整的VHDL设计文件,或者说设计实体,
14、通常要求最低能为设计文件,或者说设计实体,通常要求最低能为VHDL综合器所支持,并能作为一个独立的设计单元(模块),即元件的形式综合器所支持,并能作为一个独立的设计单元(模块),即元件的形式而存在的而存在的VHDL描述。这里的所谓元件,既可以被高层次的系统所调用,成为描述。这里的所谓元件,既可以被高层次的系统所调用,成为该系统的一部分;也可以作为一个电路功能块而独立存在和独立运行。该系统的一部分;也可以作为一个电路功能块而独立存在和独立运行。在在VHDL源文件中,通常包含源文件中,通常包含实体实体(ENTITY)、结构体结构体(ARCHITECTURE)、配置(配置(CONFIGURATION
15、)、和、和库(库(LIBRARY)程序包(程序包(PACKAGE)4个部分,其中实体和结构体这两个基本结构是必需的。个部分,其中实体和结构体这两个基本结构是必需的。设设计计实实体体库、程序包说明库、程序包说明实体实体(ENTITY)结结构构体体配配置置GENERIC类属说明类属说明PORT端口说明端口说明结构体说明结构体说明功能描述功能描述VHDL基本结构第三讲 VHDL语言及应用库、程序包库、程序包实体(实体(Entity)结构体结构体(Architecture)进程进程或其它并行结构或其它并行结构配置(配置(Configuration)第三讲 VHDL语言及应用1.实体(实体(Entity
16、)定义系统的输入输出端口和类属参数描述。定义系统的输入输出端口和类属参数描述。实体语句的书写格式如下:实体语句的书写格式如下:ENTITY实体名实体名ISGENERIC(类属表类属表););PORT(端口表端口表););END实体名实体名;(1076-1987version)ENDENTITY实体名实体名;(1076-1993version)注:注:在在MAX+PLUSII和和QUARTUSII开发工具中实体名与保存该实体的开发工具中实体名与保存该实体的VHDL源文件名必须是一样的。源文件名必须是一样的。第三讲 VHDL语言及应用l类属(类属(generic)说明语句)说明语句用以设定实体或元
17、件的内部电路结构和规模。它用以设定实体或元件的内部电路结构和规模。它常用于定义常用于定义实体端口的大小实体端口的大小、设计、设计实体的物理特性实体的物理特性、总线宽度总线宽度、元件例化的数量元件例化的数量等。模块化设计时多用于等。模块化设计时多用于不同层次模块之间信息的传递。可从外部改变内部电不同层次模块之间信息的传递。可从外部改变内部电路结构和规模。路结构和规模。必须放在端口说明之前必须放在端口说明之前。Generic(常数名称常数名称:数据类型:数据类型:=设定值设定值;常数名称常数名称:数据类型:数据类型:=设定值设定值);-注意最后语句的分号在括号外第三讲 VHDL语言及应用例例例例:
18、第三讲 VHDL语言及应用例例例例:2:2输入与门的实体描述输入与门的实体描述输入与门的实体描述输入与门的实体描述注:数据类型注:数据类型time用于仿真模块的设计。用于仿真模块的设计。综合器仅支持数据类型为整型的类属值。综合器仅支持数据类型为整型的类属值。第三讲 VHDL语言及应用l端口(端口(PORT)说明语句说明语句确定输入输出端口的数目和类型。确定输入输出端口的数目和类型。PORT(端口名端口名,端口名,端口名:端口模式端口模式数据类型数据类型;端口名端口名,端口名,端口名:端口模式端口模式数据类型数据类型););-注意最后语句的分号在括号外其中,端口模式:其中,端口模式:in输入型,
19、此端口为只读型。输入型,此端口为只读型。out输出型,此端口只能在实体内部对其赋值。输出型,此端口只能在实体内部对其赋值。inout输入输出型,既可读也可赋值。输入输出型,既可读也可赋值。buffer输出缓冲型,与输出缓冲型,与out相似,但可读。相似,但可读。第三讲 VHDL语言及应用数据类型:数据类型:指端口上流动的数据的表达格式。为预先定义好的数据类型指端口上流动的数据的表达格式。为预先定义好的数据类型。如:。如:bit、bit_vector、integer、std_logic、std_logic_vector等。等。端口模式示意图端口模式示意图端口模式示意图端口模式示意图 例:例:例:
20、例:Entitynand_2isPort(a,b:inbit;z:outbit);Endnand_2;第三讲 VHDL语言及应用2.结构体结构体(ARCHITECTURE又叫构造体)又叫构造体)3.作用:定义系统(或模块)的行为、元件及内部连接关系,作用:定义系统(或模块)的行为、元件及内部连接关系,4.即描述其逻辑功能。即描述其逻辑功能。一个完整的结构体一般由两大部分组成:一个完整的结构体一般由两大部分组成:结构体的说明结构体的说明(可选项)和(可选项)和结构体功能描述结构体功能描述,说明语句:说明语句:对数据类型、常数、信号、子程序和元件等因对数据类型、常数、信号、子程序和元件等因素进行说
21、明的部分;素进行说明的部分;功能描述语句:功能描述语句:以各种不同的描述风格描述系统的逻辑功以各种不同的描述风格描述系统的逻辑功能部分。包括各种顺序语句和并行语句。能部分。包括各种顺序语句和并行语句。第三讲 VHDL语言及应用结结构构体体说说明明语语句句功功能能描描述述语语句句常数说明数据类型信号说明例化元件子程序说明块语句进程语句信号赋值元件例化子程序调用 结构体的基本组成框图:结构体的基本组成框图:结构体的基本组成框图:结构体的基本组成框图:第三讲 VHDL语言及应用设计实体设计实体结构体结构体1结构体结构体2结构体结构体n 实体与结构体的关系:实体与结构体的关系:实体与结构体的关系:实体
22、与结构体的关系:一个设计实体可有多个结构体,代表实体的多一个设计实体可有多个结构体,代表实体的多一个设计实体可有多个结构体,代表实体的多一个设计实体可有多个结构体,代表实体的多种实现方式。各个结构体的地位相同。种实现方式。各个结构体的地位相同。种实现方式。各个结构体的地位相同。种实现方式。各个结构体的地位相同。第三讲 VHDL语言及应用结构体语句的书写格式如下:结构体语句的书写格式如下:ARCHITECTURE结构体名结构体名OF实体名实体名IS说明语句说明语句内部信号、常数、数据类型、子程内部信号、常数、数据类型、子程序(函数、过程)、元件等的说序(函数、过程)、元件等的说明;明;BEGIN
23、功能描述(并行处理)语句功能描述(并行处理)语句;ENDARCHITECTURE结构体名结构体名;注:同一实体的结构体不能同名。定义语句中的常数、信号注:同一实体的结构体不能同名。定义语句中的常数、信号不能与实体中的端口同名。不能与实体中的端口同名。第三讲 VHDL语言及应用 例:结构体中错误的信号声明例:结构体中错误的信号声明例:结构体中错误的信号声明例:结构体中错误的信号声明EntityxisPort(sig,const:inbit;out1,out2:outbit);Endx;Architectureexampleofxissignalsig:bit;constantconst:bit:
24、=1;begin.Endexample;第三讲 VHDL语言及应用 例:一个例:一个例:一个例:一个 完整描述(完整描述(完整描述(完整描述(3bit3bit计数器)计数器)计数器)计数器)Entitycounter3isPort(clk,reset:inbit;count:outintegerrange0to7);Endcounter3;Architecturemy_archofcounter3issignalcount_tmp:integerrange0to7;beginprocessbeginwaituntil(clkeventandclk=1);ifreset=1orcount_tmp
25、=7thencount_tmp=0;elsecount_tmp=count_tmp+1endif;endprocess;count=count_tmp;Endmy_arch;第三讲 VHDL语言及应用 3bit3bit计数器的等效描述(计数器的等效描述(计数器的等效描述(计数器的等效描述(outout与与与与bufferbuffer的区别)的区别)的区别)的区别)Entitycounter3isPort(clk,reset:inbit;count:bufferintegerrange0to7);Endcounter3;Architecturemy_archofcounter3is-signal
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- VHDL 语言 应用

限制150内