《硬件描述语言》PPT课件.ppt
《《硬件描述语言》PPT课件.ppt》由会员分享,可在线阅读,更多相关《《硬件描述语言》PPT课件.ppt(65页珍藏版)》请在三一办公上搜索。
1、第三部分 硬件描述语言VHDL,什么是VHDL?,Very high speed integrated Circuit Hardware Description Language(VHDL)是IEEE、工业国际标准硬件描述语言用语言的方式而非图形等方式描述硬件电路容易修改容易保存VHDL支持行为级、寄存器传输级(RTL)和门级三个不同层次的设计,VHDL语言特点,支持多种设计方法和技术与工艺技术独立多层次描述能力VHDL语言标准化、规范化,易于共享和复用,VHDL的功能和标准,VHDL 描述输入端口输出端口电路的行为和功能VHDL有过两个标准:IEEE Std 1076-1987(called
2、 VHDL 1987)IEEE Std 1076-1993(called VHDL 1993),VHDL综合,综合:将电路的高级语言(如行为描述)转化成低级的,可与FPGA/CPLD的基本结构相映射的网表文件或程序 设计过程中的每一步都可称为一个综合环节。(1)从自然语言转换到VHDL语言算法表示,即自然语言综合;(2)从算法表示转换到寄存器传输级(Register Transport Level,RTL),即从行为域到结构域的综合,即行为综合;,VHDL综合,(3)RTL级表示转换到逻辑门(包括触发器)的表示,即逻辑综合;(4)从逻辑门表示转换到版图表示(ASIC设计),或转换到FPGA的配
3、置网表文件,可称为版图综合或结构综合。有了版图信息就可以把芯片生产出来了。有了对应的配置文件,就可以使对应的FPGA变成具有专门功能的电路器件。,第一章 VHDL基础知识,一个VHDL程序组成:实体(Entity)、结构体(Architecture)、配置(Configuration)、包集合(Package)、库(Library)5个部分一个VHDL程序是对设计单元(设计实体)的描述,数字电子系统,数字单元或芯片,一个简单门电路,VHDL语言把设计单元作为一个设计实体处理;一个设计实体只能唯一地对应一个设计单元,实体 描述设计系统的外部接口信号是VHDL程序的基本单元 实体说明 结构体,一个
4、VHDL程序包括,结构体描述系统的行为、系统数据的流程或系统组织结构形式配置从库中选取所需单元来组成系统设计的不同规格的不同版本,使被设计系统的功能发生变化包集合存放各设计模块能共享的数据类型、常数、子程序,库存放已编译的实体、结构体、包集合、配置。用户自行生成的IP库。是专业EDA公司的重 要任务 PLD、ASIC芯片制造商提供的库。如RAM,ROM控制器,Counter计数器等标准模块,1.1 VHDL程序基本结构,【例1】ENTITY mux21a IS PORT(a,b:IN BIT;s:IN BIT;y:OUT BIT);END ENTITY mux21a;ARCHITECTURE
5、one OF mux21a IS BEGIN y=a WHEN s=0 ELSE b;END ARCHITECTURE one;,实体,结构体,多路选择器VHDL描述,图5-1 mux21a实体,图5-2 mux21a结构体,2选1多路选择器的VHDL描述,VHDL程序由实体说明和结构体两部分组成,设计实体结构体描述,实体说明描述,功能定义行为描述数据流程系统结构,VHDL程序实体和结构体关系示意图,一个电路系统的程序设计有一个实体说明,可以对应多个结构体,但要求一个独立的VHDL文件只能由一个实体说明和一个结构体组成,统称实体结构体对实体提供该设计的公共信息结构体定义了各个模块内的操作特征,
6、1.实体组织的一般格式,实体组织和设计方法由实体名、类属表、端口表、实体说明部分和实体语句部分组成,ENTITY e_name ISGENERIC(类属表);PORT(端口表);实体说明部分;BEGIN 实体语句部分;END ENTITY e_name;,2、实体说明实体说明:描述一些参数的属性参数的属性说明必须放在端口说明之前实体说明部分是实体接口中的公共信息,应放在端口说明之后在层次化系统设计中,顶层的实体说明可以是整个系统模块或整个单元模块的输入、输出(I/O)描述;在一个器件级的设计中(底层),实体说明可以是一个元件或芯片的输入、输出(I/O)描述;实体说明在VHDL程序设计中描述一个
7、元件或一个模块与设计系统的其余部分(其余元件、模块)之间的连接关系,可以看作是一个电路符号。,3、类属说明,格式GENERIC CONSTANT 端口名:IN子类型标识符:=初始值,例:GENERIC(m:TIME:=3ns)属性说明和端口说明用于设计实体和外部环境通信的对象、通信格式约定和通信通道的大小,4.端口说明,该功能对应于电路图符号的一个引脚实体说明中的每一个I/O信号被称作一个端口,一个端口就是一个数据对象端口说明的组织结构必须有一个名字、一个通信模式和一个数据类型端口模式:说明数据、信号通过该端口的方向,IN,OUT,INOUT,BUFFER,IN定义的通道为单向只读模式,规定数
8、据只能通过该端口被读入实体中OUT规定数据只能通过该端口从实体向外流出,或者说可以将实体中的数据向此端口赋值,INOUT 输入输出双向端口。从端口内部看,可以对此端口进行赋值,也可以通过此端口读入外部的数据信息;而从端口的外部看,信号既可以从此端口流出,也可以向此端口输入信号,如RAM的数据端口。BUFFER功能与INOUT类似,区别:当需要输入数据时,只允许内部回读输出信号,即允许反馈。如计数器设计,可将计数器输出的计数信号回读,以作为下一计数值的初值。该回读信号不是由外部输入,而是由内部产生,向外输出的信号,出入端口的数据或信号的数据类型(TYPES)标准逻辑类型:布尔型、位型、位矢量型、
9、整数型这些标准必须从实体的库中或USE语句中调用,5、实体说明部分,实体说明部分定义的项目是实体接口中的公共信息例ENEITY ram IS PORT(addr:IN bit_Vector(15 DOWNTO 0);Date:OUT bit _Vector(31 DOWNTO 0);Sel:IN bit);TYPE instruction IS ARRAY(1 TO 5)OF Natural;TYPE PROGRAM is array(Natural RANGE)OF IN instruction;USE Work.timing_pkg;PROCEDURE initialization(SIG
10、NAL content:bit_vector(31 DOWNTO 0)IS BEGIN CONTENT1)AFTER some_delay;END PROCEDURE initialization;END ram,1.1.2.结构体结构体具体指明了该设计实体的行为,定义了该设计实体的功能,规定了该实体的数据流程,指派了实体中内部元件的连接关系若把设计实体抽象为一个功能方块图,结构体则描述这个功能方块图的内部实现细节描述结构体功能的方法:行为描述法数据流描述法结构描述法,格式,ARCHITECTURE 结构体名 OF 实体名 IS定义语句BEGIN并行处理语句END结构体命名定义语句对结构体内部
11、使用的信号、常数、数据类型、文件和函数等进行定义,并性处理语句表达结构体内部元件的互连关系语句是并发进行的1.1.3 库用于存放经编译后的设计单元通过其目录可查询和调用VHDL语言中存在的库大体分:IEEE库、STD库、面向ASIC库、WORK库和用户自定义库库和库之间是独立的,不能相互嵌套库说明子句格式:LIBRARY 库名,预定义库,设计库,STD库,STANDARD(隐含说明)TEXTIO(用USE说明),WORK库,资源库,(用LIBRARY 打开),IEEE库,其他库,STD_LOGIC_1164NUMERIC_STDNUMERIC_BITMATHVITAL_TIMINGVITAL_
12、PRIMITIVE,VHDL库和程序包,1.1.4 程序包,为何要定义程序包信号定义、常数定义、数据类型、COMPONENT语句以及子程序等可以在实体说明部分或结构体说明部分加以说明,而且一个实体说明部分对上述的信号、数据类型以及元件等的定义在相应的结构体内是可见的,或者说可以在结构体描述中使用。但是,对其他的实体说明和结构体描述,上述的定义是不可见的,或者说是不可以引用的。为了使一组信号定义、一组数据类型说明或子程序说明等对多个设计实体及相应的结构体都成为可见,VHDL提供了程序包结构,将常用的相关说明(类型说明、常量说明、子程序说明、元件说明、属性说明等)搜集在一起,一旦编译后存入库中通过
13、USE语句调用 组成:程序包说明:为程序包定义接口,说明包中的类型、元件、函数和子程序 程序包体:规定集合包的实际功能,存放说明中的函数和子程序一个程序包说明只能有惟一的一个程序包体与之对应,二者有相同的名字,格式PACKAGE 程序包名 IS说明语句END PACKAGE 程序包名PACKAGE BODY 程序包名 IS说明语句END PACKAGE BODY 程序包名,程序包说明,程序包体,程序包体并非总是必须,但在程序包中包含有子程序说明,则必须有。子程序说明及子程序体不能出现在程序包的说明中,必须放在程序包体内,例1LIREARY IEEE;USE IEEE.STD_LOGIC_116
14、4.ALL;PACKAGE upac IS CONSTANT k:INTEGER:=4;TYPE instruction IS(add,sub,adc,inc,srf,slf,mov);SUBTYPE cpu_bus IS STD_LOGIC_VECTOR(k-1 DOWNTO 0);END upac;,例2:程序包的VHDL程序书写举例PACKAGE example IS CONSTANT pi:REAL:=3.1415926;CONSTANT defer:INTEGER;FUNCTION mean(a,b,c:REAL)RETURN REAL;COMPONENENT and IS GENE
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 硬件描述语言 硬件 描述 语言 PPT 课件
链接地址:https://www.31ppt.com/p-5587817.html