VHDL内部信号声明给出了驱动程序错误

时间:2015-10-15 06:01:33

标签: compiler-errors driver fpga

这里有一个简单的代码,其中包含编译器无法解析net" led_int [0]"的多个常量驱动程序的问题。

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):无法解析net&#34; led_int [0]&#34;的多个常量驱动程序在Test.vhd(11)

如何解决这个简单问题?

1 个答案:

答案 0 :(得分:0)

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

led_int(0) <= '0';不断拉高,userleds_external_connection_export => led_int将其拉高或拉低,具体取决于misc模块中的内容。

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