欢迎来到天天文库
浏览记录
ID:36711713
大小:672.50 KB
页数:22页
时间:2019-05-10
《VHDL语言的库、程序包及配置》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、1VHDL语言的库、程序包及配置4VHDL语言的库、程序包及配置在VHDL设计实体中,除了实体说明和结构体外,还有库、程序包和配置三个各自独立的组成部分。依据VHDL语言的规则,VHDL程序所使用的文字、数据对象、数据类型都需要预先定义。将预先定义好的数据类型、元件调用声明及一些常用子程序收集在一起,形成程序包,供VHDL设计实体共享和调用。若干个程序包则形成库。2库(Library)是用于存放预先设计好的程序包和数据的集合体。VHDL语言的库、程序包及配置4.1VHDL库1.常用的库VHDL语言中常用的五种库:①IE
2、EE库②STD库③WORK库④VITAL库⑤用户自定义库——VHDL语言设计中最常见的库。——VHDL语言的标准库。——用户的VHDL语言工作库。——VHDL语言的时序仿真库。——用户自定义的资源库。3VHDL语言的库、程序包及配置4VHDL语言的库、程序包及配置2.资源库和设计库VHDL语言所使用的库可以分成两类:●资源库●设计库用于存放常规元件、标准模块、预定义数据类型等,如:IEEE库。是一种符合VHDL标准的预定义库。如:STD库定义了一些基本的数据类型、子类型和函数等;WORK库存放用户设计和定义的设计单元及
3、程序包等。5VHDL语言的库、程序包及配置3.库的使用关键字:LIBRARY格式:LIBRARY库名称库说明语句:说明:用来指明所使用的库,库名称为一系列由逗号分隔的库名。库说明语句总是位于设计实体的最前面,通常与USE语句一起使用。6VHDL语言的库、程序包及配置3.库的使用格式1:USE库名.程序包名.项目名;USE语句用来指明库中的程序包,有两种格式:作用:为本设计实体开放指定库中的特定程序包内所选定的项目。例如:LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.STD_ULOGIC;USEI
4、EEE.STD_LOGIC_1164.RISING_EDGE;7VHDL语言的库、程序包及配置3.库的使用格式2:USE库名.程序包名.ALL;作用:为本设计实体开放指定库中的特定程序包内所有的内容。例如:LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;USEIEEE.STD_LOGIC_UNSIGNED.ALL;8在VHDL语言中,用户可以将已定义的常数、信号、函数、数据类型、元件和子程序等收集在一起形成一个程序包,以便更多的设计实体利用和共享。VHDL语言的库、程序包及配置4.2VHD
5、L程序包定义程序包的一般语句格式:PACKAGE程序包IS程序包首说明END程序包名;PACKAGEBODY程序包IS程序包体说明END程序包名;程序包首程序包体9程序包首收集了VHDL设计所需的公共信息,用来定义数据类型、元件和子程序等。VHDL语言的库、程序包及配置1.程序包首一般格式:PACKAGE程序包ISTYPE语句;SUBTYPE语句;CONSTANT语句;SIGNAL语句;COMPONENT语句;FUNCTION语句;SUBPROGRAM语句;END程序包名;——用来定义数据类型——用来定义子类型——用来
6、定义常数——用来定义信号——用来定义元件——用来定义函数——用来定义子程序10VHDL语言的库、程序包及配置【例4.1】定义程序包。PACKAGEmy_pkgISTYPEbyteISRANGE0TO255;SUBTYPEnibyteISbyteRANGE0TO15;CONSTANTbyte_ff:bcd:=255;SIGNALaddend:nibabc;COMPONENTbyte_adderPORT(a,b:INbyte;c:OUTbyte;overflow:OUTBOOLEAN);ENDCOMPONENT;FUNCT
7、IONmy_fun(a:INbyte)RETURNbyte;ENDmy_pkg;程序清单:--程序包首,程序包名为my_pkg--定义数据类型,byte的范围0~255--定义子类型nibyte--定义常数byte_ff--定义信号addend--定义元件byte_adder--定义函数my_fun11用来描述已在程序包首中定义过的元件和子程序的内容。VHDL语言的库、程序包及配置2.程序包体一般格式:PACKAGEBODY程序包IS程序包体说明END程序包名;程序包体说明可以是USE语句、子程序定义、子程序体、数据类
8、型说明、子类型说明和常数说明等。12常用的预定义的程序包有:VHDL语言的库、程序包及配置3.VHDL常用的程序包①STD_LOGIC_1164②STD_LOGIC_ARITH③STD_LOGIC_UNSIGNED和STD_LOGIC_SIGNED④STANDARD和TEXTIO13配置是将特定的结构体与一个确定的实体相关联,为大
此文档下载收益归作者所有