eda技术教学课件作者廖超平第二章

上传人:E**** 文档编号:102747809 上传时间:2019-10-04 格式:PPT 页数:96 大小:692KB
返回 下载 相关 举报
eda技术教学课件作者廖超平第二章_第1页
第1页 / 共96页
eda技术教学课件作者廖超平第二章_第2页
第2页 / 共96页
eda技术教学课件作者廖超平第二章_第3页
第3页 / 共96页
eda技术教学课件作者廖超平第二章_第4页
第4页 / 共96页
eda技术教学课件作者廖超平第二章_第5页
第5页 / 共96页
点击查看更多>>
资源描述

《eda技术教学课件作者廖超平第二章》由会员分享,可在线阅读,更多相关《eda技术教学课件作者廖超平第二章(96页珍藏版)》请在金锄头文库上搜索。

1、【要求】 掌握VHDL语言的基本知识和运用VHDL语言设计逻辑电路的基本方法。 【知识点】 理解VHDL程序的基本结构 理解VHDL程序的顺序语句 理解VHDL程序的并行语句 理解VHDL程序的语言要素,第2章 VHDL设计入门,下一页,【重点和难点】 VHDL程序的顺序结构 VHDL程序的并行结构 【引言】 HDL文本输入设计法是Quartus II的一个重要输入设计法 ,本书主要介绍VHDL文本输入法。本章讨论VHDL语言的基本知识和运用 VHDL语言设计逻辑电路的方法,在以后各章再对VHDL文本输入设计法及其应用作进一步的讨论。 本章先介绍VHDL程序的基本结构、顺序语句和并行 语句,最

