Jump to content

    
Мур

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

Recommended Posts

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

image.thumb.png.dbcd0d02aabae116bca3882bddeed178.png

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

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

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

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

Share this post


Link to post
Share on other sites

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

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

Edited by new123

Share this post


Link to post
Share on other sites
23 hours ago, new123 said:

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

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

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

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

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

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

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

 

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

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites
4 hours ago, des00 said:

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

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

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

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

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

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

Share this post


Link to post
Share on other sites
5 hours ago, des00 said:

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

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

Share this post


Link to post
Share on other sites

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

 

Обе эти технологии  что 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

Share this post


Link to post
Share on other sites
4 hours ago, RobFPGA said:

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

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

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

Share this post


Link to post
Share on other sites
On 11/30/2021 at 5:12 PM, new123 said:

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

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

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

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

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

Share this post


Link to post
Share on other sites
3 minutes ago, Мур said:

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

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

 

Share this post


Link to post
Share on other sites
17 minutes ago, RobFPGA said:

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

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

Share this post


Link to post
Share on other sites
3 hours ago, Мур said:

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

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

 

3 hours ago, Мур said:

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

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

Edited by new123

Share this post


Link to post
Share on other sites
On 12/1/2021 at 12:03 PM, RobFPGA said:

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

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

Share this post


Link to post
Share on other sites
34 minutes ago, new123 said:

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

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

Share this post


Link to post
Share on other sites
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% результат. 

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.