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

 
 
> Altera. Работа с LogicLock в Quartus 7.2
Ethereal
сообщение Jul 2 2009, 13:34
Сообщение #1


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

Группа: Свой
Сообщений: 114
Регистрация: 7-05-08
Из: РФ, Москва
Пользователь №: 37 354



Добрый день.
Подскажите такую вещь, пожалуйста.
Столкнулся с тем, что пересборка проекта занимает существенное время, что не есть хорошо, потому что малейшее изменение в проекте приводит к необходимости полной переработки. Поэтому я решил использовать в проекте залоченную логику, чтобы использовать полный инкремент при компиляции.
Каждому модулю в верхнем уровне назначил регион с авто-настройками. Откомпилировал. В итоге скорость упала в два раза. Соответственно пропал смысл делать бэк-аннотейт, потому что требования к проекту не выполняются.

Что я делаю не так?


--------------------
SystemVerilog - язык, заточенный Альтерой под свои кристаллы теми же приемами использования примитивов, что и AHDL. ©
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов (1 - 9)
DmitryR
сообщение Jul 2 2009, 14:05
Сообщение #2


Профессионал
*****

Группа: Свой
Сообщений: 1 535
Регистрация: 20-02-05
Из: Siegen
Пользователь №: 2 770



Во-первых, вы используете довольно старый Квартус. Во-вторых раз уж решили делать LogicLock - делайте вручную, так как вы хорошо знаете, как взаимно оптимально расположить блоки проекта, а у фиттера это получается плохо (собственно, если бы у него хорошо получалось, то LogicLock не был бы особенно нужен).
Go to the top of the page
 
+Quote Post
Ethereal
сообщение Jul 2 2009, 14:17
Сообщение #3


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

Группа: Свой
Сообщений: 114
Регистрация: 7-05-08
Из: РФ, Москва
Пользователь №: 37 354



Спасибо.

Цитата
раз уж решили делать LogicLock

А есть альтернативная техника?

P.S. Если бы я хорошо мог разместить это руками, то мне не нужен был бы фиттер smile.gif


--------------------
SystemVerilog - язык, заточенный Альтерой под свои кристаллы теми же приемами использования примитивов, что и AHDL. ©
Go to the top of the page
 
+Quote Post
vadimuzzz
сообщение Jul 2 2009, 15:07
Сообщение #4


Гуру
******

Группа: Свой
Сообщений: 2 291
Регистрация: 21-07-05
Пользователь №: 6 988



Цитата(Ethereal @ Jul 2 2009, 20:34) *
Каждому модулю в верхнем уровне назначил регион с авто-настройками. Откомпилировал. В итоге скорость упала в два раза. Соответственно пропал смысл делать бэк-аннотейт, потому что требования к проекту не выполняются.

Что я делаю не так?

разбивать на партиции надо так, чтобы минимизировать кол-во связей между разными партициями (фиттер оптимизирует только в рамках одного региона). с количеством партиций злоупотреблять тоже не стоит. собственно в хендбуке процесс по шагам расписан.
Go to the top of the page
 
+Quote Post
Sefo
сообщение Jul 2 2009, 20:25
Сообщение #5


Местный
***

Группа: Свой
Сообщений: 429
Регистрация: 11-08-05
Из: Санкт-Петербург
Пользователь №: 7 537



Цитата(Ethereal @ Jul 2 2009, 17:34) *
Добрый день.
Подскажите такую вещь, пожалуйста.
Столкнулся с тем, что пересборка проекта занимает существенное время, что не есть хорошо, потому что малейшее изменение в проекте приводит к необходимости полной переработки. Поэтому я решил использовать в проекте залоченную логику, чтобы использовать полный инкремент при компиляции.
Каждому модулю в верхнем уровне назначил регион с авто-настройками. Откомпилировал. В итоге скорость упала в два раза. Соответственно пропал смысл делать бэк-аннотейт, потому что требования к проекту не выполняются.

Что я делаю не так?


