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

 
 
 
Reply to this topicStart new topic
> Помогите ускорить создание проекта, Поджимают сроки создания
Kolya
сообщение Mar 24 2011, 09:35
Сообщение #1


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

Группа: Свой
Сообщений: 85
Регистрация: 21-03-11
Из: Киев
Пользователь №: 63 755



Доброго времени суток всем!

Я новичок в программировании на ПЛИСах и поэтому есть вопрос: Как при создании проекта можно ускорить процесс компиляции?
Создаваемый проект ещё достаточно сырой и часто требует дополнений всяких и правок (проект создан с 0). И вот при каждой правке приходится долго ждать пока пройдет компиляция проекта, иногда приходится в PlanAhead'е корректировать структуру. Да и время сдачи проекта поджимает - не критично, но на перекомпиляциях сожрётся всё что есть sm.gif

Весь проект занимает около 15% кристалла, но проблема вылезает во временных задержках т.к. необходимая частота работы 100MHz (все советуемые параметры оптимизации по скорости включены). И как следствие часто приходиться подбирать стратегии разводки на кристалле, что занимает очень много времени, при небольших изменениях.

Слышал что в ISE есть возможность отключить перекомпиляцию неизменённых элементов, но найти никак не могу. Может что-то посоветуете?

Сообщение отредактировал Kolya - Mar 24 2011, 09:36
Go to the top of the page
 
+Quote Post
Methane
сообщение Mar 24 2011, 09:47
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 3 615
Регистрация: 12-01-09
Из: США, Главное разведовательное управление
Пользователь №: 43 230



Цитата(Kolya @ Mar 24 2011, 11:35) *
Слышал что в ISE есть возможность отключить перекомпиляцию неизменённых элементов, но найти никак не могу. Может что-то посоветуете?

В квартусе есть Logic Lock region.
Go to the top of the page
 
+Quote Post
andrew_b
сообщение Mar 24 2011, 09:53
Сообщение #3


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

Группа: Свой
Сообщений: 1 975
Регистрация: 30-12-04
Из: Воронеж
Пользователь №: 1 757



Цитата(Methane @ Mar 24 2011, 12:47) *
В квартусе есть Logic Lock region.
И причём тут Квартус?
Go to the top of the page
 
+Quote Post
Kolya
сообщение Mar 24 2011, 10:00
Сообщение #4


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

Группа: Свой
Сообщений: 85
Регистрация: 21-03-11
Из: Киев
Пользователь №: 63 755



Цитата(andrew_b @ Mar 24 2011, 12:53) *
И причём тут Квартус?


Действительно. Просто используется один компилятор от ISE на всём предприятии и переходить на что-то другое в рамках глобального проекта как-то непрофессионально получится.
Go to the top of the page
 
+Quote Post
Victor®
сообщение Mar 24 2011, 10:13
Сообщение #5


Lazy
******

Группа: Свой
Сообщений: 2 070
Регистрация: 21-06-04
Из: Ukraine
Пользователь №: 76



Цитата(Kolya @ Mar 24 2011, 13:35) *
Слышал что в ISE есть возможность отключить перекомпиляцию неизменённых элементов, но найти никак не могу. Может что-то посоветуете?


Неизвестно, что за проект и реально ли Вам нужен PlanAhead...
Можно включить SmartGuide в ISE.
ПКМ на топовом модуле -> SmartGuide...

P.S.
Констрейнты, надеюсь, используете?


--------------------
"Everything should be made as simple as possible, but not simpler." - Albert Einstein
Go to the top of the page
 
+Quote Post
bogaev_roman
сообщение Mar 24 2011, 10:19
Сообщение #6


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

Группа: Свой
Сообщений: 1 088
Регистрация: 20-10-09
Из: Химки
Пользователь №: 53 082



А что за кристалл? Какого рода проект? Это я к тому, что возможно проще упростить как-то логику, не прибегая к различного рода ограничениям. Ну скажем упростить проект, может описание написано криво, может что-то распарралелить, где-то продублировать логику, где-то заменить счетчики сдиговыми регистрами или использовать банки вместо регистров ну и т.д.
Цитата
В квартусе есть Logic Lock region.
В ISE для этих целей можно использовать planahead

