微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > FPGA,CPLD和ASIC > 请问 vhdl程序中是不是std_logic_signed和std_logic_unsigned这两个包只能包含一个?

请问 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楼的

好!

好!

答案到底是什么

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top