第四章 VHDL语言应用基础3(子程序,库).pptVIP

第四章 VHDL语言应用基础3(子程序,库).ppt

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第四章 VHDL语言应用基础3(子程序,库).ppt

PART 5 SUBPROGRAM 子程序由一组顺序语句组成,是为了在程序中重复使用而设立的。 子程序不是一个独立的编译单位,只能置于实体或程序包中, 在结构体中定义的子程序对于该结构体来说是局部的,即不能被其它设计层次的结构体调用。如果要在其它结构体中调用同一个子程序,就需要把子程序定义到程序包中。 VHDL中的子程序有两类: 过程(PROCEDURE):过程通过其接口返回0个或多个值。 函数(FUNCTION):函数直接返回单个值。 子程序包含两部分:即子程序声明和主体部分。 在程序包中声明子程序时,子程序声明必须要在程序包声明中,子程序主体必须要在程序包体中。 一、函数的定义与引用 函数语句的作用是输入若干参数,通过函数运算求值,最后返回直接一个值。 函数语句的格式为: FUNCTION 函数名 [参数表] RETURN 类型; --函数首 FUNCTION 函数名 [参数表] --函数体 RETURN 类型 IS [子程序声明项;] BEGIN 顺序语句; END 函数名; 二、过程的定义与引用 过程的作用是传递信息,即通过参数进行内外的信息传递。其中参数需说明(信号、变量及常量)类别、类型及传递方向。 过程定义的格式为: PROCEDURE 过程名 [参数声明] IS [子程序声明项]; BEGIN 顺序语句; END [PROCEDURE] [过程名] ; 其中:参数声明指明了输入、输出端口的数目和类型。参数声明的语法格式为:[参数名:方式] 方式参数类型有in\out\inout\buffer 等四种。 PART 6 LIBRARY , PAKAGE AND CONFIGRATION 除了实体和构造体之外,包集合、库及配置是在VHDL语言中另外3个可以各自独立进行编译的源设计单元。 1.库的种类 当前在VHDL语言中存在的库大致可以分为5类:IEEE库,STD库,ASIC矢量库,用户定义的库和WORK库。(P116) (1)程序包声明单元的一般格式: PACKAGE 程序包名 IS 说明语句 END [程序包名]; 其中说明语句为:USE语句、类型定义、常量定义、子程序声明、信号声明及元件声明等。 (2)程序包体单元的一般格式: PACKAGE BODY 程序包名 IS 包体语句 END [程序包名]; 例:在现行WORK库中定义程序包并立即 使用实例。 三、配置 * * 库(Library):用于存放预先编译好的程序包(PACKAGE)和数据集合体。常用的库有IEEE、STD、WORK、用户库等。这些设计单元可用作其他VHDL描述的资源。用户编写的设计单元既可以访问多个设计库,又可以加入到设计库中,被其他单元所访问。 使用格式为: LIBRARY 库名称; 一、设计库 2. 库的使用 1)库的说明 前面提到的5类库,除WORK库和STD库之外,其他3类库在使用前都首先要作说明。 第一个语句是“LIBRARY 库名”,表明使用什么库。另外还要说明设计者要使用的是库中哪一个包集合以及包集合中的项目名(如过程名、函数名等)。如: 二、包集合 在VHDL中数据类型、常量及子程序在实体说明和结构体内定义,而这些数据类型、常量及子程序对其他设计实体是不可见的。为使它们对其他设计实体可见,VHDL提供了程序包(Package)。用程序包可定义一些公用的子程序、常量以及自定义数据类型等。各种VHDL编译系统都含有多个标准程序包,如Std-Logic-1164和Standard程序包。用户也可已自行设计程序包(保存到WORK下)。 程序包由两个独立的单元组成:程序包声明单元和程序包体单元构成。 PACKAGE fun IS SUBTYPE SEGMENT IS BIT _Vector (0 to 6); TYPE BCD IS RANGE 0 to 9; END fun; ENTITY DECODER IS PORT (INPUT: BCD; DRIVE : OUT SEGMENT); END DECODER ; ARCHITECTURE art OF DECODER IS BEGIN WITH INPUT SELECT DRIVE〈=B “1111110” WHEN 0,

文档评论(0)

zhoujiahao + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档