Перейти к содержанию
    

Частичная компиляция проекта в ISE 14.6

Всем здрасте.

Есть довольно большой проект, который довольно долго компилируется (примерно час). Знаю что многие скажут будто час это очень немного, но я не об этом. Так вот. Проект состоит из блок А, В, С и т.д. Предположим я вношу изменения в блок B. Можно ли както заставить ISE при компиляции проекта это учитывать? И следовательно сократить время компиляции? Ведь мне не нужно переделывать остальные блоки. Слых что ISE что-то подобное позволяет, но как я так и не понял. Всем заранее спаксибо за ответы.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Самый простой и быстрый способ - это сформировать файлы A.ngc, B.ngc и C.ngc. И потом, если есть было изменение просто компилировать один из блоков отдельно и дообавлять в проект. Но это сократит только время синтеза проекта. Над сокращением времени разводки и т.д. нужно ковырятся дольше: расположить явно проект в pBlock на кристалле и зафиксировать их. Какое-то время назад я пытался таким заниматься, но долго проковырявшись плюнул на эту затею. Дополнительно могу посоветовать - почитать доку на PlanAhead: там всё детально описано и рассказанно по данному вопросу. Ну и соответственно для компиляции юзать его... Хотя вопрос в мощности компа и версии IDE.

Изменено пользователем Kolya

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Самый простой и быстрый способ - это сформировать файлы A.ngc, B.ngc и C.ngc. И потом, если есть было изменение просто компилировать один из блоков отдельно и дообавлять в проект. Но это сократит только время синтеза проекта. Над сокращением времени разводки и т.д. нужно ковырятся дольше: расположить явно проект в pBlock на кристалле и зафиксировать их. Какое-то время назад я пытался таким заниматься, но долго проковырявшись плюнул на эту затею. Дополнительно могу посоветовать - почитать доку на PlanAhead: там всё детально описано и рассказанно по данному вопросу. Ну и соответственно для компиляции юзать его... Хотя вопрос в мощности компа и версии IDE.

Синтез как раз проходит достаточно быстро.

Ну а про остальное видимо не стоит заморачиваться. Спасибо.

 

Vivado+Hierarchical Design

Virtex 6 не поддерживается в виваде. Да и вивады нет. Так ипроект уже сделан в ISE в схеме+vhdl не переделывать же его полностью в vhdl.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Virtex 6 не поддерживается в виваде. Да и вивады нет. Так ипроект уже сделан в ISE в схеме+vhdl не переделывать же его полностью в vhdl.

Тогда Partial Reconfiguration.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А поподробней что за зверь? как пользоваться?

Ну вот сейчас я быстренько инструкцию налабаю, а лучше сам весь проект сделаю. Гугла нет?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Ну вот сейчас я быстренько инструкцию налабаю, а лучше сам весь проект сделаю. Гугла нет?

Инструкцию не нужно. Проект тем более. А вот идею неплохо бы. Дело в том что я подобное видел но как пользоваться этим не понял. и гугл не помог.

 

Ну вот сейчас я быстренько инструкцию налабаю, а лучше сам весь проект сделаю. Гугла нет?

Так стоп. То о чем вы говорите это частичная загрузка кристалл во время его функционирования. И к ускорению компиляции проекта это не имеет отношения. Разве не так?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Инструкцию не нужно. Проект тем более. А вот идею неплохо бы. Дело в том что я подобное видел но как пользоваться этим не понял. и гугл не помог.

 

 

Так стоп. То о чем вы говорите это частичная загрузка кристалл во время его функционирования. И к ускорению компиляции проекта это не имеет отношения. Разве не так?

Так и не так. Что мешает разводить один модуль и грузить его в готовую прошивку? Все остальное при этом не меняется и не переразводится.

Для тех, кто не умеет пользоваться поиском: pr

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А ничего, что синтезатор просит очень хотрые лицензии на Партиал Реконфигурейшн. И опять же нужно каждый раз перекомпиливать проект, а не менять модульки разные. Данное свойство не подойдёт на сколько я понимаю задачу. Кстати для Partial Reconfiguration нужно ВСЕ заменяемые куски хранить в файле прошивки - не лучший вариант использования постоянной памяти.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А ничего, что синтезатор просит очень хотрые лицензии на Партиал Реконфигурейшн.

Ничего. Во-первых, они совсем не хитрые, а обычные, а во-вторых, так ведь и ISE требует лицензию. Если есть деньги :biggrin: на ISE, то и на PR можно найти, ну или...

 

И опять же нужно каждый раз перекомпиливать проект, а не менять модульки разные.

Не нужно все перекомпилировать. Нужно перекомпилировать только то, что в партишене

 

Кстати для Partial Reconfiguration нужно ВСЕ заменяемые куски хранить в файле прошивки - не лучший вариант использования постоянной памяти.

Опять неправда. Я, допустим, делал прошивку для теста этого режима, которая моргала светодиодиками на отладочной плате. Так вот в прошивке было два разных алгоритма моргания. Алгоритмы были в виде партишенов (просто два разных фрагмента ПЛИС). И эти партишены хранились в DPRAM самой ПЛИС. Эти DPRAM были сгенерированы в виде ROM и в них были загружены bit-файлы этих партишенов, которые были разведены ранее. И можно было по нажатию кнопки выбрать первый или второй алгоритм (по нажатию кнопки из ROM-ов грузились фрагменты ПЛИС). Получалось, что ПЛИС хранила прошивку самой себя.

Но можно было эти куски грузить по любому интерфейсу из вне (у меня просто не было этого интерфейса).

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Вам правильно подсказали - делайте независимый синтез каждого узла и создавайте отдельно *.ngc блоки. А на верхнем уровне их подцепляйте как black-box.

Тогда перекомпилировать придется только конкретный узел.

 

Для Implementation в PlanAhead есть удобная штука: "Promote Partitions". Суть такая:

1) закрепляем в виде p-blocks нужные узлы, которые не будут изменяться.

2) разводим проект N раз и выбираем удовлетворяющую вас разводку.

3) разводку неизменных p-block оставляем с помощью "promote".

4) делаем сколько угодно другие изменения и разводим проект заново, с учетом уже разведенных блоков.

5) ...

6) PROFIT!!!

 

Ну и как уже верно заметили - читать нужно Hier. design rules. Что-то типа такого: первый попавшийся юзергайд.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Кстати пробовал через Promote Partitions но у меня как-то коряво получилось. Хотя конечно до конца доковырять данную возможность не получилось)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Всем здрасте.

Есть довольно большой проект, который довольно долго компилируется (примерно час).

Помимо того, что советовали выше. Сколько в процентах занимает проект, сколько тактовых частот используется, выполняются ли временные ограничения и каковы настройки - не выкручивали ли Вы их на максимум? Может оказаться, что какой-то узел плохо разводится и P&R его пытается по времянке вытащить, но не может в конечном счете или в проекте у Вас с десяток частот, а реально можно обойтись меньшим количеством.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...