2、后对VHDL程序的语言要素做一个总结。,第2章 VHDL设计入门,下一页,上一页,第2章 VHDL设计入门,2.1 VHDL程序的基本结构 2.2 VHDL程序的顺序语句 2.3 VHDL程序的并行语句 2.4 VHDL程序的语言要素总结 2.5 本章小结,上一页,VHDL程序包含实体(ENTITY ) 、结构体(ARCHITECTURE ) 、配置( CONFIGURATION)、程序包(PACKAGE、库(LIBRARY)5个部分。 简单的实体是由实体和结构体两部分组成的。 实体用于描述设计系统的外部接口信号,结构体用于描述系统的行为、系统数据的流程或者系统组织结构形式。 设计实体是VHD

3、L程序的基本单元,是电子系统的抽象。 简单的实体可以是一个与门电路( AND GATE),复杂的实体可以是一个微处理器或一个数字电了系统。 实体由实体说明和结构体说明两部分组成。,2.1 VHDL程序的基本结构,下一页,下一页,上一页,2.1 VHDL程序的基本结构,【例2.1】以下是一个简单的VHDL源程序,可以归纳出VHDL程序的基本结构。 ENTITY m yand2 IS -实体名称为and2 PORT (a,b:IN BIT; -a, b是两个输入引脚 c:OUT BIT); -c为输出引脚 END m yand2; ARCHITECTURE examl OF myand2 IS -

4、结构体 BEGIN exam 1是对实体and2的内部 c=a AND b; 描述,描述了and2器件的内部 功能为实现一个2输入与门 END exam1;,下一页,上一页,由例2.1可以看出,VHDL程序由两部分组成: 第1部分为实体说明. 第2部分为结构体。 VHDL程序结构更抽象、更基本、更简练的表示如图2-1所示。 设计实体用关键字ENTITY来标识,结构体ARCHITECTURE来标识。 系统设计中的实体提供该设计系统的公共信息,结构体定义了各个 模块内的操作特性。 一个设计实体必须包含一个结构体或含有多个结构体。一个电子系统的设计模型如图2-2所示。,2.1 VHDL程序的基本结构

5、,下一页,一、实体 实体由实体名、类型说明、端口说明、实体说明部分和实体语句部分组成。 1.实体语句结构 根据IEEE标准,实体组织的一般格式为: ENTITY实体名IS GENERIC(类型说明); PORT(端口说明); 实体说明部分: BEGIN 实体语句部分; END ENTITY实体名;,2.1 VHDL程序的基本结构,上一页,实体名是设计者自己给设计实体的命名,其他设计实体可对该设计实体进行调用。中间在方括号内的语句描述,在特定的情况下并非是必须的。 2.类型说明 类型说明是实体说明中的可选项,放在端口说明之前,其一般使写格式为: GENERIC CONSTANT名字表: 1N了类

6、型标识:一静态表达式, 举例: GENERIC(m:TIME: =3ns) 这个参数说明是指在VHDL程序中,结构体内的参数m的值为3ns。,下一页,上一页,2.1 VHDL程序的基本结构,类型说明和端口说明是实体说明的组成部分,用于说明设计实体和外部通信的通道。利用外部通信通道,参数的类型说明为设计实体提供信息。参数的类型用来规定端口的大示、I/O引脚的指派、实体中子元件的数口和实体的定时特性等信息。 3.端口说明 端口说明是对设计实体与外部接口的描述,是设计实体和外部环境动态通信的通道,其功能对应于电路图符号的一个引脚。实体说明中的每一个I/O信号被称为一个端口,一个端口就是一个数据对象。

7、端口可以被赋值,也可以当做变量用在逻辑表达式中。定义实体的一组端口称作端口说明。,下一页,上一页,2.1 VHDL程序的基本结构,端口说明的组织结构必须有一个名称、一个通信模式和一个数据类型。端口说明的一般格式为: Port(端口名,端口名:模式 数据类型名 端口名,端口名:模式 数据类型名); 端口名是赋于每个外部引脚的名称,名称的含义要明确,如D开头的端口名表示数据,A开头的端口名表示地址等。端口名通常用几个英文字母或一个英文字母加数字表示。 下面是合法的端口名:CLK, RESET, A0, D3。 模式用来说明数据、信号通过该端口的传输方向。端口模式有IN, OUT,BUFFER, 1

8、NOUT。,下一页,上一页,2.1 VHDL程序的基本结构,下一页,上一页,(1)输入(IN) 输入仅允许数据流入输入模式主要用于时钟输入、控制输入(如RESET, ENABLE, CLK)和单向的数据输入,如地址信号(ADDRESS)。不用的输入一般接地,以免浮动引入干扰噪声。 (2)输出(OUT) 输出仅允许数据流从实体内部输出。端口的驱动源是由被设计的实体内部进行的。输出模式不能用于被设计实体的内部反馈,因为输出端口在实体内不能看做可读的。输出模式常用于计数输出、单向数据输出、设计实体产生的控制其他实体的信号等。一般而言,不用的输出端口不能接地,避免造成输出高电平时烧毁被设计实体。,2.

9、1 VHDL程序的基本结构,(3)缓冲(BUFFER) 缓冲模式的端口与输出模式的端口类似,只是缓冲模式允许内部引用该端口的信号。缓冲端口既能用于输出,也能用于反馈。 缓冲端口的驱动源可以是: 设计实体的内部信号源; 其他实体的缓冲端口。 缓冲不允许多重驱动,不与其他实体的双向端口和输出端口相连。 内部反馈的实现方法有: 建立缓冲模式端口; 建立设计实体的内部节点。,下一页,上一页,2.1 VHDL程序的基本结构,缓冲模式用于在实体内部建立一个可读的输出端口,例如计数器输出,计数器的现态被用来决定计数器的次态。实体既需要输出,又需要反馈,这时设计端口模式应为缓冲模式。 (4)双向模式(INOU

10、T) 双向模式可以代替输入模式、输出模式和缓冲模式。 在设计实体的数据流中,有些数据是双向的,数据可以流入该设计实体,也有数据从设计实体流出,这时需要将端口模式设计为双向端口。 双向模式的端口允许引入内部反馈,所以双向模式端口还可以作为缓冲模式用。由上述分析可见,双向端口是一个完备的端口模式。,下一页,上一页,2.1 VHDL程序的基本结构,二、结构体 结构体具体指明了该设计实体的行为,定义了该设计实体的功能,规定了该端口。输入信号的驱动源由设计实体的数据流程,指派了实体中内部元件的连接关系。 用VHDL语言描述结构体有4种方法: 行为描述法:采用进程语句,顺序描述被称设计实体的行为。 数据流

11、描述法:采用进程语句,顺序描述数据流在控制流作用下被加工、处理、存储的全过程。 结构描述法:采用并行处理语句描述设计实体内的结构组织和元件互连关系。,下一页,上一页,2.1 VHDL程序的基本结构,采用多个进程(PROCESS)、多个模块(BLOCKS)、多个子程序(SUBPROGRAMS)的子结构方式。 结构体的一般书写格式为: ARCHITECTURE结构体名OF实体名IS 定义语句,内部信号,常数,数据类型,函数定义 BEGIN 并行处理语句; 进程语句; END结构体名;,下一页,上一页,2.1 VHDL程序的基本结构,一个结构体的组织结构从“ARCHITECTURE结构体名OF实体名

12、IS”开始,到“END结构体名”结束。 结构体名称由设计者自由命名,是结构体的唯一名称。OF后面的实体名称表明该结构体属于哪个设计实体,有些设计实体中可能含有多个结构体。这些结构体的命名可以从不同侧面反映结构体的特色,让人一目了然。例如: ARCHITECTURE behacvioral OF mux IS -用结构体行为命名 ARCHITECTURE dataflow OF mux IS -用结构体的数据流命名,下一页,上一页,2.1 VHDL程序的基本结构,ARCHITECTURE structural OF mux IS -用结构体的组织结构命名 ARCHITECTURE bool OF

13、 mux IS -用结构体的数学表达方式命名 ARCHITECTURE latch OF mux IS -用结构体的功能来定义 上述几个结构体都属于设计实体mux,每个结构体有着不同的名称,使得阅读VHDL程序的人能直接从结构体的描述方式了解功能,定义电路行为。,下一页,上一页,2.1 VHDL程序的基本结构,三、程序包 实体中定义的各种数据类型、子程序和元件调用说明只能局限在该实体内或结构体内调用,其他实体不能使用。 程序包的语句格式如下: PACKAGE程序包名IS -程序包首开始 程序包首说明语句 END程序包名; -程序包首结束 PACKAGE BODY程序包名IS -程序包体开始 程

14、序包体说明语句 END程序包名; -程序包体结束,下一页,上一页,2.1 VHDL程序的基本结构,STD_LOGIC_1164程序包是IEEE库中最常用的程序包,是IEEE的标准程序包。其中包括了一些数据类型、了类型和函数的定义,这些定义将VHDL扩展为一个能描述多值逻辑(即除具有“0”和“1”以外还有其他的逻辑量,如高阻态“Z“、不定态“X”等)的硬件描述语言。 程序包结构中,程序包体并非是必须的,程序包首可以独立定义和使用。 例如: PACKAGE PAC1 IS -程序包首开始 TYPE BYTE IS RANGE 0 TO 255; -定义数据类型BYTE,下一页,上一页,2.1 VH

15、DL程序的基本结构,SIGNAL ADDEND: NIBBLE; -定义信号ADDEND END PAC1; -程序包首结束 如果要使用这个程序包中的所有定义,可用USE语句访问此程序 包: USE WORK.PAC1.ALL; 四、库 在利用VHDL进行工程设计中,为了提高设计效率以及使设计遵循某些统一的语言标准或数据格式,有必要将一些有用的信息汇集在一个或几个库中以供调用。这些信息可以是预先定义的数据类型、子程序等设计单元的集合体(程序包),或预先设计好的各种设计实体(元件库程序包)。因此,可以把库看成是一种用来存储预先完成的程序包和数据集合体的仓库。,上一页,下一页,2.1 VHDL程序

16、的基本结构,库的语句格式如下: LIBRARY库名: 这一语句相当于为其后的设计实体打开了以次库名命名的库,以便设计实体可以利用其中的程序包。如语句“LIBRARY_IEEE;”表示打开IEEE库。 1.库的种类 (1)IEEE库 IEEE库是VH支持工业标准的程序包。IEEE库中的标准程序包主要包含STD_LOGIC_1164, STD_LOGIC_ARITH, STD_LOGIC_SIGNED , STD_LOGIC_UNSIGNED程序包。,上一页,下一页,2.1 VHDL程序的基本结构,(2)STD库 STD库是VHDL的标准库,VHDL在编译过程中自动使用这个库,所以使用时不需要语句说明,类似“LIBRARY_STD”这种语句是不必要的。 (

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

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

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