请问 vhdl程序中是不是std_logic_signed和std_logic_unsigned这两个包只能包含一个?
时间:10-02
整理:3721RD
点击:
看到有书说 std_logic_1164、std_logic_arith、std_logic_signed和std_logic_unsigned这四个程序包最常用,如果不知道用哪个的话可以把这四个都用use语句列上
我的问题是:由于std_logic_signed和std_logic_unsigned分别把std_logic_vector当作有符号和无符号数参加算术运算,那么如果std_logic_signed和std_logic_unsigned都use上的话,有两个std_logic_vector型的信号 a、b进行“ a+b” 加法运算时,到底是无符号数加法 还是 有符号数的加法呢?(也就是到底使用std_logic_signed和std_logic_unsigned中的哪个“+”重载函数呢?形式一模一样,程序是无法从函数形式、输入参量、返回值类型等方面进行分辨的啊)
谢谢大家!
std_logic_signed和std_logic_unsigned这两个包的“+”函数的声明一模一样,如下:
function "+"(L: STD_LOGIC_VECTOR; R: STD_LOGIC_VECTOR) return STD_LOGIC_VECTOR;
所以,这两个包都用use语句包含的话,程序如何分辨使用哪个“+”重载函数啊?
同问?
同意2楼的
好!
好!
答案到底是什么