使用了std_logic_signed但未声明

时间:2014-05-17 00:28:26

标签: vhdl

我是VHDL的新手。我试图使用std_logic_signed信号,但我不断收到错误“std_logic_signed已使用但未声明”。据我所知,我使用了正确的库但是错误地导致了很多相互矛盾的答案。

这是我的示例程序:

LIBRARY ieee;
USE ieee.std_logic_1164.all;
USE ieee.std_logic_arith.all;

entity bird is

end entity bird;

architecture arch of bird is

--Declare signals
signal speed : std_logic_signed (7 downto 0);

begin

end architecture arch;

导致错误的原因是什么?如何解决?

1 个答案:

答案 0 :(得分:2)

因为类型名称是SIGNED:

grep -i signed std_logic_arith.vhdl 
std_logic_arith.vhdl:    type SIGNED is array (NATURAL range <>) of STD_LOGIC;
...

没有声明名为std_logic_signed的类型。

而不是使用std_logic_signed类型标记声明速度使用signed

--Declare signals
signal speed : signed (7 downto 0);