在用VHDL写加法器的时候遇到了这个问题:
[Synth 8-944] 0 definitions of operator "+" match here
后来发现原来是VHDL不允许在不同数据类型的操作数之间进行直接操作或运算,需要调用运算符重载函数。而VHDL的IEEE库中的STD_LOGIC_UNSIGNED程序包中定义的操作符,对相应的数据类型INSEGER,STD_LOGIC和STD_LOGIC_VECTOR的操作做了重载,赋予了新的数据类型操作功能。
所以只需要添加use ieee.std_logic_unsigned.all;
就可以完美解决了