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

Сохранение и защита удачной разводки топологии в ChipPlaner

Предлагаю обогатить НоуХау по стратегии развития проектов.  В палитру инструментов входят механизмы Logic Lock Regions  и  Design Partitions.  Есть возможность локализовать индивидуально в ручном режиме все свои модули, используя карту клоковых доменов (есть сомнения, что советчик этой карты верен). Считается, что чем раньше разделить составляющие, тем легче будет развитие.

image.thumb.png.dbcd0d02aabae116bca3882bddeed178.png

Post-Fit и STRICT Reservation дает эффект "прибивания гвоздями"  конкретной зоны.

...Но периодически неожиданно проявляются разрушения поведения казалось бы отработанных частей дизайна.

Что тут надо держать в голове дополнительно, чтобы уйти всех этих досадных сценариев?

Спасибо всем корифеям, высказавшим свои дорогие 5 КОПЕЕК! 

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


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

Если проект большой и размещение очень плотное, увы, партишины сильно времянку просаживают. Их Timing Advisor даже советует избавиться от партишенов. 

Я юзаю LogicLock, ручное назначение клоков по регионам, ручное размещение всех fifo, а так же ручное размещение каких то ключевых значимых регистров. Тогда от компиляции к компиляции результат стабильный получается.

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

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


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

23 hours ago, new123 said:

Если проект большой и размещение очень плотное, увы, партишины сильно времянку просаживают. Их Timing Advisor даже советует избавиться от партишенов. 

Я юзаю LogicLock, ручное назначение клоков по регионам, ручное размещение всех fifo, а так же ручное размещение каких то ключевых значимых регистров. Тогда от компиляции к компиляции результат стабильный получается.

Спасибо за совет! 

Я когда-то начинал на WEBEDITION, где всего этого не было вообще. Обратил внимание, что каждая новая сборка после незначительной смены кода размещало на чипе совершенно по-иному составляющие дизайна. И порой с последствиями..

После перехода на версию ниже, но с управлением  по размещению (тогда был понятнее интерфейс). Все это безобразие закончилось и появилась некая предсказуемость. Нервы сэкономил хорошо.

Теперь как-то все изменилось и привычных опций нет. Приходится экспериментировать.  )))

...А на счет времянки я получил как раз рост быстродействия на 20МГц. Приятная неожиданность, когда занимался совсем другим...

 

Название темы не удачно.   ChipPlaner тут только как индикатор...

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


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

Сколько не баловался, ничего путного не выходило. Компенсация времени сборки, съедалась неудачной сборкой когда надо было грохать всю базу. Из всего полезного была только smart compilation, когда добавляешь signal tap probes.

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


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

4 hours ago, des00 said:

Сколько не баловался, ничего путного не выходило. Компенсация времени сборки, съедалась неудачной сборкой когда надо было грохать всю базу. Из всего полезного была только smart compilation, когда добавляешь signal tap probes.

Важная информация.  Спасибо!

Я усёк важную часть в этой кухне. 

Надо постоянно отслеживать появление новых сигналов в дизайне по завершении отладки. Следует их постоянно подтягивать в список цепей в  LogicLock.

Мне удалось это увидеть по обратной операции от ChipPlaner к Ква по Locate in Design File, когда на границе области стали собираться используемые МЯ.  Все стало на свои места когда я подтянул по ADD новые цепи (Members).

Ну когда уже неразбериха,- тупо сносишь ВСЕ цепи и по новой собираешь по общей технологии (длительная операция, когда надо открыть ВСЕ цепи нужной части)...

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


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

5 hours ago, des00 said:

когда надо было грохать всю базу

у меня кстати это по умолчанию. Я всегда грохаю перед компиляцией. Иначе у него что то там тяжело очень получается

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


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

Приветствую!

 

Обе эти технологии  что Logic Lock (LL) что Design Partitions (DP) имея в основе общее решение - ограничение зоны размещение и роутинга элементов на кристалле, в тоже время служат разным целям.
Logic lock лишь гарантирует размещение блоков дизайна в определенных местах, что упрощает (в теории :yes3:) FIT.  Но что и куда фиксировать надо понимать разработчику и часто это сильно итерационный процесс. И к тому же обязательно учитывать физ. особенности целевой FPGA. С одной стороны фиксация может давать выигрыш по времени FIT  за счет ограничения  числа вариантов размещения элементов, с другой неудачная фиксация сильно усложнят и удлиняет сам FIT.

  

Design Partitions служит  немного другому, в первую очередь для  возможности пере-использовании результатов FIT отдельных блоков в одном или разных дизайнах. И опять же, что бы эта "серебряная пуля" работала "волк" дизайна должен быть действительно монстром.  :yes3:  То есть сам дизайн  должен быть подготовлен для использования с DP . Должен быть разбит на функциональные блоки, желательно компактные, слабо связанные между собой, имеющие  регистровую  развязку на входах и выходах. В таком случае использования DP может существенно выиграть время но опять же не даром, а за счет % использования кристалла. Ну и при сборка с использованием DP тоже может быть не простой процесс. Особенно если не возможно весь дизайн распихать по DP  и часть логики остается в "свободном полете".  В таком случае можно собирать дизайн  итеративно по отдельным или (группам) DP фиксируя удачные или пере-разводя неудачные с ошибками времянки. Для дизайнов монстров это  действительно существенно экономит время.

 

