VHDL出错

在用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;

就可以完美解决了

 


版权声明:本文为hywhjj原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。