电子设计自动化技术教学课件 ppt 作者张永生 第4章

上传人:E**** 文档编号:89266203 上传时间:2019-05-22 格式:PPT 页数:159 大小:929.50KB
返回 下载 相关 举报
电子设计自动化技术教学课件 ppt 作者张永生 第4章_第1页
第1页 / 共159页
电子设计自动化技术教学课件 ppt 作者张永生 第4章_第2页
第2页 / 共159页
电子设计自动化技术教学课件 ppt 作者张永生 第4章_第3页
第3页 / 共159页
电子设计自动化技术教学课件 ppt 作者张永生 第4章_第4页
第4页 / 共159页
电子设计自动化技术教学课件 ppt 作者张永生 第4章_第5页
第5页 / 共159页
点击查看更多>>
资源描述

《电子设计自动化技术教学课件 ppt 作者张永生 第4章》由会员分享,可在线阅读,更多相关《电子设计自动化技术教学课件 ppt 作者张永生 第4章(159页珍藏版)》请在金锄头文库上搜索。

1、,第4章 VHDL硬件描述语言,学习目标:,1)了解VHDL的特点; 2) 熟悉VHDL程序结构、VHDL语言要素; 3)掌握VHDL的基本描述语句。,第4章 VHDL硬件描述语言 4.1 VHDL概述 4.2 VHDL程序结构 4.3 VHDL语言要素 4.4 VHDL的基本描述语句 本章小结 本章习题,返回主目录,4.1 VHDL概述,硬件描述语言HDL发展至今已有几十年的历史。在上百种 硬件描述语言中,最有代表性的是美国国防部开发的超高速集 成电路硬件描述语言VHDL(Very High Speed Integrated Circuit Hardware Description Lang

2、uage)。它是最先被接纳为 IEEE标准的语言,可以说它是数字系统硬件设计描述的标准语 言。因此,大多数EDA工具都支持VHDL语言。在大规模复杂 的数字电路与系统的设计中,它将逐步取代门级描述、逻辑电 路图和布尔方程等级别较低的、繁琐的硬件描述方法,而成为 一种面向设计的多层次、多领域的工业标准硬件描述工具。本 章主要介绍VHDL语言的基本知识和使用VHDL语言设计逻辑电路的基本方法。,411 VHDL的特点,传统的硬件电路设计方法的特点是自下至上(Bottom up), 即首先选择通用逻辑元器件,其次构成硬件电路,最后进行 电路调试,主要的设计文件是电原理图。例如全加器的设计 ,根据逻辑

3、状态表,写出逻辑表达式,采用通用逻辑器件, 进行电路设计,然后调试。如图4-1所示。,同样的设计用VHDL将如何做呢?VHDL将如何表示符号呢? 在VHDL中将看到什么样的原理图呢?,全加器VHDL的描述如下:,LIBRARY IEEE; USE IEEESTD LOGIC 1164ALL; ENTITY full adder IS PORT(a,b,c in:IN Std Logic; c out,sum:OUT Std Logic); END full adder; ARCHITECTURE rt1 OF full adder IS SIGNAL int: Std Logic; BEGIN

4、 int=a XOR b AFTER l0ns; c out=(a AND b) OR (int AND c in) AFTER 20 ns; sum=int XOR c in AFTER 10 ns; END rt1;,图4-1 全加器状态表、逻辑式、逻辑图,这是一个比较简单的VHDL设计文件。黑体字是VHDL的保 留字,具有专门的语义。其他字是由设计者给出的定义符。第3 行第6行描述的是全加器的外貌,即有三个输入脚a、b、c in 两个输出引脚c out、sum。第7行第13行描述的是全加器 内部电路的数据传输和变换关系。由此看出,VHDL的硬件电 路设计方法是用语言编程来表示逻辑器件系统

