Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Incremental compilation
Форум разработчиков электроники ELECTRONIX.ru > Программируемая логика ПЛИС (FPGA,CPLD, PLD) > Работаем с ПЛИС, области применения, выбор
nmurzin
Здравствуйте.

У меня в проекте есть мегафункция альтеры HPC2
и кучка моих собственных компонентов.
HPC2 компилируется довольно долгое время и не всегда удачно.

Мне нужно откомпилировать HPC2 один раз и заморозить результаты компиляции.

В проекте по умолчанию всегда существует один partition верхнего уровня(TOPLevel).
Я назначил для HPC2 отдельный partition и создал для него LogicLock region.
Я в курсе что в настройках партиции есть указания об использовании результатов прошлой компиляции.

Как мне теперь объяснить квартусу чтобы он разводил только HPC2 ?
Т.е. как исключить из разводки остальные компоненты ?
Нужно ли и можно ли создать LogicLock region для TOPLevel partition ?
Или нужно создать еще один третий partition в который перетащить из TOPLevel оставшиеся компоненты ?
bogaev_roman
А что Вам мешает создать отдельный проект под HPC2 и его полностью развести, и после того как разводка полностью удовлетворит требованиям закрепить его в виде нетлиста со всей разводкой. Затем просто его импортировать в топовый модуль?
Цитата
Т.е. как исключить из разводки остальные компоненты ?

Закрепить их отдельно в partition и импортировать в топовый файл.
PS/ имхо подход у Вас не совсем правильный. Проще взять именно проблемную часть и ее полностью развести и закрепить, а затем импортировать, нежели импортировать простые куски и разводить топовый проект с проблемной частью.
nmurzin
Никогда не приходилось импортировать в проект Net листы.

Подскажите пожалуйста в каких файлах содержатся
пост-синтезес и пост-фитинг Net листы ?

Как они импортируются в проект, путем тупого перетаскивания из папки в папку
или еще как ?
bogaev_roman
Цитата(nmurzin @ Mar 29 2011, 21:02) *
Как они импортируются в проект, путем тупого перетаскивания из папки в папку
или еще как ?

Создаете отдельный проект скажем под HPC2, для него все входные/выходные сигналы, связанные с общим проектом делаете как виртуальные пины. Далее выставляете как для обычного проекта все временные ограничения и определяете область расположения. Делаете partition этого проекта и в его свойствах выставляете для genera Post-Fit, а в advanced Placement and Routing. Далее его полностью компилируете и после этого partition export. Получаете файл с расширением .qxp, в котором содержатся все сведения. Затем собираете новый проект и в топовый модуль подключаете вместо скажем верилоговского файла HPC2 и всех его подмодулей созданный файл .qxp. Синтезируете и импортируете еще раз в него созданный ранее .qxp, выбираете свойства для HPC2 partition именно как Post Fit (.qxp по умолчанию подключается как Post Synthesys). Вроде все. В настройках проверяйте чтоб была выбрана инкрементальныя компиляция. Ну и соответсвенно при компиляции топового модуля HPC2 не будет синтезироваться и разводится и его временные характеристики сохранятся (с определенной точностью, ибо в небольших пределах могут меняться Clock Skew).
nmurzin
Когда я выбираю NetList Type то чем отличается Post-Fit от Post-Fit(Strict) ?

На сколько я вижу, при перекомпиляции Time Quest все равно анализирует партиции
даже если для них выбрано Post-Fit(Strict) + Placement and Routing.
Как ему сказать что не надо там ни чего анализировать, выкинуть из проекта sdc файл ?
bogaev_roman
Цитата(nmurzin @ Mar 30 2011, 12:30) *
Когда я выбираю NetList Type то чем отличается Post-Fit от Post-Fit(Strict) ?

Netlist - самый низкий уровень представления Post-Fit. Чем конкретно отличаются сказать не могу я всегда наивысший выбираю. Кстати Post-Fit(Strict) в 10 версии уже нет - там просто Post-Fit.
Цитата
На сколько я вижу, при перекомпиляции Time Quest все равно анализирует партиции
даже если для них выбрано Post-Fit(Strict) + Placement and Routing.
Как ему сказать что не надо там ни чего анализировать, выкинуть из проекта sdc файл ?

Time Quest и должен анализировать все, он же после fitter запускается. Суть в том, что при компиляции вставленная партиция подпихивает разведенную логику. В любом случае, если Вы запускаете Time Quest для проекта партиции или топового проекта, времянки не должны особо отличаться. Если различия существенны, то Вы что-то не так делаете. Наиболее вероятны две причины:
1) Подключенная partition вставляется не как Post-Fit и компилятор заново ее синтезирует, либо разводит.
2) Временные ошибки для общих сигналов - скажем какой-то сигнал тянется из подмодуля в закрепленный модуль и при этом на входе закрепленного модуля отсутствует регистр.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.