Xst:647 Предупреждения во время синтеза Shift6 с модулем Top

Я написал код VHDL для арифметического сдвига на 6. Код работает нормально. Но когда я использую его как компонент в моем верхнем модуле, на входе b6 есть некоторые биты, которые не используются. Поэтому он выдает предупреждение во время синтеза, что

        Xst:647 - Input <b6<9...14>> is never used.

И во время внедрения ASIC выдает предупреждение, что

        O6(0),O(1)...O(5) is connected to same logic(ground).

Влияет ли это предупреждение на мощность моего верхнего модуля во время работы? Могу ли я избежать этих предупреждений? Код для арифметического сдвига 6 приведен ниже.

 entity shift6 is 
    Port ( 
           b6 : in  STD_LOGIC_VECTOR(15 downto 0);
           o6 : out  STD_LOGIC_VECTOR(15 downto 0));
   end shift6;

architecture Behavioral of shift6 is

begin
process(b6) 
begin
   o6(15)<=b6(15);
   o6(14 downto 6)<=b6(8 downto 0);
   o6(0)<='0';
   o6(1)<='0';
   o6(2)<='0';
   o6(3)<='0';
   o6(4)<='0';
   o6(5)<='0';
end process;

end Behavioral;

person Raj    schedule 16.02.2015    source источник
comment
Просто чтобы продолжить ответ Брайана. Обрезка логики — нормальная часть процесса синтеза. Синтезатор, однако, не знает, что можно и что нельзя обрезать, поэтому он выдает эти предупреждения, чтобы вы знали, что происходит, если ошибка проектирования приводит к удалению слишком многого.   -  person Kevin Thibedeau    schedule 16.02.2015


Ответы (2)


Нет, они не влияют на этот дизайн, и собственный IP-адрес Xilinx обычно генерирует сотни таких предупреждений, поэтому предупреждение обычно не означает неисправность дизайна.

Учитывая опубликованный вами код, для вас уже очевидно, что эти биты не используются и могут быть удалены из схемы, предупреждение просто подтверждает это.

Ошибки должны быть исправлены, предупреждения обычно не имеют значения.

В более сложном дизайне стоит просмотреть список предупреждений на случай, если из-за ошибки весь дизайн был обрезан или обратите больше внимания, если он не работает на аппаратном уровне, но обычно не стоит переписывать, чтобы избежать некоторых предупреждений, если вы уже проверено, что конструкция правильно работает в симуляторе.

person user_1818839    schedule 16.02.2015

В дополнение к ответу Брайана.

Большинство предупреждений XST не являются критическими, но некоторые из них являются критическими. Например, предупреждение «используется, но никогда не назначался» или «найдена защелка». Некоторые другие предупреждения приемлемы для синтеза, но могут стать фатальными на более поздних этапах, например. «обнаружен черный ящик», если файл списка соединений (*.ngc) отсутствует.

Вот список критических предупреждений, которые необходимо решить для правильного проектирования:

  • HDLCompiler — WarningID 89, 92, 321, 634, 797, 871
  • Xst — идентификаторы предупреждений 653, 737, 1415, 2935, 3210.

Я написал скрипт для сканирования сводного отчета (*.syr) на наличие этих предупреждений и идентификаторов. К сожалению, этот скрипт имеет некоторые ошибки, поэтому я не буду его публиковать в данный момент. Возможно, вы быстрее реализуете такой сканер критических предупреждений.

person Paebbels    schedule 16.02.2015