我在用VHDL做std_ulogic_vector的加法运算的时候遇到以下问题,请教以下解决方法,谢谢!
library ieee;
use ieee.std_logic_1164.all;
use ieee.numeric_std.all;
use ieee.std_logic_unsigned.all;
entity add_number is
port (
clock : in std_ulogic;
A,B,C : in std_ulogic_vector(7 downto 0);
sum : out std_ulogic_vector (9 downto 0)
);
end entity add_number;
architecture rtl of add_number is
signal A_REG : STD_ULOGIC_VECTOR (7 DOWNTO 0);
signal B_REG : STD_ULOGIC_VECTOR (7 DOWNTO 0);
signal C_REG : STD_ULOGIC_VECTOR (7 DOWNTO 0);
signal SUM_REG : STD_ULOGIC_VECTOR (9 DOWNTO 0);
BEGIN
ADD_PRO : PROCESS (clock)
begin
A_REG <= A;
B_REG <= B;
C_REG <= C;
end process ADD_PRO;
PROCESS(clock)
begin
SUM_REG <= A_REG + B_REG + C_REG;
end process;
end architecture rtl;
编译出现以下错误:
Error (10327): VHDL error at add_number.vhd(39): can't determine definition of operator ""+"" -- found 0 possible definitions
在网上找到一些资料说,std_ulogic_vector不能直接做加法运算,但是如果添加了ieee.std_logic_unsigned这个库就可以,这里我已经添加了这个库,为什么还是会报错?请高人帮我指导一下,不胜感激。