LogicLock, все же, не для этих целей. Вместо LogicLock попробуйте Partition. Если без LogicLock Вас устраивает разводка, то с помощью Partition Вы сможете ее зафиксировать для тех модулей, которые Вы не меняете. Причем Partition не будет, как LogicLock, пытаться сгруппировать все логические ячейки блока в одной небольшой области ПЛИС выделенной специально для этого блока. Так что разводка не сильно будет отличаться от режима с отключенной инкрементальной компиляцией и, скорее всего, вы получите и хорошее время компиляции и неплохую разводку.
Go to the top of the page
 
+Quote Post
des00
сообщение Jul 3 2009, 03:02
Сообщение #6


Вечный ламер
******

Группа: Модераторы
Сообщений: 7 248
Регистрация: 18-03-05
Из: Томск
Пользователь №: 3 453



Цитата(Ethereal @ Jul 2 2009, 07:34) *
Добрый день.
Подскажите такую вещь, пожалуйста.
Столкнулся с тем, что пересборка проекта занимает существенное время, что не есть хорошо, потому что малейшее изменение в проекте приводит к необходимости полной переработки. Поэтому я решил использовать в проекте залоченную логику, чтобы использовать полный инкремент при компиляции.
Каждому модулю в верхнем уровне назначил регион с авто-настройками. Откомпилировал. В итоге скорость упала в два раза. Соответственно пропал смысл делать бэк-аннотейт, потому что требования к проекту не выполняются.


Использовал инкрементальную компиляцию с назначением партиций на 50% дизайна в режиме Post Fit, скорость сборки возрастала где то в 2-2.5 раза, на ква 8.0


--------------------
Go to the top of the page
 
+Quote Post
DmitryR
сообщение Jul 3 2009, 06:07
Сообщение #7


Профессионал
*****

Группа: Свой
Сообщений: 1 535
Регистрация: 20-02-05
Из: Siegen
Пользователь №: 2 770



Цитата(Sefo @ Jul 3 2009, 00:25) *
Причем Partition не будет, как LogicLock, пытаться сгруппировать все логические ячейки блока в одной небольшой области ПЛИС выделенной специально для этого блока.

На практике Partition без LogicLock большого эффекта может не дать, так как если блоки сильно пересекаются то переразводка одного приведет к частичной переразводке другого.
Go to the top of the page
 
+Quote Post
Sefo
сообщение Jul 6 2009, 19:48
Сообщение #8


Местный
***

Группа: Свой
Сообщений: 429
Регистрация: 11-08-05
Из: Санкт-Петербург
Пользователь №: 7 537



Цитата(DmitryR @ Jul 3 2009, 10:07) *
На практике Partition без LogicLock большого эффекта может не дать, так как если блоки сильно пересекаются то переразводка одного приведет к частичной переразводке другого.


Пересекающиеся блоки на разные Partition не назначить - пересекающимися могут быть только LogicLock Regions. Partition это минимум один полный модуль модуль.
Go to the top of the page
 
+Quote Post
Ethereal
сообщение Jul 7 2009, 07:17
Сообщение #9


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

Группа: Свой
Сообщений: 114
Регистрация: 7-05-08
Из: РФ, Москва
Пользователь №: 37 354



Спасибо, буду пробовать. Хотя минимизация блоков и связей между ними в этом случае - та еще задача.


--------------------
SystemVerilog - язык, заточенный Альтерой под свои кристаллы теми же приемами использования примитивов, что и AHDL. ©
Go to the top of the page
 
+Quote Post
Sefo
сообщение Jul 7 2009, 08:51
Сообщение #10


Местный
***

Группа: Свой
Сообщений: 429
Регистрация: 11-08-05
Из: Санкт-Петербург
Пользователь №: 7 537



Цитата(Ethereal @ Jul 7 2009, 11:17) *
Хотя минимизация блоков и связей между ними в этом случае - та еще задача.


А вот этим заниматься не рекомендую! Partition нижнего уровня может быть вложена (полностью) в Partition верхнего - т.е. разбиение на Partition может отражать иерархическую структуру проекта - Вам надо только решить до какого уровня иерархии спуститься - т.е. насколько "мелкие" блоки вы будете выделять как отдельный Partition. Но переделывать структуру проекта под Partition не стоит, да и непонятно мне как Вы это себе представляете?
Go to the top of the page
 
+Quote Post

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

 


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


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