第五章ⅦD的库、程序包和 5.1VHDL的库 5.1.1库的使用 ˇ库主要用来存放已经编译过的实体、结构体、程序包和配置,以便在其它设计中 可以随时引用这些信息,从而提高设计人员的工作效率。 要引用库中已编译的设计单元时,必须在每个设计的VHDL程序的开头说明要 引用的库; √库说明语句的书写格式: library<库名列表>; 如: libraryieee; library ieee, work, std √对库进行说明以后,还要说明程序所要使用的是库中哪一个设计单元。 书写格式: ue<库名><程序包名>ll; use<库名><程序包名><项目名少 项目名:指程序包内某个特定的项目;
第五章 VHDL的库、程序包和配置 5.1 VHDL的库 ✓库主要用来存放已经编译过的实体、结构体、程序包和配置,以便在其它设计中 可以随时引用这些信息,从而提高设计人员的工作效率。 ✓要引用库中已编译的设计单元时,必须在每个设计的VHDL程序的开头说明要 引用的库; ✓库说明语句的书写格式: library <库名列表>; 如: library ieee; library ieee, work, std; ✓对库进行说明以后,还要说明程序所要使用的是库中哪一个设计单元。 书写格式: use <库名>. <程序包名>.all; use <库名>. <程序包名>.<项目名>; 项目名:指程序包内某个特定的项目; 5.1.1 库的使用
libraryieee; use ieee std_ logic_1164.all; use ieee std_logic_ 1164. std_ logic; ˇ库说明语句的作用范围:从一个实体说明开始到它所隶属的结构体、配置为止,或 从一个程序包的说明开始到该程序包的定义结束为止。 当一个VHDL程序出现两个或两个以上的实体或程序包时,作为使用库的说明语句 应该在每个实体说明语句和包说明语句前重复书写。 library ieee; use ieee std logic 1164.all; entity andris end and2. architecture rtl of and2 is d rt1 rary ieee use ieeestd_ logic_1164. all; entity oris d or2 architecture rt1 ofor2is end rt1
如: library ieee; use ieee.std_logic_1164.all; use ieee.std_logic_1164.std_logic; ✓库说明语句的作用范围:从一个实体说明开始到它所隶属的结构体、配置为止,或 从一个程序包的说明开始到该程序包的定义结束为止。 ✓当一个VHDL程序出现两个或两个以上的实体或程序包时,作为使用库的说明语句 应该在每个实体说明语句和包说明语句前重复书写。 library ieee; use ieee.std_logic_1164.all; entity and2 is …… end and2; architecture rt1 of and2 is …… end rt1; library ieee; use ieee.std_logic_1164.all; entity or2 is …… end or2; architecture rt1 of or2 is …… end rt1;
5.12库的分类 分为两大类:设计库和资源库 设计库:对当前设计实体是永远可见的,在使用时无须说明; 包括:std库,work库 资源库:存放常规元件和常规模块的库,在使用时要先进行库说明。 包括:iee库,面向ASIC的库,用户自定义的库 1.iee库 ●包括:ieee标准的程序包;一些支持工业标准的程序包 (1)iee6准的程序包 std_logic_1164; numeric_bit; numeric_std, math_complex, math_real (2)支持工业标准的程序包 如: synopsys公司的std_ logic_arith, std_logic_signed, std_logic_unsigned ●引用iee库和程序包的四种书写格式 (1)第一种书写格式 library ieee; use ieee std _logic1164.all entity and2 is port(a, b: in stdlogic; c: out std_logic end and2
5.1.2 库的分类 分为两大类:设计库和资源库 设计库:对当前设计实体是永远可见的,在使用时无须说明; 包括:std库,work库 资源库:存放常规元件和常规模块的库,在使用时要先进行库说明。 包括:ieee库,面向ASIC的库,用户自定义的库 1. ieee库 ⚫包括:ieee标准的程序包;一些支持工业标准的程序包 (1)ieee标准的程序包 std_logic_1164; numeric_bit; numeric_std; math_complex; math_real (2)支持工业标准的程序包 如:synopsys公司的std_logic_arith, std_logic_signed, std_logic_unsigned ⚫引用ieee库和程序包的四种书写格式: (1)第一种书写格式 library ieee; use ieee.std_logic_1164.all; entity and2 is port(a, b:in std_logic; c: out std_logic); end and2;
(2)第二种书写格式 libraryieee; useieee. std_logic_1164. std_logic; entity and2 is port(a, b: in std logic; c:out std_ logic); end and2. (3)第三种书写格式 library ieee entity and2 is port(a, b: in ieee std_logic_1164. std logic; c: out ieee std _logic_1164. std _logic): end andz (3)第四种书写格式 library ieee use ieee.all; entity and2 is port(a, b: in std _ logic_1164. std _logic; c:out std_logic_1164.std_logic); end and2:
(2)第二种书写格式 library ieee; use ieee.std_logic_1164.std_logic; entity and2 is port(a, b:in std_logic; c: out std_logic); end and2; (3)第三种书写格式 library ieee; entity and2 is port(a, b:in ieee.std_logic_1164.std_logic; c: out ieee.std_logic_1164.std_logic); end and2; (3)第四种书写格式 library ieee; use ieee.all; entity and2 is port(a, b:in std_logic_1164.std_logic; c: out std_logic_1164.std_logic); end and2;
2.std库 是VHDL标准库,包含两个程序包: standard和 textio; standard中定义了:bit, bit vector, character和tme等数据类型;(使用前无须说明) textio:包含了对文本文件进行读写操作的过程和函数,使用前需说明。如 library std; use stdtextio. all: 3.work库 用来保存共用的例化元件和模块,是标准模块库,使用时无须进行说明; 4.面向ASⅠC的库 5.用户自定义的库 例:可变模计数器 通过模值控制端改变计数器的模值 (1)无置数端的可变模计数器 mchange_1 clkx-时钟 clk clr-清零端 q[6 clr m|6… 模值输入端 [6…0 可变模计数器的电路符号
2. std库 是VHDL标准库,包含两个程序包:standard和textio; standard中定义了:bit, bit_vector, character和time等数据类型;(使用前无须说明) textio:包含了对文本文件进行读写操作的过程和函数,使用前需说明。如: library std; use std.textio.all; 3. work库 用来保存共用的例化元件和模块,是标准模块库,使用时无须进行说明; 4. 面向ASIC的库 5. 用户自定义的库 例:可变模计数器 通过模值控制端改变计数器的模值 (1)无置数端的可变模计数器 可变模计数器的电路符号 mchange_1 clk q[6…0] clr m[6…0] clk –时钟 clr – 清零端 m[6…0] – 模值输入端