分享
分销 收藏 举报 申诉 / 34
播放页_导航下方通栏广告

类型VHDL程序基本结构.ppt

  • 上传人:精***
  • 文档编号:1636403
  • 上传时间:2024-05-07
  • 格式:PPT
  • 页数:34
  • 大小:630KB
  • 下载积分:12 金币
  • 播放页_非在线预览资源立即下载上方广告
    配套讲稿:

    如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。

    特殊限制:

    部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。

    关 键  词:
    VHDL 程序 基本 结构
    资源描述:
    图图2.4 VHDL程序设计基本结构程序设计基本结构 2.2 VHDL程序基本结构程序基本结构 一个相对完整的一个相对完整的VHDL程序程序通常包含实体通常包含实体(Entity)、结构体结构体(Architecture)、配置配置(Configuration)、程序包程序包(Package)和库和库(Library)5个部分。个部分。(1)库、程序包使用说明:用于打开)库、程序包使用说明:用于打开(调用调用)本设计实体本设计实体将要用到的库、程序包;程序包存放各个设计模块共享的将要用到的库、程序包;程序包存放各个设计模块共享的数据类型、常数和子程序等;库是专门存放预编译程序包数据类型、常数和子程序等;库是专门存放预编译程序包的地方。的地方。(2)实体:用于描述所设计的系统的外部接口信号,是)实体:用于描述所设计的系统的外部接口信号,是可视部分;可视部分;(3)结构体:用于描述系统内部的结构和行为,建立输)结构体:用于描述系统内部的结构和行为,建立输入和输出之间的关系,是不可视部分。入和输出之间的关系,是不可视部分。(4)配置说明语句:主要用于以层次化的方式对特定的设)配置说明语句:主要用于以层次化的方式对特定的设计实体进行元件例化,或是为实体选定某个特定的结构体。计实体进行元件例化,或是为实体选定某个特定的结构体。实实体体(ENTITY)是是一一个个设设计计实实体体的的表表层层设设计计单单元元,其其功功能能是是对对这这个个设设计计实实体体与与外外部部电电路路进进行行接接口口描描述述。它它规规定定了了设设计计单单元元的的输输入入输输出出接接口口信信号号或或引引脚脚,是是设设计计实实体体经经封封装装后后对对外外的一个通信界面。的一个通信界面。1实体语句结构实体语句结构 实体说明单元的常用语句结构如下:实体说明单元的常用语句结构如下:ENTITY 实体名实体名IS GENERIC(类属表类属表);PORT(端口表端口表);ENDENTITY 实体名;实体名;2.2.1实体实体 实体说明单元必须以语句实体说明单元必须以语句“ENTITY 实体名实体名IS”开始,以语开始,以语句句“END ENTITY 实体名;实体名;”结束。结束。实体名是设计者自己给设计实体的命名,可作为其他设计实体名是设计者自己给设计实体的命名,可作为其他设计实体对该设计实体进行调用时用。实体对该设计实体进行调用时用。中间在方括号内的语句描述,在特定的情况下并非是必须中间在方括号内的语句描述,在特定的情况下并非是必须的。例如构建一个的。例如构建一个VHDL仿真测试基准等情况中可以省去方括仿真测试基准等情况中可以省去方括号中的语句。号中的语句。2类属类属(GENERIC)说明语句说明语句 类属类属(GENERIC)参量是一种端口界面常数,常以一种说明参量是一种端口界面常数,常以一种说明的形式放在实体或块结构体前的说明部分。类属为所说明的环的形式放在实体或块结构体前的说明部分。类属为所说明的环境提供了一种静态信息通道,类属的值可以由设计实体外部提境提供了一种静态信息通道,类属的值可以由设计实体外部提供。供。类属说明的一般书写格式如下:类属说明的一般书写格式如下:GENERIC(常数名;数据类型常数名;数据类型:设定值:设定值 ;常数名:数据类型;常数名:数据类型:设定值:设定值);LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;ENTITYAND2ISGENERIC(RISEW:TIME:=1ns;FALLW:TIME:=1ns);PORT(A1:INSTD_LOGIC;A0:INSTD_LOGIC;Z0:OUTSTD_LOGIC);ENDENTITYAND2;【例【例2.2】2输入与门的实体描述输入与门的实体描述类属说明中定义参数类属说明中定义参数RISEW为上沿宽度,为上沿宽度,FALLW为下沿宽为下沿宽度,它们分别为度,它们分别为1ns,这两个参数用于仿真模块的设计。,这两个参数用于仿真模块的设计。实体端口说明的一般书写格式如下:实体端口说明的一般书写格式如下:PORT(端口名:端口模式端口名:端口模式 数据类型;数据类型;端口名:端口模式端口名:端口模式 数据类型数据类型);端口名是设计者为实体的每一个对外通道端口名是设计者为实体的每一个对外通道(系统引脚系统引脚)所所取的名字,一般用几个英文字母组成;取的名字,一般用几个英文字母组成;端口模式端口模式(端口方向端口方向)是指这些通道上的数据流动方式,是指这些通道上的数据流动方式,即定义引脚是输入还是输出;即定义引脚是输入还是输出;数据类型是指端口上流动的数据的表达格式。数据类型是指端口上流动的数据的表达格式。3PORT端口说明端口说明图图2.5 端口模式符号图端口模式符号图 IEEE 1076标准包中定义了标准包中定义了4种常用的端口模式,各端口模种常用的端口模式,各端口模式的功能及符号分别见表式的功能及符号分别见表2.1和图和图2.5。表表2.1 端口模式说明端口模式说明PORT(n0,n1,select:INBIT;q:OUTBIT;bus:OUTBIT_VECTOR(7DOWNTO0);【例【例2.3】端口模式及数据类型定义端口模式及数据类型定义说明:说明:n0,n1,select是输入引脚,属于是输入引脚,属于BIT型;型;q是输出引脚,是输出引脚,BIT型;型;bus是一组是一组8位二进制总线,属于位二进制总线,属于BIT_VECTOR。LIBRARYIEEE;USEIEEE.STD_LOGIC.1164.ALL;ENTITYmmISPORT(n0,n1,select:INSTD_LOGIC;Q:OUTSTD_LOGIC;Bus:OUTSTD_LOGIC_VECTOR(7DOWNTO0);ENDENTITYmm;【例2.4】端口模式及IEEE库数据类型定义例中端口数据类型取自例中端口数据类型取自IEEE标准库标准库(该库中有数据类型和该库中有数据类型和函数的说明函数的说明),其中,其中STD_LOGIC取值为取值为“0”,“1”,“X”和和“Z”。因为使用了库,所以在实体说明前要增加库说明语句。因为使用了库,所以在实体说明前要增加库说明语句。2.2.2 结构体结构体结构体结构体(ARCHITECTURE)是设计实体的一个重要部分,是设计实体的一个重要部分,结构体将具体实现一个实体。结构体将具体实现一个实体。结构体不能单独存在,它必须有一个界面说明,即一个实结构体不能单独存在,它必须有一个界面说明,即一个实体。体。对于具有多个结构体的实体,必须用对于具有多个结构体的实体,必须用CONFIGURATION配置语句指明用于综合的结构体和用于仿真的结构体,即配置语句指明用于综合的结构体和用于仿真的结构体,即在综合后的可映射于硬件电路的设计实体中,一个实体只在综合后的可映射于硬件电路的设计实体中,一个实体只对应一个结构体。对应一个结构体。在电路中,如果实体代表一个器件符号,则结构体描述了在电路中,如果实体代表一个器件符号,则结构体描述了这个符号的内部行为。这个符号的内部行为。ARCHITECTURE结构体名结构体名OF实体名实体名IS说明语句说明语句-内部信号,常数,数据类型,函数等的定义内部信号,常数,数据类型,函数等的定义BEGIN功能描述语句功能描述语句ENDARCHITECTURE结构体名结构体名;1.结构体语句格式结构体语句格式ENTITYmuxISPORT(a0,a1:INBIT;Sel:INBIT;Sh:OUTBIT);ENDmux;ARCHITECTUREdataflowOFmuxISBEGINsh=(a0ANDsel)OR(NOTselANDa1);ENDdataflow;【例【例2.5】结构体描述结构体描述结构体中的说明语句是对结构体的功能描述语句中将要用结构体中的说明语句是对结构体的功能描述语句中将要用到的信号到的信号(SIGNAL)、数据类型、数据类型(TYPE)、常数、常数(CONSTANT)、元件元件(COMPONENT)、函数、函数(FUNCTION)和过程和过程(PROCEDURE)等加以说明的语句。等加以说明的语句。在一个结构体中说明和定义的数据类型、常数、元件、函在一个结构体中说明和定义的数据类型、常数、元件、函数和过程只能用于这个结构体中,若希望其能用于其他的实体数和过程只能用于这个结构体中,若希望其能用于其他的实体或结构体中,则需要将其作为程序包来处理。或结构体中,则需要将其作为程序包来处理。2结构体说明语句结构体说明语句3.功能描述语句功能描述语句描述设计实体的具体行为,它包含两类语句:描述设计实体的具体行为,它包含两类语句:(1)并行语句:并行语句总是在进程语句并行语句:并行语句总是在进程语句(PROCESS)的外的外部,语句的执行与书写顺序无关,总是同时被执行。部,语句的执行与书写顺序无关,总是同时被执行。(2)顺序语句:顺序语句总是在进程语句顺序语句:顺序语句总是在进程语句(PROCESS)的内的内部,该语句是顺序执行的。部,该语句是顺序执行的。一个结构体可以包含几个类型的子结构描述:一个结构体可以包含几个类型的子结构描述:BLOCK(块块)描述、描述、PROCESS(进程进程)描述、描述、SUNPROGRAMS(子程序子程序)描描述。述。块语句是由一系列并行执行语句构成的组合体,它的功块语句是由一系列并行执行语句构成的组合体,它的功能是将结构体中的并行语句组成一个或多个模块。能是将结构体中的并行语句组成一个或多个模块。进程语句定义顺序语句模块,用于将从外部获得的信号进程语句定义顺序语句模块,用于将从外部获得的信号值,或内部的运算数据向其他的信号进行赋值。值,或内部的运算数据向其他的信号进行赋值。子程序调用语句用于调用一个已设计好的子程序。子程序调用语句用于调用一个已设计好的子程序。信号赋值语句将设计实体内的处理结果向定义的信号或界信号赋值语句将设计实体内的处理结果向定义的信号或界面端口进行赋值。面端口进行赋值。元件例化语句对其他的设计实体作元件调用说明。元件例化语句对其他的设计实体作元件调用说明。使用使用BLOCK语句描述的格式如下:语句描述的格式如下:块标号块标号:BLOCKBEGINENDBLOCK块标号块标号;1)BLOCK块语句块语句ENTITYmuxISPORT(d0,d1,sel:INBIT;q:OUTBIT);ENDmux;ARCHITECTUREconnectOFmuxISSIGNALtmp1,tmp2,tmp3:BIT;BEGINcale:BLOCKBEGINtmp1=d0ANDsel;tmp2=d1AND(NOTsel);tmp3=tmp1ORtmp2;q=tmp3;ENDBLOCKcale;ENDconnect;【例【例2.6】用块语句实现的二选一电路用块语句实现的二选一电路进程描述的格式如下:进程描述的格式如下:进程名进程名:PROCESS(信号信号1,信号,信号2,)BEGIN ENDPROCESS进程名进程名;进程语句中总是带有信号变量(敏感变量),只有当信号进程语句中总是带有信号变量(敏感变量),只有当信号变量发生变化时,进程才被启动,将进程里的语句从上到下变量发生变化时,进程才被启动,将进程里的语句从上到下顺序执行一遍,执行完了就回到开始的顺序执行一遍,执行完了就回到开始的PROCESS语句。语句。2)进程进程(Process)语句语句描述描述ENTITYmux2ISPORT(d0,d1,sel:INBIT;q:OUTBIT);ENDmux2;ARCHITECTUREconnectOFmux2ISBEGINcale:PROCESS(d0,d1,sel)VARIABLEtmp1,tmp2,tmp3:BIT;BEGINtmp1:=d0ANDsel;tmp2:=d1AND(NOTsel);tmp3:=tmp1ORtmp2;q=tmp3ENDPROCESScale;ENDconnect;【例【例2.7】用进程语句实现的二选一电路用进程语句实现的二选一电路子程序就是在主程序调用它以后能将处理结果返回给主程子程序就是在主程序调用它以后能将处理结果返回给主程序。在序。在VHDL中有中有2种类型:过程和函数。种类型:过程和函数。过程语句过程语句PROCEDURE过程名过程名(参数参数1,参数,参数2)IS定义语句定义语句;BEGIN顺序处理语句顺序处理语句;END过程名;过程名;3)子程序语句描述子程序语句描述函数语句函数语句FUNCTION函数名函数名(参数参数1,参数,参数2)RETURN数据类型名数据类型名IS定义语句定义语句;BEGIN顺序处理语句顺序处理语句RETURN返回变量名返回变量名END函数名;函数名;FUNCTIONmin(x,y:INTEGER)RETURNINTEGERISBEGINIFXreturn1;when1=return0;whenz=returnz;Endcase;Endinvert;Endlogic;例例2.11程序包体程序包体配置用于在多结构体中为一个实体指定一个结构体。配置用于在多结构体中为一个实体指定一个结构体。例如,在做例如,在做RS触发器的实体中使用了触发器的实体中使用了2个结构体,目的是个结构体,目的是研究各个结构体描述的研究各个结构体描述的RS触发器的行为性能如何,但是究触发器的行为性能如何,但是究竟在仿真中使用哪一个结构体的问题就是配置问题。竟在仿真中使用哪一个结构体的问题就是配置问题。配置语句格式配置语句格式CONFIGURATION配置名配置名OF实体名实体名IS说明语句说明语句END配置名;配置名;3.7.3配置配置(CONFIGURATION)ENTITYrsISPORT(set,reset:INBIT;q,qb:BUFFERBIT);ENDrs;ARCHITECTURErsff1OFrsISCOMPONENTnand2PORT(a,b:INBIT;c:OUTBIT);ENDCOMPONENT;BEGINU1:nand2PORTMAP(a=set,b=qb,c=q);U2:nand2PORTMAP(a=reset,b=q,c=qb);ENDrsff1;【例【例2.12】配置使用示例配置使用示例ARCHITECTURErsff2OFrsISBEGINq=NOT(qbANDset);qb=NOT(qANDreset);ENDrsff2;CONFIGURATIONreconofrsISFORrsff1ENDFOR;ENDrecon;
    展开阅读全文
    提示  咨信网温馨提示:
    1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
    2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
    3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
    4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前可先查看【教您几个在下载文档中可以更好的避免被坑】。
    5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
    6、文档遇到问题,请及时联系平台进行协调解决,联系【微信客服】、【QQ客服】,若有其他问题请点击或扫码反馈【服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【版权申诉】”,意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:0574-28810668;投诉电话:18658249818。

    开通VIP折扣优惠下载文档

    自信AI创作助手
    关于本文
    本文标题:VHDL程序基本结构.ppt
    链接地址:https://www.zixin.com.cn/doc/1636403.html
    页脚通栏广告

    Copyright ©2010-2026   All Rights Reserved  宁波自信网络信息技术有限公司 版权所有   |  客服电话:0574-28810668    微信客服:咨信网客服    投诉电话:18658249818   

    违法和不良信息举报邮箱:help@zixin.com.cn    文档合作和网站合作邮箱:fuwu@zixin.com.cn    意见反馈和侵权处理邮箱:1219186828@qq.com   | 证照中心

    12321jubao.png12321网络举报中心 电话:010-12321  jubao.png中国互联网举报中心 电话:12377   gongan.png浙公网安备33021202000488号  icp.png浙ICP备2021020529号-1 浙B2-20240490   


    关注我们 :微信公众号  抖音  微博  LOFTER               

    自信网络  |  ZixinNetwork