|
最近用VHDL编程,发现有很多时候遇到《Error (10327): VHDL error at and2.vhd(11): can't determine definition of operator ""+"" -- found 0 possible definitions》这样的问题,开始不知道为什么,后来在知道不同的数据类型的运算是定义在不同的库的,这就需要了解不同的库的组成呀,所以在这里提出这个讨论,大家来交流哈你们对VHDL里各个库的内容以及典型应用。这里我了解一点,当然也是从网上了解到的,希望大家能把自己了解到的向后接起!
USE IEEE.STD_LOGIC_1164.ALL;
该程序包预先在IEEE库中编译,是IEEE库中最常用的标准程序包,其数据类型能够满足工业标准,非常适合CPLD(或FPGA)器件的多值逻辑设计结构。
(2)STD_LOGIC_ARITH程序包
该程序包是美国Synopsys公司的程序包,预先编译在IEEE库中。主要是在STD_LOGIC_1164程序包的基础上扩展了UNSIGNED(无符号)、SIGNED(符号)和SMALL_INT(短整型)三个数据类型,并定义了相关的算术运算符和转换函数。
(3)STD_LOGIC_SIGNED程序包
该程序包预先编译在IEEE库中,也是Synopsys公司的程序包。主要定义有符号数的运算,重载后可用于INTEGER(整数)、STD_LOGIC(标准逻辑位)和STD_LOGIC _VECTOR(标准逻辑位向量)之间的混合运算,并且定义了STD_LOGIC _VECTOR到INTEGER的转换函数。
(4)STD_LOGIC_UNSIGNED程序包
该程序包用来定义无符号数的运算,其他功能与STD_LOGIC_SIGNED相似。
[ 本帖最后由 wenhuawu 于 2009-3-11 10:59 编辑 ]
|
赞赏
-
1
查看全部赞赏
-
|