程序包(Package)
发布时间:2015/8/26 20:21:38 访问次数:866
程序包用来单纯罗列VHDL语言中所要用到的信号定义、常数定义、数据类型、元件D-150-0174CS2902语句、函数定义和过程定义等,它是一个可编译的设计单元,也是库结构中的一个层次。使用程序包时,可以用USE语句说明。例如:
USE IEEE.STD LOGIC 1164.ALL;
该语句表示在VHDL程序中要使用名为STD LOGIC 1164的程序中所有定义或说明项。
一个程序包由两大部分组成:包头(Header)和包体(Package Body),其中包体是一个可选项,也就是说,程序包可以只由包头构成。一般包头列出所有项的名称,而在包体具体给出各项的细节。
程序包的结构为:
PACKAGE程序包名IS
[说明语句];
END程序包名;
)包头
PACKAGE BODY程序包名IS
[说明语句];
END BODY;
下面是一个程序包的例子:
)包体
一一包头说明
PACKAGE Logic IS
TYPE Three_level_logic IS(’0’,'L',’Z’);
CONSTANT Unknown_Value:Three_level_logic:= 'O';
FUNCTION Invert (input:Three_level_logic) RETURN Three_level_logic;
END Logic;
包体说明
PACKAGE BODY Logic IS
一一如下是函数的子程序体
FUNCTION Invert (input:Three_level_logic) RETURN Three_level_logic;
BEGIN
CASE input IS
WHEN 'O'=>RETURN '1';
WHEN '1'=>RETURN '0';
WHEN 'Z'=>RETURN 'Z';
END CASE;
END Invert;
END Logic;
程序包用来单纯罗列VHDL语言中所要用到的信号定义、常数定义、数据类型、元件D-150-0174CS2902语句、函数定义和过程定义等,它是一个可编译的设计单元,也是库结构中的一个层次。使用程序包时,可以用USE语句说明。例如:
USE IEEE.STD LOGIC 1164.ALL;
该语句表示在VHDL程序中要使用名为STD LOGIC 1164的程序中所有定义或说明项。
一个程序包由两大部分组成:包头(Header)和包体(Package Body),其中包体是一个可选项,也就是说,程序包可以只由包头构成。一般包头列出所有项的名称,而在包体具体给出各项的细节。
程序包的结构为:
PACKAGE程序包名IS
[说明语句];
END程序包名;
)包头
PACKAGE BODY程序包名IS
[说明语句];
END BODY;
下面是一个程序包的例子:
)包体
一一包头说明
PACKAGE Logic IS
TYPE Three_level_logic IS(’0’,'L',’Z’);
CONSTANT Unknown_Value:Three_level_logic:= 'O';
FUNCTION Invert (input:Three_level_logic) RETURN Three_level_logic;
END Logic;
包体说明
PACKAGE BODY Logic IS
一一如下是函数的子程序体
FUNCTION Invert (input:Three_level_logic) RETURN Three_level_logic;
BEGIN
CASE input IS
WHEN 'O'=>RETURN '1';
WHEN '1'=>RETURN '0';
WHEN 'Z'=>RETURN 'Z';
END CASE;
END Invert;
END Logic;
上一篇:VHDL的基本结构
上一篇:库(Library)
热门点击
- 与非门实现异或门电路
- 按表2.5.1测试74LS194的逻辑功能
- RSE和NRSE的测量精度不如差分测量
- 晶体三极管的输入输出特性曲线
- 在数字电路实验箱上连接完成
- 结型场效应管的引脚识别
- 结型场效应管的引脚识别
- 静态工作点测量
- LED显示器(数码管)
- 硅整流桥的检测
推荐技术资料
- 硬盘式MP3播放器终级改
- 一次偶然的机会我结识了NE0 2511,那是一个远方的... [详细]