- 1、本文档共12页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
[EDA复习资料
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 库名.程序包名.项目;--向设计实体开放指定库中的特定程序包内所选定的项目
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语句,开放同一程序包中的这一数据类型。
2 VHDL程序包 (244)
为使已定义的常数、数据类型、元件调用、说明及子程序能被其他的设计实体访问和共享,可以将它们收集在一个VHDL程序包中。多个程序包可以并入一个库。
程序包主要由以下四种基本结构组成,一个程序至少应包含以下结构中的一种:
常数说明
VHDL数据类型说明:主要用于在整个设计中通用的数据类型。
元件定义:主要规定在VHDL设计中例化的文件接口界面。
子程序:并入程序包的子程序有利于在设计中任一处进行方便地调用。
定义程序包的一般语句结构如下:
PACKAGE 程序包名 IS --程序包首
程序包首说明部分
END 程序包名;
PACKAGE 程序包名 IS
程序包体说明部分及包体内容 --程序包体
END 程序包名;
程序包的结构由程序包的说明部分(即程序包
您可能关注的文档
- 上市挂牌服务合同0.doc
- [A类砌体结构.doc
- 二手房买卖合同0.doc
- 《职位分析与评估.doc
- 借款合同范本两篇0.doc
- [A级作文.doc
- [A级保温材料在中国的应用前景.doc
- [A级写作2.doc
- [A股资金洼地逻辑下的大类资产调配.doc
- [A货品牌折扣管理方案.doc
- 第十一章 电流和电路专题特训二 实物图与电路图的互画 教学设计 2024-2025学年鲁科版物理九年级上册.docx
- 人教版七年级上册信息技术6.3加工音频素材 教学设计.docx
- 5.1自然地理环境的整体性 说课教案 (1).docx
- 4.1 夯实法治基础 教学设计-2023-2024学年统编版九年级道德与法治上册.docx
- 3.1 光的色彩 颜色 电子教案 2023-2024学年苏科版为了八年级上学期.docx
- 小学体育与健康 四年级下册健康教育 教案.docx
- 2024-2025学年初中数学九年级下册北京课改版(2024)教学设计合集.docx
- 2024-2025学年初中科学七年级下册浙教版(2024)教学设计合集.docx
- 2024-2025学年小学信息技术(信息科技)六年级下册浙摄影版(2013)教学设计合集.docx
- 2024-2025学年小学美术二年级下册人美版(常锐伦、欧京海)教学设计合集.docx
文档评论(0)