Сохранение ширины портов - PullRequest
       59

Сохранение ширины портов

0 голосов
/ 15 ноября 2010

Я пытаюсь повторно использовать списки соединений в других проектах, но безуспешно.

У меня есть компонент, который переводится в список соединений:

  entity c is
     port (...  sel : in std_logic_vector(31 downto 0); ... );

В дизайне я использую только sel (от 4 до 0). Инструменты синтеза замечают это поведение и выдают предупреждение:

'ПРЕДУПРЕЖДЕНИЕ: Xst: 647 - вход sel <31: 5> никогда не используется ..

Я создаю список соединений со свойствами:

  • сохранить иерархию = true
  • добавить буферы ввода / вывода = выкл

Всякий раз, когда я хочу создать этот список соединений как модуль черного ящика в другой цепи, я получаю ошибку:

ОШИБКА: NgdBuild: 76 - невозможно объединить в блок, так как один или несколько выводов в блоке, включая вывод «sel <31>», не найдены в файле.

Как мне сохранить размер sel? Я должен отметить, что sel должен иметь ширину 32 бита, поскольку он подключен к шине.

Ответы [ 2 ]

2 голосов
/ 15 ноября 2010

Вы можете попробовать сбросить неиспользуемые входные порты на ноль.

1 голос
/ 15 ноября 2010

Можете ли вы использовать компонент напрямую, а не в качестве предварительно синтезированного черного ящика?

Вы можете заставить все работать, добавив атрибут KEEP (см. Руководство к инструментам для синтезатора) на порт.Я когда-либо пробовал это только на сигналах, но это может сработать.

Такого рода задачу часто описывают как «толкать веревку» синтезатора, так как это большая боль - заставить ее не бытьнастолько, насколько это возможно (и в следующем выпуске инструментов вам понадобится другой атрибут:)

...