|
|
  |
Булевы функции |
|
|
|
Sep 26 2008, 20:02
|

Гуру
     
Группа: Свой
Сообщений: 2 957
Регистрация: 19-09-06
Из: Москва
Пользователь №: 20 514

|
Есть PLD-шка У нее 12 входных переменных и 4 выходных (просто функции, ничего более) Считал ее а-ля простую ПЗУ, есть потребность получить просто запись ФУНКЦИЙ выходных переменных В тупую отдал весь массив как таблицу Квартусу. Паразит аж в Циклоне требует 3600 лутов Но бред же  Все функции классно уложились в 16V8, почему же такая дикая "оптимизация" в Квартусе? Попробовал сделать "усовершенствования" - описал руками по таблице некоторые куски обобщенно - паразит уже хочет меньше - 2900 лутов. Что можно включить у Квартуса (или что можно другое поюзать), чтобы нормально получить запись функции 12-ти переменных?
|
|
|
|
|
Sep 26 2008, 20:43
|

Бывалый
  
Группа: Validating
Сообщений: 375
Регистрация: 19-10-05
Из: Kiev, UA
Пользователь №: 9 853

|
Цитата(toweroff @ Sep 26 2008, 23:02)  Есть PLD-шка У нее 12 входных переменных и 4 выходных (просто функции, ничего более) Считал ее а-ля простую ПЗУ, есть потребность получить просто запись ФУНКЦИЙ выходных переменных В тупую отдал весь массив как таблицу Квартусу. Паразит аж в Циклоне требует 3600 лутов Но бред же  Все функции классно уложились в 16V8, почему же такая дикая "оптимизация" в Квартусе? Попробовал сделать "усовершенствования" - описал руками по таблице некоторые куски обобщенно - паразит уже хочет меньше - 2900 лутов. Что можно включить у Квартуса (или что можно другое поюзать), чтобы нормально получить запись функции 12-ти переменных? Если Вы забили таблицу с 12-ю входами, он Вам и сгенерил 2 в 12 лутов. Он даже слегка заоптимизировал  А оптимизация как лежала на разработчике так и будет лежать. Карты Карно рулят  ЗЫ: Я знаю что я псих
--------------------
|
|
|
|
|
Sep 27 2008, 13:58
|
Гуру
     
Группа: Свой
Сообщений: 2 435
Регистрация: 6-10-04
Из: Петербург
Пользователь №: 804

|
Цитата(toweroff @ Sep 27 2008, 16:39)  Вот AHDL. Особо не заморачивался  Заметно. Такое нет смысла анализировать. Вы используете таблицу без какой либо приоритетности. Обычно такого размера таблицу кладут в ПЗУ Если на выход ее регистр пристроить, должно лечь на мегафункцию ROM. Что вполне естественно. На верилоге это case укладывается. И в AHDL предпочтительнее было бы использовать CASE. Ибо появляется понятие может быть приоритетности, понятие по умолчанию, что существенно минимизирует и ресурсы и время компиляции. Да и в зависимости от объема перебора синтезатор сам принимает решение об использовании ресурсов (задействовать память или нет)
|
|
|
|
|
Sep 27 2008, 17:50
|

Частый гость
 
Группа: Свой
Сообщений: 81
Регистрация: 28-07-07
Из: Кишинев
Пользователь №: 29 434

|
Цитата(toweroff @ Sep 27 2008, 17:05)  ...короче квартус идет на юг лесом  Ради интереса запустил у себя
Вот такие результаты - странно P.S. В 3000 - 20 ног, это он еще JTAG приплюсовал
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|