Сообщение отредактировал bogaev_roman - Mar 24 2011, 10:25
Go to the top of the page
 
+Quote Post
Kolya
сообщение Mar 24 2011, 13:15
Сообщение #7


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

Группа: Свой
Сообщений: 85
Регистрация: 21-03-11
Из: Киев
Пользователь №: 63 755



2 Victor®:
Через PlanAhead провести надо, т.к. проект достаточно сложный с логической обработкой и передачей бытовых посылок между модулями (входами-выходами), поэтому автоматическое распределение на кристалле показало совсем плохие результаты - пришлось разводить вручную.
SmartGuide я не пользовался- буду пробовать.
А констрейнты конечно задаём)))


2 bogaev_roman:
Кристалл : Spartan 3 XC6SLX150T со 2м спидгрейдом. Скоро правда должны сделать на 3м спидгрейде, но пока приходиться ужиматься на этом.
Проект, как я указал выше, для съёма данных, их обработке логической и выдачи. Логику упростить никак не получится - уже и так всё урезанное используем, так как на полный проект не хватало оперативной памяти ПК для компиляции biggrin.gif .

Сообщение отредактировал Kolya - Mar 24 2011, 13:16
Go to the top of the page
 
+Quote Post
bogaev_roman
сообщение Mar 24 2011, 14:00
Сообщение #8


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

Группа: Свой
Сообщений: 1 088
Регистрация: 20-10-09
Из: Химки
Пользователь №: 53 082



Цитата(Kolya @ Mar 24 2011, 16:15) *
Кристалл : Spartan 3 XC6SLX150T со 2м спидгрейдом. Скоро правда должны сделать на 3м спидгрейде, но пока приходиться ужиматься на этом.

Ам.. спартан 3, а не спартан 6? Если 6 при заполненности кристалла всего в 15% 100МГц это как бы маловато будет, я конечно не знаю всех тонкостей Вашего проекта, но мне кажется, что очень много комбинаторики накручено. Если считаете, что упрощать нечего - Ваше дело.
По существу. Смотрите в сторону создания partition. С ISE давно не работал, но точно помню, что можно развести кусок проекта и при дальнейшем компилировании, синтезе и разводке именно этот кусок будет вставляться просто в виде нетлиста с сохраняемыми временными характеристиками. Если весь проект разбить на несколько таких кусков, а менять только один из них, то время действительно можно существенно сэкономить.
Go to the top of the page
 
+Quote Post
Kolya
сообщение Mar 24 2011, 14:50
Сообщение #9


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

Группа: Свой
Сообщений: 85
Регистрация: 21-03-11
Из: Киев
Пользователь №: 63 755



Цитата(bogaev_roman @ Mar 24 2011, 17:00) *
Ам.. спартан 3, а не спартан 6? Если 6 при заполненности кристалла всего в 15% 100МГц это как бы маловато будет, я конечно не знаю всех тонкостей Вашего проекта, но мне кажется, что очень много комбинаторики накручено. Если считаете, что упрощать нечего - Ваше дело.
По существу. Смотрите в сторону создания partition. С ISE давно не работал, но точно помню, что можно развести кусок проекта и при дальнейшем компилировании, синтезе и разводке именно этот кусок будет вставляться просто в виде нетлиста с сохраняемыми временными характеристиками. Если весь проект разбить на несколько таких кусков, а менять только один из них, то время действительно можно существенно сэкономить.


Пардон- действительно 6й. Просто уже столько их было что путаться начинаю)
И да, действительно комбинаторика есть, но она не может быть упрощена в связи с тонкостью алгоритма. Да и слаков там не бывает. Проблема в модуле Ethernet'а, но его не я писал и для меня это тёмный лес.
И если не сложно- можно поподробнее насчёт partition. Как создавать и где глядеть?
Go to the top of the page
 
+Quote Post
bogaev_roman
сообщение Mar 24 2011, 15:58
Сообщение #10


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

Группа: Свой
Сообщений: 1 088
Регистрация: 20-10-09
Из: Химки
Пользователь №: 53 082



