Перейти к содержанию
    

Компонент с неиспользуемыми входами

Как будет скопилирован компонент если в его entity описано, например, 5-ть входных сигналов, а реально задействованы только 3. Будут ли незадействованые удалены или будут как висячие входы?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

НЕИСПОЛЬЗУЕМЫХ ВХОДОВ НЕ ДОЛЖНО БЫТЬ.

В проекте вы должны подать на эти входы VCC или GND. ('1' || '0')

В зависимости от того, какие сигналы поданы, синтезатор "вырежет" неиспользуемую логику.

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

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Компилятор не будет неиспользуемые входы считать таковыми и скорее всего их просто удалит

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Компилятор не будет неиспользуемые входы считать таковыми и скорее всего их просто удалит

 

Тоесть, если в компоненте используется,например, 3 входа с 5-ти, а остальные незадействованые два не висячие(тоесть проинициированы) то они будут удалены?

А почему когда я смотрю RTL верхнего уровня, то они подключены к компоненте, правда когда смотреть RTL компонента то их нет как входов. Почему так?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Т.е. Вы хотите задать ноги, но их не использовать? Я правильно Вас понял?

 

Если вы имеете ввиду ноги компонента, то да. Я хочу с управляющего компонента подавать ВСЕ сигналы управления на остальные компоненты. А уже в каждом отдельном компоненте использовать только те сигналы что надо. Вот и хочу знать будут ли незадействованые удалены компилятором.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Если вы имеете ввиду ноги компонента, то да. Я хочу с управляющего компонента подавать ВСЕ сигналы управления на остальные компоненты. А уже в каждом отдельном компоненте использовать только те сигналы что надо. Вот и хочу знать будут ли незадействованые удалены компилятором.

 

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

 

Если удалит, то отлично мне так и надо.

Повторюсь еще раз, а почему когда я смотрю RTL верхнего уровня, то они подключены к компоненте, правда когда смотреть RTL компонента то их нет как входов.

Думаю что он действительно их удалил, но почему не удалил и на верхнем уровне?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Как привер.

Компонент номер 1 (К1) соединен с компонентом номер 2 (К2).

1) С К1 выходит 16 проводов, а на К2 вы взяли только 14.

Тогда синтезатор (например XST) даст предупреждение и в отчете можно будет глянуть что он там наоптемизировал для К1. Если так и надо, больше вам ни чего делать не надо.

 

2). С К1 выходит 14 проводов, а на К2 у вас 16. Оставшиеся 2 - лучше подцепить или на 0 или 1, в зависимости что вам надо по логике. (Типа GND <= '0'; ну а дальше присоединить этот сигнал к оставшимся 2-ум). Синтезатор ругаться не будет и можно будет посмотреть что он на оптемизировал для К2. Если этого не делать, то если я не ошибаюсь, он выдаст предупреждение и по умочанию оставшимся двум сам присвоит 0.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Как будет скопилирован компонент если в его entity описано, например, 5-ть входных сигналов, а реально задействованы только 3. Будут ли незадействованые удалены или будут как висячие входы?

Если при инстанцировании вы забыли про некоторые входы, то обычно компилятор их "заземляет" ('b0). Моделлер ставит их в 'bx. (sorry за verilog нотацию).

Но, по-моему, хорошим тоном является принудительное описание того, что вам не нужно.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Как привер.

Компонент номер 1 (К1) соединен с компонентом номер 2 (К2).

1) С К1 выходит 16 проводов, а на К2 вы взяли только 14.

Тогда синтезатор (например XST) даст предупреждение и в отчете можно будет глянуть что он там наоптемизировал для К1. Если так и надо, больше вам ни чего делать не надо.

 

2). С К1 выходит 14 проводов, а на К2 у вас 16. Оставшиеся 2 - лучше подцепить или на 0 или 1, в зависимости что вам надо по логике. (Типа GND <= '0'; ну а дальше присоединить этот сигнал к оставшимся 2-ум). Синтезатор ругаться не будет и можно будет посмотреть что он на оптемизировал для К2. Если этого не делать, то если я не ошибаюсь, он выдаст предупреждение и по умочанию оставшимся двум сам присвоит 0.

 

3) С К1 выходит 16 проводов, и ВСЕ приходят на К2, только в К2 используется только 14.

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Как привер.

Компонент номер 1 (К1) соединен с компонентом номер 2 (К2).

1) С К1 выходит 16 проводов, а на К2 вы взяли только 14.

Тогда синтезатор (например XST) даст предупреждение и в отчете можно будет глянуть что он там наоптемизировал для К1. Если так и надо, больше вам ни чего делать не надо.

 

2). С К1 выходит 14 проводов, а на К2 у вас 16. Оставшиеся 2 - лучше подцепить или на 0 или 1, в зависимости что вам надо по логике. (Типа GND <= '0'; ну а дальше присоединить этот сигнал к оставшимся 2-ум). Синтезатор ругаться не будет и можно будет посмотреть что он на оптемизировал для К2. Если этого не делать, то если я не ошибаюсь, он выдаст предупреждение и по умочанию оставшимся двум сам присвоит 0.

 

3) С К1 выходит 16 проводов, и ВСЕ приходят на К2, только в К2 используется только 14.

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

 

Третий вариант сводится к 1-му т.к. можно считать чнто они не заводяться...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Angel,

 

 

ne muchytes s voprosom, poprobuyte, govorit chto proizodet, dostatochno trudno, tak vse zavisit ot Software, kotoroe vi ispolzuete, nastroek, tip proekta CPLD/FPGA, naskolko zagruzhen vash proek, esli vi podoydet k 98% fit, to estestvenno complier nachnet sherstit, chtobi vichestit pobolshe mesta....

 

 

Udachi!!!!!

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...