理论教育 库、程序包和配置的管理技巧

库、程序包和配置的管理技巧

时间:2023-06-24 理论教育 版权反馈
【摘要】:库是VHDL程序设计的公共资源,可以把库看成是一种用来存储预先完成的程序包、数据集合体和元件的仓库。ieee库是VHDL设计中最重要的库,其中包括std_logic_1164,std_logic_unsigned,std_logic_arith等程序包。例如例8.1.1源程序中的第1,2句,如果不给予声明则例8.1.1源程序中端口CP和Q的数据类型因未定义而无意义;如果没有第3句则不能进行运算Q1+1,因为两个加数的数据类型不一致。

库、程序包和配置的管理技巧

库是VHDL程序设计的公共资源,可以把库看成是一种用来存储预先完成的程序包、数据集合体和元件的仓库。为了使已定义的常数、数据类型、元件调用说明以及子程序能被其他的设计实体方便地访问和共享,可以将它们收集在一个VHDL程序包中。多个程序包可以并入一个VHDL库,使之适用于更一般的访问和调用范围。

1.库(library)

库语句:

library 库名;  --打开指定的库

例8.1.1源程序中的第一句表示打开ieee库。ieee库是VHDL设计中最重要的库,其中包括std_logic_1164,std_logic_unsigned,std_logic_arith等程序包。库分为5种:ieee库、std库、asic库、work库和用户定义库。

因为在ieee库中符合IEEE标准的程序包并非符合VHDL标准,如std_logic_1164程序包和std_logic_unsigned程序包,所以在使用时必须声明。例如例8.1.1源程序中的第1,2句,如果不给予声明则例8.1.1源程序中端口CP和Q的数据类型因未定义而无意义;如果没有第3句则不能进行运算Q1+1,因为两个加数的数据类型不一致。而std库符合VHDL标准,故在使用时不必声明。work库是用户的VHDL设计的现行工作库,用于存放用户设计和定义的一些设计单元和程序包,自动满足VHDL标准,在使用时不必声明。

2.程序包(package)

在VHDL中,常数说明、数据类型说明、元件调用说明以及子程序说明等在某设计实体说明后,不能为其他设计实体所引用,程序包就是为了使一组常数说明、数据类型说明、元件调用说明以及子程序说明等内容能够被所有的设计实体所引用,前提是先打开此程 序包。

(1)程序包由包首和包体组成,其一般格式为:

package 程序包名 is

程序包首说明部分

end 程序包名;

package body 程序包名 is(www.daowen.com)

程序包体说明部分以及包体内容

end 程序包名;

(2)程序包打开语句:

use 库名.程序包名.项目名;  --打开指定库中特定程序包所选定的项目

use 库名.程序包名.all;  --打开指定库中特定程序包内所有的内容

3.配置(configuration)

配置可以把特定的结构体指定给一个确定的实体。通常在大而复杂的VHDL工程设计中,配置语句可以为实体配置一个结构体。配置语句还能用于对元件的端口连接进行重新安排,用端口映射把新元件映射到相应的信号上去,这种功能为设计选用和修改元件增加了灵活性。

配置语句:

configuration 配置名 of 实体名 is

配置说明

end 配置名;

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