реклама на сайте
подробности

 
 
 
Reply to this topicStart new topic
> Булевы функции
toweroff
сообщение Sep 26 2008, 20:02
Сообщение #1


Гуру
******

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



Есть PLD-шка
У нее 12 входных переменных и 4 выходных (просто функции, ничего более)
Считал ее а-ля простую ПЗУ, есть потребность получить просто запись ФУНКЦИЙ выходных переменных
В тупую отдал весь массив как таблицу Квартусу. Паразит аж в Циклоне требует 3600 лутов

Но бред же smile.gif Все функции классно уложились в 16V8, почему же такая дикая "оптимизация" в Квартусе?
Попробовал сделать "усовершенствования" - описал руками по таблице некоторые куски обобщенно - паразит уже хочет меньше - 2900 лутов.

Что можно включить у Квартуса (или что можно другое поюзать), чтобы нормально получить запись функции 12-ти переменных?
Go to the top of the page
 
+Quote Post
bloodden
сообщение Sep 26 2008, 20:43
Сообщение #2


Бывалый
***

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



Цитата(toweroff @ Sep 26 2008, 23:02) *
Есть PLD-шка
У нее 12 входных переменных и 4 выходных (просто функции, ничего более)
Считал ее а-ля простую ПЗУ, есть потребность получить просто запись ФУНКЦИЙ выходных переменных
В тупую отдал весь массив как таблицу Квартусу. Паразит аж в Циклоне требует 3600 лутов

Но бред же smile.gif Все функции классно уложились в 16V8, почему же такая дикая "оптимизация" в Квартусе?
Попробовал сделать "усовершенствования" - описал руками по таблице некоторые куски обобщенно - паразит уже хочет меньше - 2900 лутов.

Что можно включить у Квартуса (или что можно другое поюзать), чтобы нормально получить запись функции 12-ти переменных?

Если Вы забили таблицу с 12-ю входами, он Вам и сгенерил 2 в 12 лутов. Он даже слегка заоптимизировал smile.gif
А оптимизация как лежала на разработчике так и будет лежать. Карты Карно рулят smile.gif
ЗЫ: Я знаю что я псих smile.gif


--------------------
Заходите кому надо на мой сайт
Go to the top of the page
 
+Quote Post
toweroff
сообщение Sep 26 2008, 21:32
Сообщение #3


Гуру
******

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



Цитата(bloodden @ Sep 27 2008, 00:43) *
А оптимизация как лежала на разработчике так и будет лежать. Карты Карно рулят smile.gif
ЗЫ: Я знаю что я псих smile.gif


хмм... а оптимизация Квартуса не перекладывается с кристалла на кристалл? Для 7000 он мне тоже несусветное выражал матерно, но укладывался в 300 ячеек где-то smile.gif

а карты.. я тоже псих.. biggrin.gif

Сообщение отредактировал toweroff - Sep 26 2008, 21:34
Go to the top of the page
 
+Quote Post
bloodden
сообщение Sep 26 2008, 22:02
Сообщение #4


Бывалый
***

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



Цитата(toweroff @ Sep 27 2008, 00:32) *
хмм... а оптимизация Квартуса не перекладывается с кристалла на кристалл? Для 7000 он мне тоже несусветное выражал матерно, но укладывался в 300 ячеек где-то smile.gif

а карты.. я тоже псих.. biggrin.gif

smile.gif будем дружить больницами...
Дайте хоть квартусовский проект пощупать.


--------------------
Заходите кому надо на мой сайт
Go to the top of the page
 
+Quote Post
rv3dll(lex)
сообщение Sep 27 2008, 11:19
Сообщение #5


Полное ничтожество
*****

Группа: Banned
Сообщений: 1 991
Регистрация: 20-03-07
Из: Коломна
Пользователь №: 26 354



Цитата(bloodden @ Sep 27 2008, 02:02) *
smile.gif будем дружить больницами...
Дайте хоть квартусовский проект пощупать.


