VHDL Quartus无法识别“ +”和“-”

时间:2018-12-18 15:22:57

标签: vhdl quartus

所以我试图制作一个在简单条件下执行加法或减法运算的程序,但是我的VHDL编译器不断告诉我它无法识别“ +”和“-”的含义。   我也不确定我正在使用的图书馆。

LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL;
USE IEEE.NUMERIC_STD.ALL;

ENTITY ADDSUBS IS
PORT( CNTRL: in std_logic;
      NUM1, NUM2: in std_logic_vector(7 downto 0);
      SUM: out std_logic_vector(8 downto 0));
END ADDSUBS;

ARCHITECTURE A4 OF ADDSUBS IS
BEGIN
SUM <= ('0' & NUM1) + ('0' & NUM2) WHEN (CNTRL='0') ELSE
       ('0' & NUM1) - ('0' & NUM2) WHEN (CNTRL='1');
END;

1 个答案:

答案 0 :(得分:3)

您尚未包括任何可以对std_logic_vectors进行算术运算的软件包。 (“ 0”和NUM1)仍然是std_logic_vector,您需要将其强制转换为无符号/有符号:

unsigned('0' & NUM1)