我有以下VHDL代码示例:
LIBRARY ieee;
USE ieee.std_logic_1164.all;
LIBRARY work;
ENTITY Test IS
PORT
( Nios_Reset_n : IN STD_LOGIC;
UserLed : OUT STD_LOGIC_VECTOR(4 DOWNTO 0)
);
END Test;
ARCHITECTURE bdf_type OF Test IS
COMPONENT misc
PORT( reset_reset_n : IN STD_LOGIC;
userleds_external_connection_export : OUT STD_LOGIC_VECTOR(4 DOWNTO 0)
);
END COMPONENT;
BEGIN
b2v_M1 : misc
PORT MAP( reset_reset_n => Nios_Reset_n,
userleds_external_connection_export => UserLed);
UserLed(0) <= '0';
END bdf_type;
编译后,我收到以下错误消息:错误(10028):无法在Test.vhd(28)上解析网络“UserLed [0]”的多个常量驱动程序
我想到的是, UserLed(0)&lt; ='0'; 这一行给出了问题,但我不完全理解为什么因为我没有在其他地方使用过UserLed信号。这看起来像一个简单的'问题'......
提前致谢!
答案 0 :(得分:1)
您需要引入本地信号,以便重新组装LED线:
architecture bdf_type of Test is
signal misc_leds : STD_LOGIC_VECTOR(4 downto 0);
component misc
port (
reset_reset_n : IN STD_LOGIC;
userleds_external_connection_export : OUT STD_LOGIC_VECTOR(4 DOWNTO 0)
);
end component;
begin
b2v_M1 : misc
port map (
reset_reset_n => Nios_Reset_n,
userleds_external_connection_export => misc_leds
);
UserLed(0) <= '0';
UserLed(4 downto 1) <= misc_leds(4 downto 1);
end architecture;