VHDL ‹b_Off_OBUF› неполный. Сигнал не управляется каким-либо выводом источника в конструкции.

Я пытаюсь написать очень простую программу на макетной плате Spartan-3E. Я хочу прочитать ползунковые переключатели и использовать светодиод рядом с ползунковыми переключателями, чтобы указать, какой переключатель находится в положении «включено».

Вот мой код:

library IEEE;
use IEEE.STD_LOGIC_1164.ALL;


entity Switch is
   PORT(a,b,c,d: IN std_logic; 
     a_ON,a_Off,b_ON,b_Off,c_ON,c_Off,d_ON,d_Off: OUT std_logic);
end Switch;

architecture Behavioral of Switch is

begin
  PROCESS (a)
  begin
    if a = '1' then
      a_ON <= '1';
    else 
      a_OFF <= '1';
    end if;
 END PROCESS;   
end Behavioral;

Вот мой файл *.ucf:

NET "a" LOC = "L13" | IOSTANDARD = LVTTL | PULLUP ;
NET "b" LOC = "L14" | IOSTANDARD = LVTTL | PULLUP ;
NET "c" LOC = "H18" | IOSTANDARD = LVTTL | PULLUP ;
NET "d" LOC = "N17" | IOSTANDARD = LVTTL | PULLUP ;

NET "d_OFF" LOC = "F9" | IOSTANDARD = LVTTL | SLEW = SLOW | DRIVE = 8 ;
NET "d_ON" LOC = "E9" | IOSTANDARD = LVTTL | SLEW = SLOW | DRIVE = 8 ;
NET "c_OFF" LOC = "D11" | IOSTANDARD = LVTTL | SLEW = SLOW | DRIVE = 8 ;
NET "c_ON" LOC = "C11" | IOSTANDARD = LVTTL | SLEW = SLOW | DRIVE = 8 ;
NET "b_OFF" LOC = "F11" | IOSTANDARD = LVTTL | SLEW = SLOW | DRIVE = 8 ;
NET "b_ON" LOC = "E11" | IOSTANDARD = LVTTL | SLEW = SLOW | DRIVE = 8 ;
NET "a_OFF" LOC = "E12" | IOSTANDARD = LVTTL | SLEW = SLOW | DRIVE = 8 ;
NET "a_ON" LOC = "F12" | IOSTANDARD = LVTTL | SLEW = SLOW | DRIVE = 8 ;

Вот ошибки, которые я получаю:

PhysDesignRules:368 - Сигнал неполный. Сигнал не управляется каким-либо выводом источника в конструкции.

ОШИБКА:PhysDesignRules:368 — сигнал неполный. Сигнал не управляется каким-либо выводом источника в конструкции.

ОШИБКА:PhysDesignRules:368 — сигнал неполный. Сигнал не управляется каким-либо выводом источника в конструкции.

ОШИБКА:PhysDesignRules:368 — сигнал неполный. Сигнал не управляется каким-либо выводом источника в конструкции.

ОШИБКА:PhysDesignRules:368 — сигнал неполный. Сигнал не управляется каким-либо выводом источника в конструкции.

ОШИБКА:PhysDesignRules:368 — сигнал неполный. Сигнал не управляется каким-либо выводом источника в конструкции.

ВНИМАНИЕ:PhysDesignRules:367 — сигнал неполный. Сигнал не управляет никакими нагрузочными контактами в конструкции.

ВНИМАНИЕ:PhysDesignRules:367 — сигнал неполный. Сигнал не управляет никакими нагрузочными контактами в конструкции.

ВНИМАНИЕ:PhysDesignRules:367 — сигнал неполный. Сигнал не управляет никакими нагрузочными контактами в конструкции.

ВНИМАНИЕ:PhysDesignRules:367 — сигнал неполный. Сигнал не управляет никакими нагрузочными контактами в конструкции.


person hfbroady    schedule 21.08.2015    source источник


Ответы (1)


Следующие выходные порты в вашем проекте не связаны с какой-либо логикой и никаким образом не управляются:

b_ON,b_Off,c_ON,c_Off,d_ON,d_Off

Вам нужно проехать на них как минимум '0', чтобы пройти DRC. Например:

b_ON <= '0';

Если по какой-то причине вы действительно не хотите управлять этими сигналами, вы можете установить их в режим inout и управлять ими с помощью 'Z':

port (
  b_ON : inout std_logic
);

...

b_ON <= 'Z';
person scary_jeff    schedule 21.08.2015
comment
Большое спасибо. Я понял это еще до того, как просмотрел твой пост. Также спасибо за советы по кодированию. Хорошего дня!! - person hfbroady; 21.08.2015