5、硬件的功能、信 号连接关系和定时关系。需要指出的是,VHDL不区分大小写 这里关键词大写并设置为黑体是为了显现出VHDL的书写框 架。,归纳起来VHDL有以下几大特点:,(1)具有下至门级,上至系统级的宽范围描述能力。只定义系统的抽象行为功能,摆了电路细节设计的束缚,而且不涉及实现工艺。 (2)可以采用ASIC芯片或可编程逻辑器件,无须受使用通用逻辑元、器件的限制,电路尺寸大为缩小,保密程度大为提高; (3)采用自上至下(Top Down)的高级设计方法。即设计过程中,可以分层次对系统进行描述、仿真和综合,避免了后期整体仿真带来的复杂化或因存在较大缺陷而要重新设计统的可能,大大缩短了系统的设计

6、周期;,(4)免除了编写逻辑表达式或逻辑状态表的困难和繁杂,从而大幅度降低了硬件电路计难度。 (5) 生成的主要设计文件是用VHDL语言编写的程序文档,比复杂的电路原理图利于归档、继承、阅读、修改。,412 VHDL与Verilog、ABEL语言的比较,VHDL、Verilog和ABEL语言都是常用硬件描述语言。 VHDL起源于美国国防部的VHSIC,Verilog起源于集成电路的 设计,ABEL则来源于可编程逻辑器件的设计。下面从使用方 面将三者进行对比。,逻辑描述层次:一般的硬件描述语言可以在三个层次上进 行电路描述,其层次由高到低依次可分为行为级、RTL级和门 电路级。VHDL语言是一种

7、高级描述语言,适用于行为级和 RTL级的描述,最适于描述电路的行为;Verilog语言和ABEL 语言是一种较低级的描述语言,适用于RTL级和门电路级的描 述,最适于描述门级电路。 设计要求:VHDL进行电子系统设计时可以不了解电路的 结构细节,设计者所做的工作较少;Verilog和ABEL语言进行 电子系统设计时需了解电路的结构细节,设计者需做大量的工 作。,综合过程:任何一种语言源程序,最终都要转换成门电路级才能被布线器或适配器所接受。因此,VHDL语言源程序的综合通常要经过行为级RTL级门电路级的转化,VHDL几乎不能直接控制门电路的生成。而Verilog语言和ABEL语言源程序的综合过

8、程要稍简单,即经过RTL级门电路级的转化,易于控制电路资源。 对综合器的要求:VHDL描述语言层次较高,不易控制底层电路,因而对综合器的性能要求较高,Verilog和ABEL对综合器的性能要求较低。,(5) 支持的EDA工具:支持VHDL和Verilog的EDA工具很多,但支持ABEL的综合器仅Dataio一家。 (6) 国际化程度:VHDL和Verilog已成为IEEE标准,而ABEL正朝国际化标准努力。有专家认为,在新世纪中,VHDL与Verilog语言将承担几乎全部的数字系统设计任务。,4.2 VHDL程序结构,一个VHDL程序由若干个VHDL文件构成,每个 文件主要包含五个部分的一个或

9、全部:程序包( Package )、实体(Entity)、结构体(Architecture) 、配置(configuration)、库(library)。其中14为 可分别编译的源设计单元,库用来存放已编译过的 实体、结构体、包和配置。在max+plus中后缀为 (.VHD)。,421 实体,实体规定设计实体的输入输出(IO)端口,如端口的数 目、端口的方向和端口的类型。实体也可以定义参数,并把 参数从外部传入模块内部。其一般格式:,其一般格式:,ENTITY 实体名 IS GENERIC(类属表); PORT(端口表); END 实体名;,实体以关键词“ENTITY”开始至“END”结束,不

10、可缺少和省略,端口(Port) 设计实体的每一个IO信号被称为端口, 即端口为设计实体和其外的动态通信提供通道。每一个端口 必须有名字、通信模式和数据类型。名字是该端口符,模式 说明数据通过该端口的流动方向,类型说明流过该端口的数 据类型。,其一般式如下:,PORT (SIGNAL)端口名字: 模式 数据类型名);,因为关键字PORT后必须是信号类,所以略去关 键字SIGNAL也不会引起歧义。,端口模式(Port Mode) VHDL提供了下述端口模式:,(1) IN输入端口 信号自端口输入实体,但不能自该端口输出,如时钟、复位和使能。 (2) OUT输出端口 信号自端口输出实体,且不会在内部