после того, как программисты увидели как оптимизируется картами карно функция они поняли почему я пиво лопаю в промышленных масштабах. Но делал это я не для того, что квартус плохо оптимизирует а по причине проблем с гонками.
Go to the top of the page
 
+Quote Post
sazh
сообщение Sep 27 2008, 11:36
Сообщение #6


Гуру
******

Группа: Свой
Сообщений: 2 435
Регистрация: 6-10-04
Из: Петербург
Пользователь №: 804



Цитата(toweroff @ Sep 27 2008, 01:32) *
хмм... а оптимизация Квартуса не перекладывается с кристалла на кристалл? Для 7000 он мне тоже несусветное выражал матерно, но укладывался в 300 ячеек где-то smile.gif

а карты.. я тоже псих.. biggrin.gif


Показали бы проект. По идее синтезатор должен все оптимизировать.
Go to the top of the page
 
+Quote Post
toweroff
сообщение Sep 27 2008, 12:39
Сообщение #7


Гуру
******

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



Вот AHDL. Особо не заморачивался smile.gif
Прикрепленные файлы
Прикрепленный файл  12to4.rar ( 6.55 килобайт ) Кол-во скачиваний: 32
 
Go to the top of the page
 
+Quote Post
sazh
сообщение Sep 27 2008, 13:58
Сообщение #8


Гуру
******

Группа: Свой
Сообщений: 2 435
Регистрация: 6-10-04
Из: Петербург
Пользователь №: 804



Цитата(toweroff @ Sep 27 2008, 16:39) *
Вот AHDL. Особо не заморачивался smile.gif


Заметно. Такое нет смысла анализировать. Вы используете таблицу без какой либо приоритетности.
Обычно такого размера таблицу кладут в ПЗУ
Если на выход ее регистр пристроить, должно лечь на мегафункцию ROM. Что вполне естественно.
На верилоге это case укладывается.
И в AHDL предпочтительнее было бы использовать CASE. Ибо появляется понятие может быть приоритетности, понятие по умолчанию, что существенно минимизирует и ресурсы и время компиляции.
Да и в зависимости от объема перебора синтезатор сам принимает решение об использовании ресурсов (задействовать память или нет)
Go to the top of the page
 
+Quote Post
toweroff
сообщение Sep 27 2008, 14:05
Сообщение #9


Гуру
******

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



Ухх... Накопал Minilog, подрихтовал таблицу немного (минилог хочет не более 2000 термов) - и вуаля, все функции есть и даже очень касивые smile.gif

короче квартус идет на юг лесом smile.gif



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



спасибо. Попробую копнуть в сторону приоритетности, есть там некоторые закономерности
Go to the top of the page
 
+Quote Post
Шурила
сообщение Sep 27 2008, 17:50
Сообщение #10


Частый гость
**

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



Цитата(toweroff @ Sep 27 2008, 17:05) *
...короче квартус идет на юг лесом smile.gif

Ради интереса запустил у себя
Прикрепленное изображение


Прикрепленное изображение


Вот такие результаты - странно 07.gif
P.S. В 3000 - 20 ног, это он еще JTAG приплюсовал
Go to the top of the page
 
+Quote Post
vetal
сообщение Sep 27 2008, 18:15
Сообщение #11


Гуру
******

Группа: Модераторы
Сообщений: 2 095
Регистрация: 27-08-04
Из: Россия, СПб
Пользователь №: 553



Цитата
Вот такие результаты - странно 07.gif

Так и должно быть. Ничего странного нет.
Go to the top of the page
 
+Quote Post
toweroff
сообщение Sep 27 2008, 19:22
Сообщение #12


Гуру
******

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



Цитата(vetal @ Sep 27 2008, 22:15) *
Так и должно быть. Ничего странного нет.


если несложно, поясните, пожалуйста 05.gif
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 17th August 2025 - 20:08
Рейтинг@Mail.ru


Страница сгенерированна за 0.01479 секунд с 7
ELECTRONIX ©2004-2016