




已阅读5页,还剩17页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1,VHDL语言的库、程序包及配置,4VHDL语言的库、程序包及配置,在VHDL设计实体中,除了实体说明和结构体外,还有库、程序包和配置三个各自独立的组成部分。依据VHDL语言的规则,VHDL程序所使用的文字、数据对象、数据类型都需要预先定义。将预先定义好的数据类型、元件调用声明及一些常用子程序收集在一起,形成程序包,供VHDL设计实体共享和调用。若干个程序包则形成库。,2,库(Library)是用于存放预先设计好的程序包和数据的集合体。,VHDL语言的库、程序包及配置,4.1VHDL库,1.常用的库,VHDL语言中常用的五种库:,IEEE库STD库WORK库VITAL库用户自定义库,VHDL语言设计中最常见的库。,VHDL语言的标准库。,用户的VHDL语言工作库。,VHDL语言的时序仿真库。,用户自定义的资源库。,3,VHDL语言的库、程序包及配置,4,VHDL语言的库、程序包及配置,2.资源库和设计库,VHDL语言所使用的库可以分成两类:,资源库设计库,用于存放常规元件、标准模块、预定义数据类型等,如:IEEE库。,是一种符合VHDL标准的预定义库。如:STD库定义了一些基本的数据类型、子类型和函数等;WORK库存放用户设计和定义的设计单元及程序包等。,5,VHDL语言的库、程序包及配置,3.库的使用,关键字:LIBRARY格式:LIBRARY库名称,库说明语句:,说明:用来指明所使用的库,库名称为一系列由逗号分隔的库名。库说明语句总是位于设计实体的最前面,通常与USE语句一起使用。,6,VHDL语言的库、程序包及配置,3.库的使用,格式1:USE库名.程序包名.项目名;,USE语句用来指明库中的程序包,有两种格式:,作用:为本设计实体开放指定库中的特定程序包内所选定的项目。,例如:,LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.STD_ULOGIC;USEIEEE.STD_LOGIC_1164.RISING_EDGE;,7,VHDL语言的库、程序包及配置,3.库的使用,格式2:USE库名.程序包名.ALL;,作用:为本设计实体开放指定库中的特定程序包内所有的内容。,例如:,LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;USEIEEE.STD_LOGIC_UNSIGNED.ALL;,8,在VHDL语言中,用户可以将已定义的常数、信号、函数、数据类型、元件和子程序等收集在一起形成一个程序包,以便更多的设计实体利用和共享。,VHDL语言的库、程序包及配置,4.2VHDL程序包,定义程序包的一般语句格式:,PACKAGE程序包IS程序包首说明END程序包名;PACKAGEBODY程序包IS程序包体说明END程序包名;,程序包首,程序包体,9,程序包首收集了VHDL设计所需的公共信息,用来定义数据类型、元件和子程序等。,VHDL语言的库、程序包及配置,1.程序包首,一般格式:,PACKAGE程序包ISTYPE语句;SUBTYPE语句;CONSTANT语句;SIGNAL语句;COMPONENT语句;FUNCTION语句;SUBPROGRAM语句;END程序包名;,用来定义数据类型用来定义子类型用来定义常数用来定义信号用来定义元件用来定义函数用来定义子程序,10,VHDL语言的库、程序包及配置,【例4.1】定义程序包。,PACKAGEmy_pkgISTYPEbyteISRANGE0TO255;SUBTYPEnibyteISbyteRANGE0TO15;CONSTANTbyte_ff:bcd:=255;SIGNALaddend:nibabc;COMPONENTbyte_adderPORT(a,b:INbyte;c:OUTbyte;overflow:OUTBOOLEAN);ENDCOMPONENT;FUNCTIONmy_fun(a:INbyte)RETURNbyte;ENDmy_pkg;,程序清单:,-程序包首,程序包名为my_pkg,-定义数据类型,byte的范围0255,-定义子类型nibyte,-定义常数byte_ff,-定义信号addend,-定义元件byte_adder,-定义函数my_fun,11,用来描述已在程序包首中定义过的元件和子程序的内容。,VHDL语言的库、程序包及配置,2.程序包体,一般格式:,PACKAGEBODY程序包IS程序包体说明END程序包名;,程序包体说明可以是USE语句、子程序定义、子程序体、数据类型说明、子类型说明和常数说明等。,12,常用的预定义的程序包有:,VHDL语言的库、程序包及配置,3.VHDL常用的程序包,STD_LOGIC_1164STD_LOGIC_ARITHSTD_LOGIC_UNSIGNED和STD_LOGIC_SIGNEDSTANDARD和TEXTIO,13,配置是将特定的结构体与一个确定的实体相关联,为大型系统的设计提供管理和工程组织。配置是设计实体VHDL语言描述的组成部分之一,但不是必不可少的。常用来描述层与层之间、实体与结构体之间的连接关系。,VHDL语言的库、程序包及配置,4.3配置,配置可分为三种类型:,默认配置元件配置结构体配置,14,默认配置是一种最为简单的配置,当设计实体中不含有任何其他元件和块语句时,可以使用默认配置。,VHDL语言的库、程序包及配置,1.默认配置,基本格式:,CONFIGURATION配置名OF实体名ISFOR选配结构体名;ENDFOR;END配置名;,15,LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;ENTITYCOUNTERISPORT(CLK,CLR:INSTD_LOGIC;Q:OUTINTEGER);ENDCOUNTER;,VHDL语言的库、程序包及配置,【例4.2】设计两个计数位宽分别为4位和8位的计数器。,设两个计数器具有相同的功能和外部结构,只是计数位宽不同。用一个计数器实体来实现两个不同结构体的配置。,程序清单:,计数器的实体,16,VHDL语言的库、程序包及配置,【例4.2】设计两个计数位宽分别为4位和8位的计数器。,程序清单:,ARCHITECTURECOUNT4OFCOUNTERISBEGINPROCESS(CLK)VARIABLEQQ:INTEGER:=0;BEGINIFCLR=0THENQQ:=0;ELSIF(CLKEVENTANDCLK=1)THENIFQQ=15THENQQ:=0;ELSEQQ:=QQ+1;ENDIF;ENDIF;Q=QQ;ENDPROCESS;ENDCOUNT4;,计数器COUNT4的结构体,17,VHDL语言的库、程序包及配置,【例4.2】设计两个计数位宽分别为4位和8位的计数器。,程序清单:,ARCHITECTURECOUNT8OFCOUNTERISBEGINPROCESS(CLK)VARIABLEQQ:INTEGER:=0;BEGINIFCLR=0THENQQ:=0;ELSIF(CLKEVENTANDCLK=1)THENIFQQ=255THENQQ:=0;ELSEQQ:=QQ+1;ENDIF;ENDIF;Q=QQ;ENDPROCESS;ENDCOUNT8;,计数器COUNT8的结构体,18,VHDL语言的库、程序包及配置,【例4.2】设计两个计数位宽分别为4位和8位的计数器。,程序清单:,CONFIGURATIONCOUNT_4OFCOUNTERISFORCOUNT4ENDFOR;ENDCOUNT_4;CONFIGURATIONCOUNT_8OFCOUNTERISFORCOUNT8ENDFOR;ENDCOUNT_8;,计数器的配置,19,当结构体中含有多个引用元件时,可以采用元件配置,以指明引用元件的具体位置。,VHDL语言的库、程序包及配置,2.元件配置,格式:,CONFIGURATION配置名OF实体名ISFOR选配结构体名FOR元件例化标号:元件名USECONFIGURATION库名.元件配置名;或USEENTITY库名.实体名(结构体名);ENDFOR;ENDFOR;END配置名;,20,CONFIGURATIONmux_cfgOFmux21ISFORstructureFORU2,U3:and2USECONFIGURATIONWORK.and2_cfg;ENDFOR;FORU4:or2USECONFIGURATIONWORK.or2_cfg;ENDFOR;ENDFOR;ENDmux_cfg;,VHDL语言的库、程序包及配置,【例4.3】给例5.3.3中的二选一数据选择器进行元件配置。,程序清单:,21,结构体配置与元件配置具有相同的特征,都是对结构体中所引用的元件进行配置,但它们所处的位置和书写格式有很大的不同。结构体配置通常直接放在结构体说明语句的位置,而元件配置则是与元件所在的结构体分开的。,VHDL语言的库、程序包及配置,3.结构体配置,格式:,FOR元件例化标号:元件
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 露天采矿吊斗铲司机理论学习手册练习试题及答案
- 2025年中国钢木天平台行业市场调查研究及投资前景展望报告
- 农药生产工理论学习手册练习试题及答案
- 架子工岗位实习报告
- 2018-2024年中国比萨行业市场供需预测及投资战略研究咨询报告
- 半导体芯片制造工职业技能模拟试卷含答案
- 婚姻家庭咨询师理论学习手册练习试题及答案
- 金属制粉工理论学习手册练习试题及答案
- 耐火材料成型工技能测试题库及答案
- 铁路车站客运服务员(客运计划员)实操任务书
- 《华为销售法》读书笔记
- STK基础教程学习版
- 特种行业和公场所治安管理工作指导手册
- 附属工程监理细则
- 中职《接触器联锁正反转控制线路》公开课PPT
- 部编版二年级下册语文看图写话《五感写作法》课件
- 教学课件《断裂力学》
- 泥水平衡盾构简介课件
- 新教科版六下科学4-6《生命体中的化学变化》教案
- 广东省湛江市各县区乡镇行政村村庄村名明细
- GA 814-2009 警用约束带标准
评论
0/150
提交评论