欢迎来到天天文库
浏览记录
ID:59560976
大小:345.00 KB
页数:89页
时间:2020-11-11
《VHDLandPLD第03章VHDL程序结构(XXXX年9月)教学文稿.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、VHDLandPLD第03章VHDL程序结构(XXXX年9月)第3章VHDL程序结构在VHDL程序中实体ENTITY和结构体ARCHITECTURE这两个基本结构是必需的它们可以构成最简单的VHDL程序。通常,最简单的VHDL程序结构中还应包括另一重要的部分,即库LIBRARY和程序包PACKAGE一个实用的VHDL程序可以由一个或多个设计实体构成,可以将一个设计实体作为一个完整的系统直接利用,也可以将其作为其它设计实体的一个低层次的结构即元件来例化。元件调用和连接,就是用实体来说明一个具体的器件。图3-1中配置CONFIGURATION结
2、构的设置常用于行为仿真中,如用于对特定结构体的选择控制。第3章VHDL程序结构3.1实体(ENTITY)实体作为一个设计实体的组成部分,其功能是对这个设计实体与外部电路进行接口描述。实体是设计实体的表层设计单元,实体说明部分规定了设计单元的输入输出接口信号或引脚。它是设计实体对外的一个通信界面。就一个设计实体而言,外界所看到的仅仅是它的界面上的各种接口。设计实体可以拥有一个或多个结构体,用于描述此设计实体的逻辑结构和逻辑功能,对于外界来说这一部分是不可见的。不同逻辑功能的设计实体可以拥有相同的实体描述。这是因为实体类似于原理图中的一个部件符
3、号,而其具体的逻辑功能是由设计实体中结构体的描述确定的。实体是VHDL的基本设计单元它可以对一个门电路、一个芯片、一块电路板乃至整个系统进行接口描述。第3章VHDL程序结构1.实体语句结构以下是实体说明单元的常用语句结构:ENTITY实体名IS[GENERIC(类属表);][PORT(端口表);]ENDENTITY实体名;实体说明单元必须按照这一结构来编写实体应以语句ENTITY实体名IS开始,以语句ENDENTITY实体名结束。其中的实体名可以由设计者自己添加,中间在方括号内的语句描述,在特定的情况下并非是必需的。第3章VHDL程序结构2
4、.实体名一个设计实体无论多大和多复杂,在实体中定义的实体名即为这个设计实体的名称在例化。(已有元件的调用和连接)中,即可以用此名对相应的设计实体进行调用。COMPONENTh_adder--元件调用说明PORT(ab:INSTD_LOGIC;coso:OUTSTD_LOGIC);ENDCOMPONENT;...u1:h_adderPORTMAP(a=>ainb=>binco=>dso=>e);...--这里的符号=>是端口关联符号第3章VHDL程序结构3.GENERIC类属说明语句类属GENERIC参量是一种端口界面常数常以一种说明的形式放
5、在实体或块结构体前的说明部分,类属为所说明的环境提供了一种静态信息通道,类属与常数不同常数只能从设计实体的内部得到赋值,且不能再改变而类属的值可以由设计实体外部提供。因此,设计者可以从外面通过类属参量的重新设定而容易地改变一个设计实体或一个元件的内部电路结构和规模。类属说明的一般书写格式如下:GENERIC([常数名:数据类型[:设定值]{常数名:数据类型[:设定值]});第3章VHDL程序结构程序3-2ENTITYmcu1ISGENERIC(addrwidth:INTEGER:=16);PORT(add_bus:OUTSTD_LOGIC_
6、VECTOR(addrwidth-1DOWNTO0));第3章VHDL程序结构程序3-4LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;ENTITYandnISGENERIC(n:INTEGER);PORT(a:INSTD_LOGIC_VECTOR(n-1DOWNTO0);c:OUTSTD_LOGIC);END;ARCHITECTUREbehavOFandnISBEGINPROCESS(a)VARIABLEint:STD_LOGIC;BEGINint:='1';FORiINa'LENGTH-1DOWNTO0LO
7、OPIFa(i)='0'THENint:='0';ENDIF;ENDLOOP;c<=int;ENDPROCESS;END;第3章VHDL程序结构程序3-5LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;ENTITYexnISPORT(d1,d2,d3,d4,d5,d6,d7:INSTD_LOGIC;q1,q2:OUTSTD_LOGIC);END;ARCHITECTUREexn_behavOFexnISCOMPONENTandnGENERIC(n:INTEGER);PORT(a:INSTD_LOGIC_VECTO
8、R(n-1DOWNTO0);c:OUTSTD_LOGIC);ENDCOMPONENT;BEGINu1:andnGENERICMAP(n=>2)PORTMAP(a(0)=>d1,a
此文档下载收益归作者所有