Цитата(Kolya @ Mar 24 2011, 17:50) *
Проблема в модуле Ethernet'а, но его не я писал и для меня это тёмный лес.
И если не сложно- можно поподробнее насчёт partition. Как создавать и где глядеть?

Ну вот модуль изернета отдельно и пихните в partition как routing, только, по возможности, его выходные/входные сигналы к Вашей логике повесьте на регистры. На сайте xilinx воспользуйтесь поиском по документации, там много всего есть. Вот на вскидку один документ откопал, только он старый. http://www.xilinx.com/support/documentatio...tes/xapp918.pdf
Go to the top of the page
 
+Quote Post
VladimirB
сообщение Mar 24 2011, 19:00
Сообщение #11


Знающий
****

Группа: Свой
Сообщений: 614
Регистрация: 12-06-09
Из: рядом с Москвой
Пользователь №: 50 219



Цитата(bogaev_roman @ Mar 24 2011, 17:00) *
...С ISE давно не работал, но точно помню, что можно развести кусок проекта и при дальнейшем компилировании, синтезе и разводке именно этот кусок будет вставляться просто в виде нетлиста с сохраняемыми временными характеристиками. Если весь проект разбить на несколько таких кусков, а менять только один из них, то время действительно можно существенно сэкономить.


В ISE 11.x и 12.x партиции переехали в PlanAhead (ISE Projeсt Navigator их теперь нету).
В PlanAhead можно загнать часть дизайна в PBlock, развести дизайн с использованием различных настроек так чтобы он удовлетворял таймингам и залочить всю логику критичной части дизайна. Ещё можно экспортировать разводку этого PBlock'a в ввиде нетлиста NGC.

Go to the top of the page
 
+Quote Post
Kolya
сообщение Mar 25 2011, 13:59
Сообщение #12


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

Группа: Свой
Сообщений: 85
Регистрация: 21-03-11
Из: Киев
Пользователь №: 63 755



Спасибо большое за помощь. Вроде получилось собрать проект и добавить partition'ы.
Go to the top of the page
 
+Quote Post
Kolya
сообщение Mar 28 2011, 13:17
Сообщение #13


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

Группа: Свой
Сообщений: 85
Регистрация: 21-03-11
Из: Киев
Пользователь №: 63 755



Товарищи, возникла новая проблема. Действительно работает всё с partition'ми но теперь нет возможности поставить Starting Placer Cost Table на автоподбор, что легко выставлялось в SmartXplorer'е в ISE. Я уже все настройки перерыл- может что-то пропустил? Подскажите пожалуйста.
Go to the top of the page
 
+Quote Post
dmitry-tomsk
сообщение Mar 28 2011, 19:47
Сообщение #14


Знающий
****

Группа: Свой
Сообщений: 672
Регистрация: 18-02-05
Пользователь №: 2 741



Цитата(Kolya @ Mar 28 2011, 16:17) *
Товарищи, возникла новая проблема. Действительно работает всё с partition'ми но теперь нет возможности поставить Starting Placer Cost Table на автоподбор, что легко выставлялось в SmartXplorer'е в ISE. Я уже все настройки перерыл- может что-то пропустил? Подскажите пожалуйста.

попробуйте поменять в настройках place & route placer extra effort (map) и extra effort (route) на continue on impossible, трассировку и размещение Вашего езернета можно будет потом зафиксировать как partition в planahead и больше с ним не париться.
Go to the top of the page
 
+Quote Post
Kolya
сообщение Mar 29 2011, 05:19
Сообщение #15


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

Группа: Свой
Сообщений: 85
Регистрация: 21-03-11
Из: Киев
Пользователь №: 63 755



2 dmitry-tomsk:
В том то и дело что если разводка проекта прошла успешно, то в модуле Ethernet как раз и и проводятся изменения по настройкам и т.п. поэтому partition'ми я делаю всё остальное.
p.s. Включил опцию - как скомпилится поглядим.
Go to the top of the page
 
+Quote Post

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

 


RSS Текстовая версия Сейчас: 28th June 2025 - 23:40
Рейтинг@Mail.ru


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