VHDL程序基本结构课件.ppt
《VHDL程序基本结构课件.ppt》由会员分享,可在线阅读,更多相关《VHDL程序基本结构课件.ppt(52页珍藏版)》请在三一办公上搜索。
1、第3章 VHDL的语法结构及编程,3.1 概述 3.2 VHDL程序基本结构 3.3 VHDL语言要素 3.4 VHDL顺序语句 3.5 VHDL并行语句 3.6 子程序(SUBPROGRAM) 3.7 VHDL描述风格,VHDL: VHSIC Hardware Description Language.,.,第3章 VHDL的语法结构及编程 3.1 概述 VHDL:,HDL-Hardware Description Language 一种用于描述数字电路的功能或行为的语言。目的是提为电路设计效率,缩短设计周期,减小设计成本,可在芯片制造前进行有效的仿真和错误检测。,优点: HDL设计的电路能
2、获得非常抽象级的描述。如基于RTL(Register Transfer Level)描述的IC,可用于不同的工艺。 HDL设计的电路,在设计的前期,就可以完成电路的功能级的验证。 HDL设计的电路类似于计算机编程。,常用的HDL语言:VHDL 、Verilog HDL,3.1 概 述,.,HDL-Hardware Description La,3.1.1 常用硬件描述语言简介 常用硬件描述语言有VHDL、Verilog和ABEL语言。下面从使用方面将三者进行对比。 (1) 逻辑描述层次其层次由高到低依次可分为行为级、RTL级和门电路级。,.,3.1.1 常用硬件描述语言简介.,VHDL语言是一
3、种高级描述语言,适用于行为级和RTL级的描述,最适于描述电路的行为;Verilog语言和ABEL语言是一种较低级的描述语言,适用于RTL级和门电路级的描述,最适于描述门级电路。,.,VHDL语言是一种高级描述语言,适用于行为级和RTL级的描述,(2) 设计要求:VHDL进行电子系统设计时可以不了解电路的结构细节;后两者需要设计者了解电路的结构细节(3) 综合过程:任何一种语言源程序,最终都要转换成门电路级才能被布线器或适配器所接受。VHDL语言源程序的综合通常要经过行为级RTL级门电路级的转化。而Verilog语言和ABEL语言源程序的综合过程要经过RTL级门电路级的转化。,.,(2) 设计要
4、求:.,(4) 支持的EDA工具:支持VHDL和Verilog的EDA工具很多,但支持ABEL的综合器仅仅Dataio一家。(5) 国际化程度:VHDL和Verilog已成为IEEE标准,而ABEL正朝国际化标准努力。,.,(4) 支持的EDA工具:.,3.1.2 VHDL的优点 VHDL的英文全名是Very-High-Speed Integrated Circuit Hardware Description Language,诞生于1982年。1987年底, VHDL被IEEE ( The Institute of Electrical and Electronics Engineers)和
5、美国国防部确认为标准硬件描述语言。,.,3.1.2 VHDL的优点.,1993年,IEEE对VHDL进行了修订,公布了新版本的VHDL,即IEEE标准的1076-1993版本。现在,VHDL和Verilog作为IEEE的工业标准硬件描述语言,将承担起几乎全部的数字系统设计任务。,.,.,(1) 与其他的硬件描述语言相比,VHDL具有更强的行为描述能力 (2) VHDL具有丰富的仿真语句和库函数,能查验设计系统的功能可行性,随时可对系统进行仿真模拟,并做出判断。,应用VHDL进行工程设计的优点是多方面的,具体如下:,.,(1) 与其他的硬件描述语言相比,VHDL具,(3) 用VHDL完成一个确定
6、的设计,可以利用EDA工具把VHDL描述设计转变成门级网表。降低了开发成本。,(4) VHDL对设计的描述具有相对独立性。 (5) VHDL具有类属描述语句和子程序调用等功能,在不改变源程序的条件下,只需改变类属参量或函数,就能轻易地改变设计的规模和结构。,.,(3) 用VHDL完成一个确定的设计,可以利用EDA工,3.1.3 VHDL程序设计约定(1) 语句结构描述中方括号“ ”内的内容为可选内容。(2) 对于VHDL的编译器和综合器来说,程序文字的大小写是不加区分的。本书一般使用大写。(3) 程序中的注释使用双横线“-”。在VHDL程序的任何一行中,双横线“-”后的文字都不参加编译和综合。
7、,.,3.1.3 VHDL程序设计约定.,(4) 为了便于程序的阅读与调试,书写和输入程序时,使用层次缩进格式,同一层次的对齐,低层次的较高层次的缩进两个字符。 (5) 考虑到大多数开发工具要求源程序文件的名字与实体名必须一致, 建议各个源程序文件的命名均与其实体名一致。,.,(4) 为了便于程序的阅读与调试,书写和输入程序时,使用,使用VHDL语言设计一个硬件电路时,至少需要描述三个方面的信息: 设计是在什么规范范围内设计的,这就是库、程序包使用说明; 所设计的硬件电路与外界的接口信号,这就是设计实体的说明; 所设计的硬件电路其内部各组成部分的逻辑关系以及整个系统的逻辑功能,这就是该设计实体
8、对应的结构体说明。,3.2 VHDL程序基本结构,.,使用VHDL语言设计一个硬件电路时,至,1设计思路 根据数字电子技术的知识,我们知道,74LS00是一个四2输入与非门,亦即该芯片由四个2输入与非门组成,因此我们设计时可先设计一个2输入与非门(如图3.1(a)所示),再由四个2输入与非门构成一个整体MY74LS00(如图3.1(b)所示)。,例:简单VHDL语言的设计,.,1设计思路例:简单VHDL语言的设计.,图3.1 MY74LS00的设计过程示意图,.,图3.1 MY74LS00的设计过程示意图 .,2VHDL源程序1) 2输入与非门NAND2的逻辑描述- IEEE库及其中程序包的使
9、用说明 LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL;-实体NAND2的说明 ENTITY NAND2 IS PORT(A,B:IN STD_LOGIC; Y:OUT STD_LOGIC); END ENTITY NAND2;,.,2VHDL源程序.,-实体NAND2的结构体ART1的说明 ARCHITECTURE ART1 OF NAND2 IS BEGIN Y=A NAND B; END ARCHITECTURE ART1;,.,-实体NAND2的结构体ART1的说明 .,2) MY74LS00的逻辑描述- IEEE库及其中程序包的使用说明 LIBRA
10、RY IEEE; USE IEEE.STD_LOGIC_1164.ALL;-实体MY74LS00的说明 ENTITY MY74LS00 IS PORT(A1,B1,A2,B2,A3,B3,A4,B4: IN STD_LOGIC; Y1,Y2,Y3,Y4: OUT STD_LOGIC); END ENTITY MY74LS00;,.,2) MY74LS00的逻辑描述.,-实体MY74LS00的结构体ART2的说明ARCHITECTURE ART2 OF MY74LS00 IS -元件调用声明 COMPONENT NAND2 IS PORT(A,B:IN STD_LOGIC; Y:OUT STD_
11、LOGIC); END COMPONENT NAND2;-元件连接说明,.,-实体MY74LS00的结构体ART2的说明.,BEGINU1: NAND2 PORT MAP(A=A1,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;,.,BEGIN.,3说明与分析 (1) 整个设计包括两个设计实体,分别为NAND2和MY74LS00,其中,实体MY74LS00为顶层实体。 (2) 实体NAN
12、D2定义了2输入与非门NAND2的引脚信号A、B(输入)和Y(输出),其对应的结构体ART1描述了输入与输出信号间的逻辑关系,即将输入信号A、B与非后传给输出信号端Y。,.,3说明与分析.,(3) 实体MY74LS00及对应的结构体ART2描述了一个如图所示的四2输入与非门。由其结构体的描述可以看到,它是由四个2输入与非门构成的。 (4) 在MY74LS00接口逻辑VHDL描述中,根据图3.1(b)右侧的MY74LS00的原理图,实体MY74LS00定义了引脚的端口信号属性和数据类型。 (5) 在结构体ART2中,COMPONENTEND COMPONENT 语句结构对所要调用的NAND2元件
13、作了声明。,.,(3) 实体MY74LS00及对应的结构体ART2,(6) 实体MY74LS00引导的逻辑描述也是由三个主要部分构成的,即库、程序包使用说明,实体说明和结构体。,.,(6) 实体MY74LS00引导的逻辑描述也是由三个主要部,实体(Entity):描述所设计的系统的外部接口信号,定义电路设计中所有的输入和输出端口; 结构体 (Architecture):描述系统内部的结构和行为; 包集合 (Package):存放各设计模块能共享的数据类型、常数和子程序等; 配置 (Configuration):指定实体所对应的结构体; 库 (Library):存放已经编译的实体、结构体、包集合
14、和配置。,.,实体(Entity):描述所设计的系统的外部接口信号,定,LIBRARY IEEE; - 库、程序包的说明调用 USE IEEE.Std_Logic_1164.ALL;ENTITY FreDevider IS - 实体声明PORT(Clock: IN Std_logic; Clkout: OUT Std_logic);END;ARCHITECTURE Behavior OF FreDevider IS - 结构体定义SIGNAL Clk:Std_Logic;BEGIN PROCESS(Clock)BEGIN IF rising_edge(Clock) THEN Clk=NOT C
15、lk; END IF;END PROCESS;Clkout=Clk;END;,VHDL的基本设计单元结构:程序包说明、实体说明和结构体说明三部分。,.,LIBRARY IEEE;,3.2.1 实体(Entity),ENTITY 实体名 IS GENERIC(常数名:数据类型:设定值)PORT( 端口名1:端口方向 端口类型; 端口名2:端口方向 端口类型; . . 端口名n:端口方向 端口类型);END 实体名;,实体描述了设计单元的输入输出接口信号或引脚,是设计实体经封装后对外的一个通信界面。,.,3.2.1 实体(Entity)ENTITY 实体名 IS,ENTITY FreDevider
16、 ISPORT(Clock: IN Std_logic; Clokout: OUT Std_logic);END;,实体名,最后一条端口声明语句无分号,端口方向,端口类型,端口名,实体名由设计者自由命名,用来表示被设计电路芯片的名称,但是必须与VHDL程序的文件名称相同。要与文件名一致;,.,ENTITY FreDevider IS实体名最后一条端口声,2类属(GENERIC)说明语句 类属(GENERIC)参量是端口界面常数,以说明的形式放在实体前 。类属为设计实体和其外部环境提供了静态信息通道,常用来规定端口的大小,定时特性等。设计者可以通过设定类属参量的值来改变一个设计实体。,.,2类属
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- VHDL 程序 基本 结构 课件
![提示](https://www.31ppt.com/images/bang_tan.gif)
链接地址:https://www.31ppt.com/p-1289783.html