- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
* VHDL语言的库、程序包及配置 4 VHDL语言的库、程序包及配置 在VHDL设计实体中,除了实体说明和结构体外,还有库、程序包和配置三个各自独立的组成部分。 依据VHDL语言的规则,VHDL程序所使用的文字、数据对象、数据类型都需要预先定义。 将预先定义好的数据类型、元件调用声明及一些常用子程序收集在一起,形成程序包,供VHDL设计实体共享和调用。若干个程序包则形成库。 * 库(Library)是用于存放预先设计好的程序包和数据的集合体。 VHDL语言的库、程序包及配置 4.1 VHDL库 1. 常用的库 VHDL语言中常用的五种库: ① IEEE库 ② STD库 ③ WORK库 ④ VITAL库 ⑤ 用户自定义库 —— VHDL语言设计中最常见的库。 —— VHDL语言的标准库。 —— 用户的VHDL语言工作库。 —— VHDL语言的时序仿真库。 ——用户自定义的资源库。 * VHDL语言的库、程序包及配置 * VHDL语言的库、程序包及配置 2. 资源库和设计库 VHDL语言所使用的库可以分成两类: ●资源库 ●设计库 用于存放常规元件、标准模块、预定义数据类型等,如:IEEE库。 是一种符合VHDL标准的预定义库。 如:STD库定义了一些基本的数据类型、子类型和函数等;WORK库存放用户设计和定义的设计单元及程序包等。 * VHDL语言的库、程序包及配置 3. 库的使用 关键字: LIBRARY 格 式: LIBRARY 库名称 库说明语句: 说 明:用来指明所使用的库,库名称为一系列由逗号分隔的库名。 库说明语句总是位于设计实体的最前面,通常与USE语句一起使用。 * VHDL语言的库、程序包及配置 3. 库的使用 格式1: USE 库名.程序包名.项目名; USE语句用来指明库中的程序包,有两种格式: 作用:为本设计实体开放指定库中的特定程序包内所选定的项目。 例如: LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.STD_ULOGIC; USE IEEE.STD_LOGIC_1164.RISING_EDGE; * VHDL语言的库、程序包及配置 3. 库的使用 格式2: USE 库名.程序包名.ALL; 作用:为本设计实体开放指定库中的特定程序包内所有的内容。 例如: LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; USE IEEE.STD_LOGIC_UNSIGNED.ALL; * 在VHDL语言中,用户可以将已定义的常数、信号、函数、数据类型、元件和子程序等收集在一起形成一个程序包,以便更多的设计实体利用和共享。 VHDL语言的库、程序包及配置 4.2 VHDL程序包 定义程序包的一般语句格式: PACKAGE 程序包 IS 程序包首说明 END 程序包名; PACKAGE BODY 程序包 IS 程序包体说明 END 程序包名; 程序包首 程序包体 * 程序包首收集了VHDL设计所需的公共信息,用来定义数据类型、元件和子程序等。 VHDL语言的库、程序包及配置 1. 程序包首 一般格式: PACKAGE 程序包 IS TYPE语句; SUBTYPE语句; CONSTANT语句; SIGNAL语句; COMPONENT语句; FUNCTION语句; SUBPROGRAM语句; END 程序包名; —— 用来定义数据类型 —— 用来定义子类型 —— 用来定义常数 —— 用来定义信号 —— 用来定义元件 —— 用来定义函数 —— 用来定义子程序 * VHDL语言的库、程序包及配置 【例4.1】定义程序包。 PACKAGE my_pkg IS TYPE byte IS RANG
文档评论(0)