685-第一章 VHDL基本结构.ppt

  1. 1、本文档共67页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
ELSE (a (i) /=1) THEN -- /=:不等 x_flag := TRUE; END IF; END LOOP; END vector_to_int; 这个过程名为vector_to_int实现将位矢量转换成整数的功能,在过程语句执行结束后,将输入值拷贝到调用者的OUT和INOUT所定义的变量中,完成子程序和主程序之间的数据传递。 2.函数 函数的语言书写格式为: FUNCTION 函数名 (参数表) RETURN 数据类型 IS [说明部分]; BEGIN 顺序语句; RETURN [返回变量名]; END RETURN 函数名; 例: 用VHDL构造的选择最大值的函数程序。 LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; PACKAGE bpac IS FUNCTION max (a: STD_LOGIC_VECTOR; b: STD_LOGIC_VECTOR) RETURN STD_LOGIC_VECTOR; END bpac; PACKAGE BODY bpac IS FUNCTION max (a: STD_LOGIC_VECTOR; b: STD_LOGIC_VECTOR) RETURN STD_LOGIC_VECTOR IS VARIABLE tmp: STD_LOGIC_VECTOR (a’RANGE); BEGIN IF (ab) THEN tmp := a; ELSE tmp := b; END IF; RETURN tmp; END; END bpac; 1.4 库和程序包 库和程序包用来描述和保留元件、类型说明函数、子程序等,以便在其它设计中可以随时引用这些信息,提高设计效率。 1.4.1 库(LIBRARY) 库是经编译后的数据的集合,它存放包集合定义、实体定义、结构定义和配置定义。 库语句的格式为: LIBRARY 库名; USE语句指明库中的程序包。一旦说明了库和程序包,整个设计实体都可以进入访问或调用,但其作用范围仅限于所说明的设计实体。USE语句的使用将使所说明的程序包对本设计实体部分或全部开放。 USE语句有以下两种常用的格式: USE 库名.程序包名.项目名; USE 库名.程序包名.ALL; 第一种语句格式的作用是向本设计实体开放指定库中的特定程序包内的所选定的项目。 第二种语句格式的作用是向本设计实体开放指定库中的特定程序包内的所有内容。 例如: LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; USE IEEE.STD_LOGIC_1164.STD_ULOGIC; 此例中,第一个USE语句表明打开IEEE库中的STD_LOGIC_1164程序包,并使程序包中的所有公共资源对本语句后面的VHDL设计实体程序全部开放,关键词ALL代表程序包中的所有资源。第二个USE语句开放了程序包STD_LOGIC_1164中的STD_ULOGIC数据类型。 STD_ULOGIC :可枚举数据类型 注意:库说明语句的作用范围从一个实体说明开始到它所属的结构体、配置为止,当一个源程序中出现两个以上实体时,两条作为使用库的说明语句应在每个设计实体说明语句前重复书写。 例: LIBRARY IEEE; --库使用说明 USE IEEE.STD_LOGIC_1164.ALL; ENTITY and IS ┇ END and; ARCHITECTURE dataflow OF and IS ┇ END dataflow; CONFIGURATION c1 OF and IS -- CONFIGURATION(配置) ┇ AND c1; LIBRARY IEEE; --库使用说明

文档评论(0)

小玉儿 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档