微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > FPGA,CPLD和ASIC > VHDL的疑问

VHDL的疑问

时间:10-02 整理:3721RD 点击:
我在用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这个库就可以,这里我已经添加了这个库,为什么还是会报错?请高人帮我指导一下,不胜感激。

加一句use ieee.std_logic_arch.all;


加了还是报错。

use IEEE.STD_LOGIC_ARITH.ALL;
加这个 算数库


加了这个库还是报一样的错,搞不懂是哪里的问题,接着求解决方法。

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

网站地图

Top