《VHDL程序基本结构.pptx》由会员分享,可在线阅读,更多相关《VHDL程序基本结构.pptx(34页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、会计学1VHDL程序基本程序基本(jbn)结构结构第一页,共34页。n n(1)库、程序包使用说明:)库、程序包使用说明:用于打开用于打开(调用调用(dioyng)本设本设计实体计实体n n将要用到的库、程序包;程序将要用到的库、程序包;程序包存放各个设计模块共享的包存放各个设计模块共享的n n数据类型、常数和子程序等;数据类型、常数和子程序等;库是专门存放预编译程序包库是专门存放预编译程序包n n的地方。的地方。(2)实体)实体(sht):用于描述所设计的系统的外部接口信:用于描述所设计的系统的外部接口信号,是可视部分;号,是可视部分;(3)结构体:用于描述系统内部的结构和行为,建立输入)结
2、构体:用于描述系统内部的结构和行为,建立输入(shr)和输出之间的关系,是不可视部分。和输出之间的关系,是不可视部分。(4)配置说明语句:配置说明语句:主要用于以层次化的方式对特定的设计实体主要用于以层次化的方式对特定的设计实体进行元件例化,或是为实体选定某个特定的结构体。进行元件例化,或是为实体选定某个特定的结构体。第1页/共34页第二页,共34页。实体(ENTITY)是一个设计实体的表层设计单元,其功能是对这个设计实体与外部电路进行接口(ji ku)描述。它规定了设计单元的输入输出接口(ji ku)信号或引脚,是设计实体经封装后对外的一个通信界面。1实体语句结构 实体说明单元的常用语句结构
3、如下:ENTITY 实体名 IS GENERIC(类属表);PORT(端口表);END ENTITY 实体名;2.2.1 实体实体(sht)第2页/共34页第三页,共34页。实体说明单元必须以语句“ENTITY 实体名IS”开始,以语句“END ENTITY 实体名;”结束。实体名是设计者自己给设计实体的命名,可作为其他设计实体对该设计实体进行(jnxng)调用时用。中间在方括号内的语句描述,在特定的情况下并非是必须的。例如构建一个VHDL仿真测试基准等情况中可以省去方括号中的语句。第3页/共34页第四页,共34页。2类属类属(GENERIC)说明语句说明语句 类类属属(GENERIC)参参量
4、量是是一一种种端端口口界界面面常常数数,常常以以一一种种说说明明的的形形式式(xngsh)放放在在实实体体或或块块结结构构体体前前的的说说明明部部分分。类类属属为为所所说说明明的的环环境境提提供供了了一一种种静静态态信信息息通通道道,类类属属的的值值可可以以由由设设计计实实体外部提供。体外部提供。类属说明的一般书写格式如下:类属说明的一般书写格式如下:GENERIC(常数名;数据类型常数名;数据类型:设定值:设定值 ;常数名:数据类型;常数名:数据类型:设定值:设定值);第4页/共34页第五页,共34页。LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;ENTITY
5、AND2ISGENERIC(RISEW:TIME:=1ns;FALLW:TIME:=1ns);PORT(A1:INSTD_LOGIC;A0:INSTD_LOGIC;Z0:OUTSTD_LOGIC);ENDENTITYAND2;【例【例2.2】2输入输入(shr)与门的实体描述与门的实体描述 类属说明中定义参数类属说明中定义参数RISEW为上沿宽度,为上沿宽度,FALLW为下沿宽为下沿宽度,它们度,它们(t men)分别为分别为 1 ns,这两个参数用于仿真模块的设计。,这两个参数用于仿真模块的设计。第5页/共34页第六页,共34页。实体端口说明的一般书写格式实体端口说明的一般书写格式(g sh
6、i)如下:如下:PORT(端口名:端口模式端口名:端口模式 数据类型;数据类型;端口名:端口模式端口名:端口模式 数据类型数据类型);端口名是设计者为实体的每一个对外通道(系统引脚)所取的名字,一般用几个英文字母组成;端口模式(端口方向(fngxing)是指这些通道上的数据流动方式,即定义引脚是输入还是输出;数据类型是指端口上流动的数据的表达格式。3PORT端口说明(shumng)第6页/共34页第七页,共34页。图图2.5 端口模式端口模式(msh)符号图符号图 IEEE 1076标准包中定义了4种常用的端口模式,各端口模式的功能及符号(fho)分别见表2.1和图2.5。表表2.1 端口模式
7、端口模式(msh)说明说明第7页/共34页第八页,共34页。PORT(n0,n1,select:INBIT;q:OUTBIT;bus:OUTBIT_VECTOR(7DOWNTO0);【例【例2.3】端口模式】端口模式(msh)及数据类型定义及数据类型定义 说明:说明:n0,n1,select 是输入引脚,属于是输入引脚,属于BIT型;型;q是输出是输出(shch)引脚,引脚,BIT型;型;bus是一组是一组8位二进制总线,属于位二进制总线,属于BIT_VECTOR。第8页/共34页第九页,共34页。n n LIBRARYIEEE;n nUSEIEEE.STD_LOGIC.1164.ALL;n
8、nENTITYmmISn nPORT(n0,n1,select:INSTD_LOGIC;n nQ:OUTSTD_LOGIC;n nBus:OUTSTD_LOGIC_VECTOR(7DOWNTO0);n nENDENTITYmm;【例2.4】端口模式(msh)及IEEE库数据类型定义 例中端口数据类型取自例中端口数据类型取自IEEE标准库标准库(该库中有数据类型和该库中有数据类型和函数的说明函数的说明),其中,其中STD_LOGIC 取值为取值为“0”,“1”,“X”和和“Z”。因为使用了库,所以在实体说明前要增加。因为使用了库,所以在实体说明前要增加(zngji)库说明语句。库说明语句。第9页
9、/共34页第十页,共34页。2.2.2 结构结构(jigu)体体 结构体(ARCHITECTURE)是设计实体的一个重要部分,结构体将具体(jt)实现一个实体。结构体不能单独存在,它必须有一个界面说明,即一个实体。对于具有多个结构体的实体,必须用CONFIGURATION 配置语句指明用于综合的结构体和用于仿真的结构体,即在综合后的可映射于硬件电路的设计实体中,一个实体只对应一个结构体。在电路中,如果实体代表一个器件符号,则结构体描述了这个符号的内部行为。第10页/共34页第十一页,共34页。n nARCHITECTURE 结构体名结构体名 OF 实体名实体名 ISn n 说明语句说明语句 -
10、内部信号内部信号(xnho),常数,数据类型,函,常数,数据类型,函数等的定义数等的定义n n BEGINn n 功能描述语句功能描述语句n nEND ARCHITECTURE 结构结构体名体名;1.结构结构(jigu)体语句格式体语句格式第11页/共34页第十二页,共34页。n n ENTITYmuxISn nPORT(a0,a1:INBIT;n nSel:INBIT;n nSh:OUTBIT);n nENDmux;n nARCHITECTUREdataflowOFmuxISn nBEGINn nsh=(a0ANDsel)OR(NOTselANDa1);n nENDdataflow;【例【例
11、2.5】结构】结构(jigu)体描述体描述第12页/共34页第十三页,共34页。n n 结构体中的说明结构体中的说明(shumng)语句语句是对结构体的功能描述语句中将是对结构体的功能描述语句中将要用要用n n到的信号到的信号(SIGNAL)、数据类型、数据类型(TYPE)、常数、常数(CONSTANT)、n n元件元件(COMPONENT)、函数、函数(FUNCTION)和过程和过程(PROCEDURE)n n等加以说明等加以说明(shumng)的语句。的语句。n n 在一个结构体中说明在一个结构体中说明(shumng)和定义的数据类型、和定义的数据类型、常数、元件、函常数、元件、函n n数
12、和过程只能用于这个结构体中,数和过程只能用于这个结构体中,若希望其能用于其他的实体若希望其能用于其他的实体n n或结构体中,则需要将其作为程或结构体中,则需要将其作为程序包来处理。序包来处理。2结构体说明结构体说明(shumng)语句语句第13页/共34页第十四页,共34页。n n3.功能描述语句功能描述语句 n n 描述设计实体的具体行为,它描述设计实体的具体行为,它包含两类语句:包含两类语句:n n (1)并行语句:并行语句总是并行语句:并行语句总是(zn sh)在进程语句在进程语句(PROCESS)的外的外n n部,语句的执行与书写顺序无关,部,语句的执行与书写顺序无关,总是总是(zn
13、sh)同时被执行。同时被执行。n n (2)顺序语句:顺序语句总是顺序语句:顺序语句总是(zn sh)在进程语句在进程语句(PROCESS)的内的内n n部,该语句是顺序执行的。部,该语句是顺序执行的。n n 一个结构体可以包含几个类型一个结构体可以包含几个类型的子结构描述:的子结构描述:BLOCK(块块)n n描述、描述、PROCESS(进程进程)描述、描述、SUNPROGRAMS(子程序子程序)描描n n述。述。第14页/共34页第十五页,共34页。n n 块语句是由一系列并行执行语句构成的组合体,它的功n n能是将结构体中的并行语句组成一个或多个模块。n n 进程语句定义顺序语句模块,用
14、于将从外部获得的信号n n值,或内部的运算数据向其他的信号进行赋值。n n 子程序调用语句用于调用一个已设计好的子程序。n n 信号赋值语句将设计实体(sht)内的处理结果向定义的信号或界n n面端口进行赋值。n n 元件例化语句对其他的设计实体(sht)作元件调用说明。第15页/共34页第十六页,共34页。n n使用使用BLOCK语句描述的格式语句描述的格式如下如下(rxi):n n 块标号块标号:BLOCK n n BEGINn n END BLOCK 块标号块标号;1)BLOCK块语句块语句(yj)第16页/共34页第十七页,共34页。n n ENTITYmuxISn nPORT(d0,
15、d1,sel:INBIT;n nq:OUTBIT);n nENDmux;n nARCHITECTUREconnectOFmuxISn nSIGNALtmp1,tmp2,tmp3:BIT;n nBEGINn ncale:BLOCKn nBEGINn ntmp1=d0ANDsel;n ntmp2=d1AND(NOTsel);n ntmp3=tmp1ORtmp2;n nq=tmp3;n nENDBLOCKcale;n nENDconnect;【例【例2.6】用块语句实现用块语句实现(shxin)的二选一电路的二选一电路第17页/共34页第十八页,共34页。n n进程描述的格式如下:进程描述的格式如下
16、:n n 进程名进程名:PROCESS(信号信号1,信号信号2,)n n BEGINn n n n END PROCESS 进程名进程名;n n 进程语句中总是带有信号变进程语句中总是带有信号变量(敏感变量),只有当信号量(敏感变量),只有当信号n n变量发生变化时,进程才被启变量发生变化时,进程才被启动,将进程里的语句从上到下动,将进程里的语句从上到下n n顺序执行顺序执行(zhxng)一遍,执行一遍,执行(zhxng)完了就回到开始的完了就回到开始的PROCESS语句。语句。2)进程进程(Process)语句语句(yj)描述描述第18页/共34页第十九页,共34页。n nENTITYmux
17、2ISn nPORT(d0,d1,sel:INBIT;n nq:OUTBIT);n nENDmux2;n nARCHITECTUREconnectOFmux2ISn nBEGINn ncale:PROCESS(d0,d1,sel)n nVARIABLEtmp1,tmp2,tmp3:BIT;n nBEGINn ntmp1:=d0ANDsel;n ntmp2:=d1AND(NOTsel);n ntmp3:=tmp1ORtmp2;n nq=tmp3n nENDPROCESScale;n nENDconnect;【例【例2.7】用进程语句实现】用进程语句实现(shxin)的二选的二选一电路一电路第19
18、页/共34页第二十页,共34页。n n子程序就是在主程序调用它以后子程序就是在主程序调用它以后能将处理结果返回能将处理结果返回(fnhu)给主给主程程n n序。在序。在VHDL中有中有2种类型:过程种类型:过程和函数。和函数。n n过程语句过程语句n nPROCEDURE过程名过程名(参数参数1,参数参数2)ISn n定义语句定义语句;n nBEGINn n顺序处理语句顺序处理语句;n nEND过程名;过程名;3)子程序语句子程序语句(yj)描述描述第20页/共34页第二十一页,共34页。n n 函数语句函数语句函数语句函数语句(y(y j)j)n nFUNCTION FUNCTION 函数名
19、函数名函数名函数名(参数参数参数参数1 1,参数,参数,参数,参数2)RETURN2)RETURN数据类型名数据类型名数据类型名数据类型名 IS ISn n 定义语句定义语句定义语句定义语句(y(y j)j);n n BEGIN BEGINn n 顺序处理语句顺序处理语句顺序处理语句顺序处理语句(y(y j)j)n n RETURN RETURN 返回变量名返回变量名返回变量名返回变量名 n n END END 函数名;函数名;函数名;函数名;第21页/共34页第二十二页,共34页。n nFUNCTIONmin(x,y:INTEGER)RETURNINTEGERISn nBEGINn nIFX
20、return1;n nwhen1=return0;n nwhenz=returnz;n nEndcase;n nEndinvert;n nEndlogic;例例2.11 程序包体程序包体第30页/共34页第三十一页,共34页。n n配置用于在多结构体中为一个实配置用于在多结构体中为一个实体指定一个结构体。体指定一个结构体。n n 例如,在做例如,在做RS触发器的实体中触发器的实体中使用了使用了2个结构体,目的是个结构体,目的是n n研究各个结构体描述的研究各个结构体描述的RS触发器触发器的行为性能如何,但是的行为性能如何,但是(dnsh)究究n n竟在仿真中使用哪一个结构体的竟在仿真中使用哪一
21、个结构体的问题就是配置问题。问题就是配置问题。n n 配置语句格式配置语句格式n n CONFIGURATION 配置名配置名 OF 实体名实体名 ISn n 说明语句说明语句n n END配置名;配置名;3.7.3 配置配置(pizh)(CONFIGURATION)第31页/共34页第三十二页,共34页。n n ENTITYrsISn nPORT(set,reset:INBIT;n nq,qb:BUFFERBIT);n nENDrs;n nARCHITECTURErsff1OFrsISn nCOMPONENTnand2n nPORT(a,b:INBIT;n nc:OUTBIT);n nEND
22、COMPONENT;n nBEGINn nU1:nand2PORTMAP(a=set,b=qb,c=q);n nU2:nand2PORTMAP(a=reset,b=q,c=qb);n nENDrsff1;【例【例2.12】配置】配置(pizh)使用示例使用示例第32页/共34页第三十三页,共34页。n nARCHITECTURErsff2OFrsISn nBEGINn nq=NOT(qbANDset);n nqb=NOT(qANDreset);n nENDrsff2;n nCONFIGURATIONreconofrsISn nFORrsff1n nENDFOR;n nENDrecon;第33页/共34页第三十四页,共34页。