CaPpuCcino 0 30 апреля, 2007 Опубликовано 30 апреля, 2007 · Жалоба данный вопрос возник после поста Gate-a в топике об ошибке в Прецижене ( http://electronix.ru/forum/index.php?showt...30183&st=15 ). запостил сначала туда - но потом перенёс из-за несоответствия сути вопроса названию темы: В версиях, начиная с 2006a1, менторовцы отлаживают новый вид продукта в добавление к rtl и physical - т.н. rtlplus, который включает в себя physically aware synthesys - см. прикрепленный док. Кроме того, добавлен инкрементный синтез и resource manager - это когда вид имплементации ресурсов (ram/rom, dsp/mul блоки и т.д.) задается не атрибутами, а в специальной панели для каждого блока раздельно. Попробуйте в 2006a2.19 дать команду рrecision_gui -alpha -physical (требует фичи рsrbeta3 в лицензионном файле) интересно, а в принципе модульный подход в проектирование системы действительно даёт улучшение времянных характеристик проекта? мне просто кажется что когда делаешь разводку/размещение раутер должен наиболее оптимальным образом разместить элементы обладая полной информацией о целом дезайне нежле чем когда размещение проводиться для каждого ядра отдельно а затам все эти размещённые ядра соединяются вместе в систему. что показывает личный опыт -- кто-нибудь пытался сравнивать результаты полного синтеза и модулярного? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Gate 0 30 апреля, 2007 Опубликовано 30 апреля, 2007 · Жалоба У меня сложилось впечатление, что модульный синтез нужен только для экономии времени - если модули отсинтезированы ранее и удовлетворяют заданным времянкам, то зачем их пересинтезировать? При"растворении" иерархии блоков результат синтеза получается лучше - меньше и быстрее, да и ретайминг через границы блоков не переступает (имхо). Например прецизион по умолчанию растворяеет маленькие блоки: ... Precision performs intelligent autodissolving of smaller blocks of hierarchy. By examining the instance count and type of logic within a hierarchical block, Precision will only flatten the hierarchy of a lower-level block if the block contain less than approximately 50 instances and there is a high likelihood that removing the hierarchy will improve the synthesis results. Насчет синплифая не помню, вроде явно в доках не описано, но фразы "dissolving block..." он при синтезе выдает. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
CaPpuCcino 0 30 апреля, 2007 Опубликовано 30 апреля, 2007 · Жалоба У меня сложилось впечатление, что модульный синтез нужен только для экономии времени - если модули отсинтезированы ранее и удовлетворяют заданным времянкам, то зачем их пересинтезировать? тоже так считал - пока не прочитал Precision Physical Synthesis User's Manual, 2006a2, Chapter 6 "Precision Physical Advanced Flows", p. 95 в частности стр. 99: Suppose that most of your design is meeting timing but one block is still producing violations. Place and route iterations take a long time, and each time through, a new timing problem shows up in working areas of your design. Step-by-Step, here is how to isolate, improve, and apply a design block. таким образом предполагается, что возможно улучшить характеристики изолированного блока и вставить его обратно Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Gate 0 3 мая, 2007 Опубликовано 3 мая, 2007 · Жалоба таким образом предполагается, что возможно улучшить характеристики изолированного блока и вставить его обратно Да, после выполнения пункта 7. Improve the macro as detailed in the Macro Improvement section, что включает в себя в том числе ручное редактирование размещения. Вряд ли автоматический физический синтез сможет улучшить отдельные блоки по-очереди, тогда можно было бы просто запретить dissolve и добиться улучшения времянок при сохранении иерархии - однако зачем-то опция flatten design существует :) Поскольку ручное редактирование размещения - дело муторное, то предполагается, что разработчик будет редактировать не весь дизайн сразу, а будет оптимизировать отдельные модули, сделав из них библиотеку для последующего использования. (все имхо) Сейчас прочитал главу о макросах - нигде специально не говорится о именно ручном размещении. Т.е. можно предположить, что при меньшем размере анализируемого дизайна синтезатор может найти более оптимальное размещении. Это вполне реально, зависит от того, как менторовцы реализовали поиск минимума и, самое главное, выход из поиска. Вобщем, сам себе возразил. Вопрос, заданный CaPpuCcino, открыт. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
CaPpuCcino 0 3 мая, 2007 Опубликовано 3 мая, 2007 · Жалоба Т.е. можно предположить, что при меньшем размере анализируемого дизайна синтезатор может найти более оптимальное размещении. +1 а ручноe размещениe - на мой взгляд, дело совершенно неблагодарное - не думаю что дезайнер на глазок может найти решение минимума в многомерном пространстве - формальными методами машина решает такую задачку эфективнее. по-моему в проекте сколько-нибудь сложном улучшить времянку ручками можно только если вам случайно повезёт - и вы тыкните логическую ячейку именно туда куда ей самое место (и машина до этого по какой-то причине не додумалась). переразмещать блоки ручками дело опасное - думаешь что вытягиваешь вермянку по одному пути - а на самом деле растягиваешь времянки на смежных. такая задача сопоставима с правкой (оптимизацией) машинного кода после того как по сишной програмке прошёлся оптимизирующий компилятор такое у меня убеждение. может быть у кого-нибудь есть положительный опыт в этом деле - поделитесь, плз, впечатлениями Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться