我是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;
导致错误的原因是什么?如何解决?
答案 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);