- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
CAI_06
6.5 VHDL程序包 程序包 常数说明 VHDL数据类型说明 元件定义 子程序 定义程序包的一般语句结构如下: PACKAGE 程序包名 IS -- 程序包首 程序包首说明部分 END 程序包名; PACKAGE BODY 程序包名 IS -- 程序包体 程序包体说明部分以及包体内容 END 程序包名; 【例6-11】 PACKAGE pacl IS -- 程序包首开始 TYPE byte IS RANGE 0 TO 255 ; -- 定义数据类型byte SUBTYPE nibble IS byte RANGE 0 TO 15 ; -- 定义子类型nibble CONSTANT byte_ff : byte := 255 ; -- 定义常数byte_ff SIGNAL addend : nibble ; -- 定义信号addend COMPONENT byte_adder -- 定义元件 PORT( a, b : IN byte ; c : OUT byte ; overflow : OUT BOOLEAN ) ; END COMPONENT ; FUNCTION my_function (a : IN byte) Return byte ; -- 定义函数 END pacl ; -- 程序包首结束 【例6-12】 PACKAGE seven IS SUBTYPE segments is BIT_VECTOR(0 TO 6) ; TYPE bcd IS RANGE 0 TO 9 ; END seven ; USE WORK.seven.ALL ; -- WORK库默认是打开的, ENTITY decoder IS PORT (input: bcd; drive : out segments) ; END decoder ; ARCHITECTURE simple OF decoder IS BEGIN WITH input SELECT drive = B1111110 WHEN 0 , B0110000 WHEN 1 , B1101101 WHEN 2 , B1111001 WHEN 3 , B0110011 WHEN 4 , B1011011 WHEN 5 , B1011111 WHEN 6 , B1110000 WHEN 7 , B1111111 WHEN 8 , B1111011 WHEN 9 , B0000000 WHEN OTHERS ; END simple ; 常用的预定义的程序包 STD_LOGIC_1164程序包 STD_LOGIC_ARITH程序包 STD_LOGIC_UNSIGNED和STD_LOGIC_SIGNED程序包 STANDARD和TEXTIO程序包 6.5 VHDL程序包 6.6 配置 配置语句的一般格式如下: CONFIGURATION 配置名 OF 实体名 IS 配置说明 END 配置名; 配置可以把特定的结构体 关联到(指定给)一个确定的实体。 6.7 VHDL文字规则 6.7.1 数字 整数:整数都是十进制的数,如: 5, 678, 0, 156E2(=15600), 45_234_287 ( 实数:实数也都是十进制的数,但必须带有小数点,如: 1.335, 88_670_551.453_909(453909),1.0,44.99E-2(=0.4499) 以数制基数表示的文字:用这种方式表示的数由五个部分组成。 SIGNAL d1,d2,
文档评论(0)