11、反馈使用,如终端记数输出。 (3) INOUT双向端口 既可以输入又可以输出,如DMA控制器的数据总线。 (4) BUFFER缓冲端口 信号自端口输出实体,但可以反馈回实体作为内部驱动。,端口类型(Port Type) 由IEEE标准支持和提供的可用于综 合的端口类型主要有:,(1)整数(Integer) 可用作循环的指针或常数,通常不用于 IO信号。 (2)布尔(Boolean) 取值TRUE(真)或FALSE(假),表示信号状 态或总线上情况。 (3)位(Bit) 位值的表示方法是0或1,用于表示总线的值。 (4)位矢量(Bit Vector) 其值为用双引号的一组位数据,最常用来表示总线

12、状态。,由IEEE Std logic 1164支持和提供的可用于综合的端口类型主要有: (1) 标准逻辑位(Std Logic) 取值0、l、X、Z (2) 标准逻辑矢量(Std Logic Vector) Std Logic的组合。,422 结构体,结构体描述设计实体的结构或行为,把设计实体的输 入和输出之间的关系建立起来,结构体的描述格式为:,ARCHITECTURE 结构体名 OF 实体名 IS 定义语句; BEGIN 并行处理语句; END 结构体名;,结构体名 结构体是对设计实体功能的具体描述,它一定要跟在对应实体说明的后面,OF后面紧跟的实体名表明了该结构体隶属于哪个实体。一般结

13、构体名可以由设计者自由命名,但在大多数的文献和资料中,通常把结构体命名为behavioral(行为)、dataflow(数据流)、structural(结构)或是它们的缩写形式,即与结构体的三种描述方式相对应,以使阅读程序人直接了解设计者所采用的描述方式。 定义语句 定义语句用来对结构体内部所示用的信号、常数、数据类型和函数进行定义。例如前面例子中使用的COMPONENT、SIGNAL元件、信号说明语句。,下面以用于4路信号切换的四选一电路为例对本内容做一概 述。其中,input(0)input(3)为4路信号输入端,se1为信号选 择端,y为信号输出端。,并行处理语句 并行处理语句是功能描述

14、的核心部分,也是 变化最丰富的部分。后续要讲的赋值语句、进程语句、顺序语 句等都在这里使用,以具体地描述结构体的行为及其连接关系,VHDL描述如下:,LIBRARY IEEE; 库定义。IEEE标准库的标志名 USE IEEEStd Logic 1164ALL; 使用IEEE库STD LOGIC 1164程序包 ENTITY mux4 IS 实体说明开始 PROT(input:IN Std Logic Vector (3 DOWNTO 0); se1:IN Std Logic Vector (1 DOWNTO 0); y:OUT Std-Logic); 端口定义 END mux4; 实体说明结

15、束 ARCHITECTURE rt1 OF mux4 IS 结构体定义 BEGIN y=input(0)WHEN se1=“00”ELSE input(1)WHEN se1=“0l”ELSE input(2)WHEN se1=“10”ELSE input(3) END rt1; 结束语句,注意: 从破折号()到本行之末的一段文字是VHDL的注释, 注释对VHDL正文的意义没有影响。,如果把设计看作是一个“黑盒子”,通过实体说明能了解“黑 盒子”的输入和输出,但无法知道其内部内容。结构体则描述 “黑盒子”内部的详细内容。实体说明定义端口,对应于电路符 号。结构体定义实体功能,对应于电路原理图。,

16、423 库,库存放预编译的实体说明、结构体、程序包和配置说明,可 用作其他VHDL描述的资源。库可由用户生成或由ASIC芯片制 造商提供。,在VHDL语言中,库的说名总是放在设计实体的最前面,一般 格式为:,LIBRARY 库名;,目前常用的几种库如下: (1)STD库 其为VHDL的标准库,包含预定义程序包STANDARD与TEXTIO。 (2)WORK库 为所有设计单元隐含定义,使用该库时无需进行任何说明。 (3)IEEE库 为最常用的资源库,包含标准程序包STD LOGIC 1164、数学程序包Math Real和Math Complex、时序程序包VITFAL Timing和基本元件程序包VITAL Primitives。 (4)用户库

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号