2015-10-15 39 views
0

这里有一个简单的代码,它解决了编译器无法为网络“led_int [0]”解析多个常量驱动程序的问题。VHDL内部信号声明给出了驱动程序错误

architecture bdf_type of Test is 
    signal led_int : 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 => led_int 
    ); 

    led_int(0) <= '0'; 
    UserLed <= led_int; 
end architecture; 

为什么我得到同样的错误消息,但这里错误(10028):无法解析净 “led_int [0]” 在Test.vhd(11)多个恒定的驱动程序?

我该如何解决这个简单的问题?

+2

可能重复[解决多个常量驱动程序的网络错误](http://stackoverflow.com/questions/33122276/resolve-multiple-constant-drivers-for-net-error) – Paebbels

回答

0

您有两个led_in(0)信号驱动程序。

led_int(0) <= '0';不断拉低它,userleds_external_connection_export => led_int根据杂项模块中的内容将其拉高或拉低。

你不允许在vhdl中有一个信号的驱动程序。如果你不需要两个驱动程序,你需要在它们之间有一些逻辑 - 例如or门,and门,多路复用器或类似的。