|
VHDL 库
VHDL 中常见的库主要包括以下几类 :
1. STD 库
在 VHDL 的设计库中 , STD 库是一种非常重要的库 , 它包含有程序包 standard 和程序包 textio 。程序包 standard 中定义了位、位矢量、字符和时间等数据类型 , 程序包 textio 主要包含了对文本文件进行读写操作的过程和函数。
在 STD 库中 , 由于程序包 standard 符合 VHDL 的标准 , 因此使用这个程序包时不需要在程序的开始部分进行说明 ; 而在使用程序包 textio 的时候则必须在程序的开始部分进行 程序 包的说明。通常 , 使用程序包 textio 时的说明语句如下所示 :
LIBRARY STD;
USE STD.textio.ALL;
2. WORK 库
WORK 库是 VHDL 中另外一种十分重要的设计库。 EDA 工具在编译一个 VHDL 程序时 . 通常默认它将保存在 WORK 库中。可见, WORK 库可以用来临时保存以前编译过的元件和模块。这样, 如果需要引用以前编译过的元件和模块 , 设计人员只需要引用该库即可。
虽然 WORK 库是一种设计库 , 但是如果需要引用 WORK 库中用户自己定义的例化元件和模块 , 那么这时就需要对 WORK 库进行说明。
3. IEEE 库
IEEE 库是目前使用最为广泛的资源库 , 它主要包含有 IEEE 标准的程序包和其他一些支持 工业标准的程序包。 程序包 std_logic_1164 是设计人员最常使用和最重要的程序包 , 它主要定义了一些常用的数据类型和函数。
另外 , 现在某些 EDA 提供的一些程序包虽然不是 IEEE 标准 , 但它们已经成为事实上的工 业标准 , 因此它们也都被并入到了 IEEE 库中。例如 , SYNOPSYS 公司的 std_logic_arith 、 std_logic _signed 和 std_logic_ unsigned 程序包应用得十分广泛 , 目前流行的 EDA 工具几乎都支持 SYNOPSYS 公司的程序包。
用户定义的库
VHDL 之所以得到广泛的应用 , 其主要原因在于它具有很高的灵活性 , 设计人员可以自己定义一些单元。对于库也不例外 , 设计人员可以建立自己的一个资源、 通常 , 设计人员可以将为自身设计需要所开发的公用程序包、设计实体或者通过交流获得 程序包设计实体等汇集在一起定义成一个库 , 这就是用户定义的库。由于用户定义的库是一种资源库 , 因此在使用它时需要在程序的开始部分对库进行说明。
|