VHDL程序基本结构课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《VHDL程序基本结构课件.ppt》由用户(晟晟文业)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- VHDL 程序 基本 结构 课件
- 资源描述:
-
1、第第3章章 VHDL的语法结构及编程的语法结构及编程 l3.1 3.1 概述概述 l3.2 VHDL3.2 VHDL程序基本结构程序基本结构 l3.3 VHDL3.3 VHDL语言要素语言要素 l3.4 VHDL3.4 VHDL顺序语句顺序语句 l3.5 VHDL3.5 VHDL并行语句并行语句 l3.6 3.6 子程序子程序(SUBPROGRAM)(SUBPROGRAM)l3.7 VHDL3.7 VHDL描述风格描述风格 VHDL:VHSIC Hardware Description Language.HDL-Hardware Description Language 一种用于描述数字电路的
2、功能或行为的语言。目的是提为电路设计效率,缩一种用于描述数字电路的功能或行为的语言。目的是提为电路设计效率,缩短设计周期,减小设计成本,可在芯片制造前进行有效的仿真和错误检测。短设计周期,减小设计成本,可在芯片制造前进行有效的仿真和错误检测。优点:优点:HDL设计的电路能获得非常抽象级的描述。如基于设计的电路能获得非常抽象级的描述。如基于RTL(Register Transfer Level)描述的描述的IC,可用于不同的工艺。,可用于不同的工艺。HDL设计的电路,在设计的前期,就可以完成电路的功能级的验证。设计的电路,在设计的前期,就可以完成电路的功能级的验证。HDL设计的电路类似于计算机编
3、程。设计的电路类似于计算机编程。常用的常用的HDL语言:语言:VHDL、Verilog HDL 3.1 3.1 概概 述述.3.1.1 3.1.1 常用硬件描述语言简介常用硬件描述语言简介 常用硬件描述语言有常用硬件描述语言有VHDLVHDL、VerilogVerilog和和ABELABEL语语言。下面从使用方面将三者进行对比。言。下面从使用方面将三者进行对比。(1)(1)逻辑描述层次逻辑描述层次其层次由高到低依次可分为其层次由高到低依次可分为行为级、行为级、RTLRTL级和门级和门电路级。电路级。.VHDLVHDL语言是一种高级描述语言,适用于行为级和语言是一种高级描述语言,适用于行为级和R
4、TLRTL级的描述,最适于描述电路的行为;级的描述,最适于描述电路的行为;VerilogVerilog语言和语言和ABELABEL语言是一种较低级的描述语语言是一种较低级的描述语言,适用于言,适用于RTLRTL级和门电路级的描述,最适于描级和门电路级的描述,最适于描述门级电路。述门级电路。.(2)(2)设计要求:设计要求:VHDLVHDL进行电子系统设计时可以不了解电路的结构细节;进行电子系统设计时可以不了解电路的结构细节;后两者需要设计者了解电路的结构细节后两者需要设计者了解电路的结构细节(3)(3)综合过程:综合过程:任何一种语言源程序,任何一种语言源程序,最终都要转换成门电路级才能最终都
5、要转换成门电路级才能被布线器或适配器所接受。被布线器或适配器所接受。VHDLVHDL语言源程序的综合通语言源程序的综合通常要经过行为级常要经过行为级RTLRTL级级门电路级的转化。而门电路级的转化。而VerilogVerilog语言和语言和ABELABEL语言源程序的综合过程要经过语言源程序的综合过程要经过RTLRTL级级门电路级的转化。门电路级的转化。.(4)(4)支持的支持的EDAEDA工具:工具:v支持支持VHDLVHDL和和VerilogVerilog的的EDAEDA工具很多,但支持工具很多,但支持ABELABEL的综合器仅仅的综合器仅仅DataioDataio一家。一家。(5)(5)
6、国际化程度:国际化程度:vVHDLVHDL和和VerilogVerilog已成为已成为IEEEIEEE标准,而标准,而ABELABEL正朝正朝国际化标准努力。国际化标准努力。.3.1.2 VHDL3.1.2 VHDL的优点的优点v VHDLVHDL的英文全名是的英文全名是V Very-High-Speed Integrated ery-High-Speed Integrated Circuit Circuit H Hardware ardware D Description escription L Languageanguage,诞生于诞生于19821982年。年。v19871987年底,年
7、底,VHDLVHDL被被IEEE(The Institute of IEEE(The Institute of Electrical and Electronics Engineers)Electrical and Electronics Engineers)和美国国防和美国国防部确认为标准硬件描述语言。部确认为标准硬件描述语言。.19931993年,年,IEEEIEEE对对VHDLVHDL进行了修订,公布了新版进行了修订,公布了新版本的本的VHDLVHDL,即,即IEEEIEEE标准的标准的1076-19931076-1993版本。版本。现在,现在,VHDLVHDL和和VerilogVeri
8、log作为作为IEEEIEEE的工业标准硬件的工业标准硬件描述语言,将承担起几乎全部的数字系统设计描述语言,将承担起几乎全部的数字系统设计任务。任务。.(1)(1)与其他的硬件描述语言相比,与其他的硬件描述语言相比,VHDLVHDL具有更强的具有更强的行为描述能力行为描述能力 (2)VHDL (2)VHDL具有丰富的仿真语句和库函数,能查验具有丰富的仿真语句和库函数,能查验设计系统的功能可行性,随时可对系统进行仿真模拟,设计系统的功能可行性,随时可对系统进行仿真模拟,并做出判断。并做出判断。应用应用VHDLVHDL进行工程设计的优点是多方面的,具体如下:进行工程设计的优点是多方面的,具体如下:
9、.(3)(3)用用VHDLVHDL完成一个确定的设计,可以利用完成一个确定的设计,可以利用EDAEDA工具工具把把VHDLVHDL描述设计转变成描述设计转变成门级网表门级网表。降低了开发成本。降低了开发成本。(4)VHDL(4)VHDL对设计的描述具有相对独立性。对设计的描述具有相对独立性。(5)VHDL (5)VHDL具有类属描述语句和子程序调用等功能,具有类属描述语句和子程序调用等功能,在不改变源程序的条件下,只需改变类属参量或函数,在不改变源程序的条件下,只需改变类属参量或函数,就能轻易地改变设计的规模和结构。就能轻易地改变设计的规模和结构。.3.1.3 VHDL3.1.3 VHDL程序
10、设计约定程序设计约定(1)(1)语句结构描述中方括号语句结构描述中方括号“”“”内的内容为可选内内的内容为可选内容。容。(2)(2)对于对于VHDLVHDL的编译器和综合器来说,的编译器和综合器来说,程序文字的大程序文字的大小写是不加区分的。小写是不加区分的。本书一般使用本书一般使用大写大写。(3)(3)程序中的注释使用双横线程序中的注释使用双横线“-”“-”。在。在VHDLVHDL程序的程序的任何一行中,任何一行中,双横线双横线“-”“-”后的文字都不参加编译和后的文字都不参加编译和综合。综合。.(4)(4)为了便于程序的阅读与调试,书写和输入程序为了便于程序的阅读与调试,书写和输入程序时,
11、使用层次缩进格式,同一层次的对齐,时,使用层次缩进格式,同一层次的对齐,低层次的低层次的较高层次的缩进两个字符。较高层次的缩进两个字符。(5)(5)考虑到大多数开发工具要求源程序文件的名字考虑到大多数开发工具要求源程序文件的名字与实体名必须一致,与实体名必须一致,建议建议各个源程序文件的命名均与各个源程序文件的命名均与其实体名一致。其实体名一致。.使用使用VHDLVHDL语言设计一个硬件电路时,至少语言设计一个硬件电路时,至少需要描述三个方面的信息:需要描述三个方面的信息:设计是在什么设计是在什么规范范围内设计的,规范范围内设计的,这就是库、程序包使用说这就是库、程序包使用说明明;所设计的硬件
12、电路与外界的接口信号,所设计的硬件电路与外界的接口信号,这就是设计实体的说明这就是设计实体的说明;所设计的硬件电所设计的硬件电路其内部各组成部分的逻辑关系以及整个系统路其内部各组成部分的逻辑关系以及整个系统的逻辑功能,的逻辑功能,这就是该设计实体对应的结构体这就是该设计实体对应的结构体说明。说明。3.2 VHDL3.2 VHDL程序基本结构程序基本结构.1设计思路设计思路 根据数字电子技术的知识,我们知道,根据数字电子技术的知识,我们知道,74LS00是一个四是一个四2输入与非门,亦即该芯片输入与非门,亦即该芯片由由四个四个2输入与非门组成输入与非门组成,因此我们设计时可,因此我们设计时可先设
13、计一个先设计一个2输入与非门输入与非门(如图如图3.1(a)所示所示),再,再由 四 个由 四 个 2 输 入 与 非 门 构 成 一 个 整 体输 入 与 非 门 构 成 一 个 整 体 MY74LS00(如图如图3.1(b)所示所示)。例:简单例:简单VHDL语言的设计语言的设计.图3.1 MY74LS00的设计过程示意图.2VHDL源程序源程序1)2输入与非门输入与非门NAND2的逻辑描述的逻辑描述-IEEE库及其中程序包的使用说明库及其中程序包的使用说明 LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;-实体实体NAND2的说明的说明 ENTITY N
14、AND2 IS PORT(A,B:IN STD_LOGIC;Y:OUT STD_LOGIC);END ENTITY NAND2;.-实体实体NAND2的结构体的结构体ART1的说明的说明 ARCHITECTURE ART1 OF NAND2 IS BEGIN YA1,B=B1,Y=Y1);U2:NAND2 PORT MAP(A=A2,B=B2,Y=Y2);U3:NAND2 PORT MAP(A3,B3,Y3);U4:NAND2 PORT MAP(A4,B4,Y4);END ARCHITECTURE ART2;.3 3说明与分析说明与分析 (1)(1)整个设计包括两个设计实体,整个设计包括两个设
15、计实体,分别为分别为NAND2NAND2和和MY74LS00MY74LS00,其中,实体,其中,实体MY74LS00MY74LS00为顶层为顶层实体。实体。(2)(2)实体实体NAND2NAND2定义了定义了2 2输入与非门输入与非门NAND2NAND2的引的引脚信号脚信号A A、B(B(输入输入)和和Y(Y(输出输出),其对应的结构体其对应的结构体ART1ART1描述了输入与输出信号间的逻辑关系,即将描述了输入与输出信号间的逻辑关系,即将输入信号输入信号A A、B B与非后传给输出信号端与非后传给输出信号端Y Y。.(3)(3)实体实体MY74LS00MY74LS00及对应的结构体及对应的结
16、构体ART2ART2描述描述了一个如图所示的四了一个如图所示的四22输入与非门。由其输入与非门。由其结构结构体的描述可以看到,它是由四个体的描述可以看到,它是由四个2 2输入与非门构输入与非门构成的。成的。(4)(4)在在MY74LS00MY74LS00接口逻辑接口逻辑VHDLVHDL描述中,根据描述中,根据图图3.1(b)3.1(b)右侧的右侧的MY74LS00MY74LS00的原理图,的原理图,实体实体MY74LS00MY74LS00定义了引脚的端口信号属性和数据类型。定义了引脚的端口信号属性和数据类型。(5)(5)在结构体在结构体ART2ART2中,中,COMPONENTEND COMP
17、ONENTEND COMPONENT COMPONENT 语句结构对所要调用的语句结构对所要调用的NAND2NAND2元件作元件作了声明。了声明。.(6)实体实体MY74LS00引导的逻辑描述也是由三个引导的逻辑描述也是由三个主要部分构成的,即主要部分构成的,即库、程序包使用说明,实库、程序包使用说明,实体说明和结构体。体说明和结构体。.实体(实体(Entity):描述所设计的系统的外部接口信号,定义):描述所设计的系统的外部接口信号,定义电路设计中所有的输入和输出端口;电路设计中所有的输入和输出端口;结构体结构体(Architecture):描述系统内部的结构和行为;:描述系统内部的结构和行
18、为;包集合包集合(Package):存放各设计模块能共享的数据类型、常:存放各设计模块能共享的数据类型、常数和子程序等;数和子程序等;配置配置(Configuration):指定实体所对应的结构体;:指定实体所对应的结构体;库库(Library):存放已经编译的实体、结构体、包集合和配:存放已经编译的实体、结构体、包集合和配置。置。.LIBRARY IEEE;-库、程序包的说明调用库、程序包的说明调用 USE IEEE.Std_Logic_1164.ALL;ENTITY FreDevider IS -实体声明实体声明PORT(Clock:IN Std_logic;Clkout:OUT Std_
19、logic);END;ARCHITECTURE Behavior OF FreDevider IS -结构体定义结构体定义SIGNAL Clk:Std_Logic;BEGIN PROCESS(Clock)BEGIN IF rising_edge(Clock)THEN Clk=NOT Clk;END IF;END PROCESS;Clkout=Clk;END;VHDL的基本设计单元结构:程序包说明、实体说明和结构体说明三部分。的基本设计单元结构:程序包说明、实体说明和结构体说明三部分。.3.2.1 实体(实体(Entity)ENTITY 实体名实体名 IS GENERIC(常数名:数据类型:设定
20、值)(常数名:数据类型:设定值)PORT(端口名端口名1:端口方向:端口方向 端口类型;端口类型;端口名端口名2:端口方向:端口方向 端口类型;端口类型;.端口名端口名n:端口方向:端口方向 端口类型端口类型);END 实体名实体名;实体描述了设计单元的输入输出接口信号或引脚,实体描述了设计单元的输入输出接口信号或引脚,是设计实体经封装后对外的一个通信界面。是设计实体经封装后对外的一个通信界面。.ENTITY FreDevider ISPORT(Clock:IN Std_logic;Clokout:OUT Std_logic);END;实体名实体名最后一条端口声明语句无分号最后一条端口声明语句
21、无分号端口方向端口方向端口类型端口类型端口名端口名 实体名实体名由设计者自由命名,用来表示被设计电路芯片的名称,由设计者自由命名,用来表示被设计电路芯片的名称,但是必须与但是必须与VHDL程序的文件名称相同。程序的文件名称相同。要与文件名一致;要与文件名一致;.2 2类属类属(GENERIC)(GENERIC)说明语句说明语句 类属类属(GENERIC)(GENERIC)参量是参量是端口界面常数端口界面常数,以,以说明的形式放在实体前说明的形式放在实体前 。类属为设计实体和类属为设计实体和其外部环境提供了静态信息通道,常用来规定其外部环境提供了静态信息通道,常用来规定端口的大小,定时特性等端口
22、的大小,定时特性等。设计者可以通过设设计者可以通过设定类属参量的值来改变一个设计实体。定类属参量的值来改变一个设计实体。.例如:例如:GENERIC(wide:integer:=32););-说明宽度为说明宽度为32 GENERIC(tmp:integer:=1ns););-说明延时说明延时1 ns 类属说明类属说明(GENERIC)格式:格式:GENERIC(常数名:数据类型:设定值;(常数名:数据类型:设定值;常数名:数据类型:设定值);常数名:数据类型:设定值);以关键词以关键词GENERIC引导,在表中提供引导,在表中提供时间参数或时间参数或总线宽度总线宽度等信息。主要等信息。主要用于
展开阅读全文