- 1、本文档共40页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
CPLD/FPGA技术与应用 (1)程序包首 程序包首的说明部分可保存多个不同的VHDL设计所需的公共信息,其中包括常数说明、数据类型说明、信号说明、子程序说明及元件说明等。 程序包结构中,程序包体并非是必须的,程序包首可以独立定义和使用。 (2)程序包体 程序包体用于定义在程序包首中已定义的子程序的子程序体,即保存专用(私有)信息。 程序包体说明部分的组成可以是USE语句(允许对其他程序包的调用)、子程序定义、子程序体、数据类型说明、子类型说明和常数说明等。 对于没有子程序说明的程序包体可以省去(换句话说,当程序包首中包含了子程序声明时,相应的程序包体内必须定义子程序体)。 CPLD/FPGA技术与应用 3.常用的预定义的程序包 (1)STD_LOGIC_1164程序包 IEEE库中最常用的程序包,是IEEE的标准程序包。 包含了一些数据类型、子类型和函数的定义,这些定义将VHDL扩展为一个能描述多值逻辑(即除具有“0”和“1”以外还有其他的逻辑量,如高阻态“Z”、不定态“X”等)的硬件描述语言,很好地满足了实际数字系统的设计需求。 该程序包中用得最多和最广的是定义了满足工业标准的两个数据类型STD_LOGIC和STD_LOGIC_VECTOR,它们非常适合于FPGA/CPLD器件中多值逻辑设计结构。 CPLD/FPGA技术与应用 (2)STD_LOGIC_ARITH程序包 预先编译在IEEE库中,是Synopsys公司的程序包。 此程序包在STD_LOGIC_1164程序包的基础上扩展了三个数据类型UNSIGNED、SIGNED和SMALL_INT,并为其定义了相关的算术运算符和转换函数。 CPLD/FPGA技术与应用 (3) STD_LOGIC_UNSIGNED和STD_LOGIC_SIGNED程序包 都是Synopsys公司的程序包,都预先编译在IEEE库中。 这些程序包重载了可用于INTEGER型及STD_LOGIC和STD_ LOGIC_VECTOR型混合运算的运算符,并定义了一个由STD_LOGIC_VECTOR型到INTEGER型的转换函数。 这两个程序包的区别是:STD_LOGIC_SIGNED中定义的运算符考虑到了符号,是有符号数的运算;而STD_LOGIC_UNSIGNED则正好相反。 CPLD/FPGA技术与应用 (4)STANDARD和TEXTIO程序包 这两个程序包是STD库中的预编译程序包。 STANDARD程序包中定义了许多基本的数据类型、子类型和函数。它是VHDL标准程序包,实际应用中已隐性地打开了,故不必再用USE语句另作声明。 TEXTIO程序包定义了支持文本文件操作的许多类型和子程序。在使用本程序包之前,需加语句USE STD.TEXTIO.ALL 。 TEXTIO程序包主要供仿真器使用。可以用文本编辑器建立一个数据文件,文件中包含仿真时需要的数据,然后仿真时用TEXTIO程序包中的子程序存取这些数据。综合器中,此程序包被忽略。 CPLD/FPGA技术与应用 五、配置【P321 9.6】 配置描述了层与层之间的连接关系以及实体与结构体之间的连接关系。 通常在大而复杂的VHDL工程设计中,配置语句可以为实体指定或配置一个结构体。一个实体可以选配不同的结构体,在系统仿真时,可以利用此特性来选择不同的结构体,进行性能对比实验来得到性能最佳的结构体。 VHDL综合器允许将配置规定为一个设计实体中的最高层设计单元,但只支持对最顶层的实体进行配置。 CPLD/FPGA技术与应用 五、配置 配置语句的一般格式如下: CONFIGURATION 配置名 OF 实体名 IS 配置说明; END 配置名; 默认配置的格式(用于结构体内不含块语句和元件例化语句) CONFIGURATION 配置名 OF 实体名 IS FOR 选配结构体名 END FOR; END 配置名; 所谓默认是指配置的实体和所选配的结构体均可在当前的工作库或标准库内,相应的设计单元就对当前项可见,否则必须使用LIBRARY和USE子句。 CPLD/FPGA技术与应用 P63【例3-1】 --IEEE库的使用说明 LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; --实体mux21a的说明 ENTITY mux21a IS PORT ( a, b, s: IN BIT; y : OUT BIT ); END ENTITY mux21a; --实体mux21a的结构体one的说明 ARCHITECTURE one OF mux21a IS BEGIN y = a WHEN s = 0 ELSE b; END ARCHITE
文档评论(0)