- 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 程序基本结构复习资料
VHDL 程序基本结构
库(Library )、程序包(Package )
实体(Entity )
结构体(Architecture )
配置(Configuration )
1 库(P241 )
库、程序包是 IEEE 规定的语法标准。根据语法规则,在 VHDL 程序中使用的文字、
数据对象、数据类型都需要预先定义。为方便用 VHDL 编程,IEEE 将预定义的数据类型、
元件调用声明及一些常用子程序收集在一起,形成程序包,供 VHDL 设计实体共享和调用。
若干个程序包则形成库。
常用的库有 IEEE 库、STD 库、WORK 库及 VITAL 库
1.1 IEEE 库
IEEE 库是 VHDL 设计中最常用的库,它包含有 IEEE 标准的程序包和其他一些支持
工业标准的程序包。IEEE 库中的标准程序包主要有:STD_LOGIC_1164、NUMERIC_BIT
和 NUMERIC_STD 程序包。其中 STD_LOGIC_1164 是最重要且最常用的程序包。
此外,还有些程序包虽非 IEEE 标准,但已成为工业标准,从而加入到 IEEE 库中。
最常用的是 Synopsys 公司的 STD_LOGIC_ARITH、STD_LOGIC_SIGNED、
STD_LOGIC_UNSIGNED。
一般,基于 FPGA/CPLD 的开发,IEEE 库中的四个程序包 STD_LOGIC_1164、
STD_LOGIC_ARITH、STD_LOGIC_SIGNED 和 STD_LOGIC_UNSIGNED 已经够用
1.2 STD 库
VHDL 定义了两个标准程序包,即 STANDARD 和 TEXTIO (文件输入/输出)程序
包,它们都收入在 STD 库中,可随时调用。由于STD 库符合 VHDL 语言标准,在应用中
不必用打开库语句。
1.3WORK 库
WORK 库是用户的 VHDL 设计的现行工作库,用于存放用户设计和定义的一些设计
单元和程序包。WORK 库自动满足 VHDL 语言标 ,在实际调用中,也不必显示预先说明,
即不必在 VHDL 程序中明确打开并指定。
基于 VHDL 所要求的 WORK 库的基本概念,利用 VHDL 进行设计时,不允许在根
目录下进行,而是必须为此设定一个文件夹,用于保存所有此项目的设计文件,VHDL 综合
器将此文件默认为 WORK 库。还要注意的是,工作库并不是这个文件夹的名字,而是一个
逻辑名。综合器将指示器指向该文件夹的路径
1.4 VITAL 库
VITAL 程序包也已成为 IEEE 标 。使用 VITAL 库,可以提高 VHDL 门级时序模拟
精度,因而只在VHDL 仿真器中使用。库中包含时序程序包 VITAL_TIMIGN 和
VITAL_PRIMITIVES 。但在实际中,由于各FPGA/CPLD 的生产厂商的适配工具都能为各自
的芯片生成带时序信息的VHDL 门级网表,因而一般并不需要VITAL 库中的程序包。
1.5 库的用法
在 VHDL 语言中,库的说明语句总是放在实体单元前面。对于必须以显式表达的库
及其程序包的语言表达式应放在每一项设计实体最前面,成为这项设计的最高层次的设计单
元。
USE 语句的使用有两种常用格式:
USE 库名.程序包名.项目;--向设计实体开放指定库中的特定程序包内所选定的
项目
第 1 页第 1 页
VHDL 程序基本结构复习资料
USE 库名.程序包名.ALL--表示向设计实体开放指定库中的特定程序包内所有内
容。此处使用了关键词 ALL ,代表程序包中所有资源。
例:
LIBRARY IEEE ;
USE IEEE.STD_LOGIC_1164.STD_ULOGIC ;
USE IEEE. STD_LOGIC_1164.RISING_EDGE ;
表示向当前设计实体开放了 IEEE. STD_LOGIC_1164 程序包中的 RISING_EDGE
函数,但由于此函数要用到 IEEE. STD_ULOGIC,所以在其前面加了一条 USE 语句,开放
同一程序包中的这一
您可能关注的文档
最近下载
- 2007年考研英语一真题解析.pdf VIP
- 救护车司机培训计划.pptx VIP
- 人教版七年级上册数学第三章 一元二次方程练习题.docx VIP
- 20211121-华金证券-纺织服装行业周报:10月社零回升,消费市场回暖.pdf VIP
- 非均匀有理B样条:B样条曲面II及NURBS.pdf VIP
- 妇产科护理网络在线课程的教学设计与实践应用.pdf VIP
- 十年(2016-2025)高考化学真题分类汇编:专题40 化学反应原理综合题——反应热+速率平衡(原卷版).docx VIP
- 设备安装、维修合同模板7篇.docx VIP
- 广东六校2025届高三10月联考英语试题.pdf VIP
- 削坡减载施工方案.docx VIP
文档评论(0)