Внизу пример такой сборки Stratix V. Без разбития на DP собиралось за 9-15 часов и то - чаще не собиралось :cray:.  С DP гарантированную сборку делало за ~3 часа.
Алгоритм сборки примерно таков - сначала DP собирались и фиксировались по отдельности начиная от периферии. Потом делался анализ ошибок времянки связей между DP и те в которых были ошибки по новой пере разводились совместно.

 

Удачи! Rob.

       

pb.jpg

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


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

4 hours ago, RobFPGA said:

...Внизу пример такой сборки Stratix V. Без разбития на DP собиралось за 9-15 часов и то - чаще не собиралось :cray:.  С DP гарантированную сборку делало за ~3 часа.

Спасибо! Ценная информация!

DP по любому необходим, поскольку там секрет блокировки зон LL.  Без него как-то стрёмно  пускать отработанный дизайн на пересмотр...

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


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

On 11/30/2021 at 5:12 PM, new123 said:

Если проект большой и размещение очень плотное...

Возможность теперь делать LLR сложной формы( не только прямоугольной) говорит о том, что к этому стоит относится внимательно. 

Согласен, что при напряженном (>80%) дизайне есть соблазн все отпустить на свободное плаванье без всей этой кухни.

Хорошо двигать зоны, когда есть где?  А если нет (миграция дизайна в чип ниже по рангу), то придется тратить время на эти пазлы.

Не знаю, как там с прототипированием новых чипов, но там этот вопрос должен быть актуальным, чтобы заранее отработать размещение составляющих...

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


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

3 minutes ago, Мур said:

Согласен, что при напряженном (>80%) дизайне есть соблазн все отпустить на свободное плаванье без всей этой кухни.

Как раз чем плотнее и напряженнее дизайн, тем больше профита можно получить от LL и DP технологий. Именно за счет повторяемости результатов при сборке. 

 

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


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

17 minutes ago, RobFPGA said:

Как раз чем плотнее и напряженнее дизайн, тем больше профита можно получить от LL и DP технологий. Именно за счет повторяемости результатов при сборке. 

Я того же мнения!   Соблазн  этот от лукавого...

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


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

3 hours ago, Мур said:

Согласен, что при напряженном (>80%) дизайне есть соблазн все отпустить на свободное плаванье без всей этой кухни.

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

 

3 hours ago, Мур said:

Хорошо двигать зоны, когда есть где?  А если нет

вот у меня плотность вокруг трансиверов, наверное как у Rob'а. Двигать сложно. Приходится вникать в процесс полностью. Пилить уже созданные модули на несколько, если надо. Грамотно пилить на LL и шахматить их внутри плотности, смотря за процессом, как это переваривает квартус. Потом так проект устаканивается и начинает стабильно компилить. Ну на крайняк если только какие пути руками перепроложить. 

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

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


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

On 12/1/2021 at 12:03 PM, RobFPGA said:

Внизу пример такой сборки Stratix V.

Если не секрет, на какой частоте работает самая большая DP (т.е., основной функционал) ? И какой Speed Grade у Stratix V ?

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


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

34 minutes ago, new123 said:

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

В свое время, нужно мне было забить артикс 200ку (кто знает, он внутри устроен как буква Н) на 98% по логике, 100% дсп и 50% памяти, на частотах 100/200МГц. Сколько не крутил эти регионы, ничего не помогало. Результат был от немогу развести, до задержек раза в 3-4 больше чем сборка в лоб)

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


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

1 minute ago, blackfin said:

Если не секрет, на какой частоте работает самая большая DP (т.е., основной функционал) ? И какой Speed Grade у Stratix V ?

В этом проекте основные частоты 322 и 250 MHz,  Speed Grade 2 

2 minutes ago, des00 said:

В свое время, нужно мне было забить артикс 200ку (кто знает, он внутри устроен как буква Н) на 98% по логике, 100% дсп и 50% памяти, на частотах 100/200МГц. Сколько не крутил эти регионы, ничего не помогало.

У меня тоже не сразу получатся стало. Тут важно  прочувствовать что и как надо делать, но в любом случае, нужно несколько итераций DP или AREA_GROUP пока не получится удачная конфигурация. Увы тут нет четких правил которые гарантируют 100% результат. 

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


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

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

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

Гость
К сожалению, ваш контент содержит запрещённые слова. Пожалуйста, отредактируйте контент, чтобы удалить выделенные ниже слова.
Ответить в этой теме...

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

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

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

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

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

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