资源描述:
《VHDL与可编程器件3剖析.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、2021/2/71第三章VHDL语言程序设计2021/2/72VHDL语言的英文全名是VeryHighSpeedIntegratedCircuitHardwareDescriptionLanguage即超高速集成电路硬件描述语言。它是70年代和80年代初,由美国国防部为他们的超高速集成电路VHSIC计划提出的硬件描述语言,它支持硬件的设计、综合、验证和测试。1986年3月,IEEE开始致力于VHDL的标准化工作,讨论VHDL语言标准。IEEE于1987年12月公布了VHDL的标准版本(IEEESTD1076/1987);1993年VHDL重新修订,形成新的标准即IEEE
2、STD1076-1993)。什么是VHDL语言?2021/2/73从此以后,美国国防部实施新的技术标准,要求电子系统开发商的合同文件一律采用VHDL文档。即第一个官方VHDL标准得到推广、实施和普及。VHDL语言描述能力极强,覆盖了逻辑设计的诸多领域和层次,并支持众多的硬件模型。设计者的原始描述是非常简练的硬件描述,经过EDA工具综合处理,最终生成付诸生产的电路描述或版图参数描述的工艺文件。VHDL有过两个标准:IEEEStd1076-1987(calledVHDL1987)IEEEStd1076-1993(calledVHDL1993)2021/2/74一个完整的VH
3、DL设计实例LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;ENTITYmux21aISPORT(a,b:INBIT;s:INBIT;y:OUTBIT);ENDENTITYmux21a;ARCHITECTUREoneOFmux21aISBEGINy<=aWHENs='0'ELSEb;ENDARCHITECTUREone;实体结构体mux21a实体mux21a结构体2选1多路选择器的VHDL描述库程序包2021/2/75一、VHDL程序的基本结构一个相对完整的VHDL程序(或称为设计实体)具有如下图所示的比较固定的结构,即至少应包括三个基本组
4、成部分:VHDL基本结构1、库、程序包使用说明;2、实体说明;3、与实体对应的结构体说明;2021/2/76VHDL语言再划分详细一些,通常包含五部分:1、库(Library):专门存放预编译程序包的地方;2、包集合(Package):存放各个设计模块共享的数据类型、常数和子程序等;3、实体(Entity):用于描述所设计的系统的外部接口信号或引脚;4、构造体(Architecture):用于描述系统内部的结构和行为;建立输入和输出之间的关系;5、配置(Configuration):安装具体元件到实体—结构体对,可以被看作是设计的零件清单;2021/2/77二、实体语句
5、结构1.实体说明单元的常用语句结构如下:ENTITY实体名IS[GENERIC(类属表);][PORT(端口表);]END[ENTITY][实体名];2021/2/782.类属(GENERIC)说明语句类属(GENERIC)参量是一种端口界面常数,常以一种说明的形式放在实体或块结构体前的说明部分,说明内部电路结构和规模。类属说明的一般书写格式如下:GENERIC([常数名:数据类型[:设定值]{;常数名:数据类型[:=设定值]});2021/2/79【例】ENTITYMCKISGENERIC(WIDTH:INTEGER:=16);PORT(ADD_BUS:OUTSTD_
6、LOGIC_VECTOR(WIDTH-1DOWNTO0));...在这里,GENERIC语句对实体MCK的作为地址总线的端口ADD_BUS的数据类型和宽度作了定义,即定义ADD_BUS为一个16位的位矢量。2021/2/7103.PORT端口说明由PORT引导的端口说明语句是对于一个设计实体界面的说明。实体端口说明的一般书写格式如下:PORT(端口名:端口模式数据类型;{端口名:端口模式数据类型});2021/2/711端口名是赋予每个系统引脚的名称,一般用几个英文字母组成ENTITY实体名ISPORT(端口名:端口模式数据类型名;端口名:端口模式数据类型名;端口名:端
7、口模式数据类型名;端口名:端口模式数据类型名;端口名:端口模式数据类型名);END实体名;2021/2/712端口模式:IEEE1076标准包中定义了四种常用的端口模式,各端口模式的功能及符号分别见表端口模式端口模式说明(以设计实体为主体)IN输入,只读模式,将变量或信号信息通过该端口读入OUT输出,单向赋值模式,将信号通过该端口输出BUFFER具有读功能的输出模式,可以读或写,只能有一个驱动源INOUT双向,可以通过该端口读入或写出信息2021/2/713INOUTBUFFERINOUT2021/2/714数据类型:STD_LOGICS