- ExpressConstraintsEditor — средство для задания параметров компиляции проекта. С помощью этого редактора удобно задавать временные ограничения для проекта.
- LogicSimulator — симулятор, позволяющий удобно провести его функциональное (логическое, поведенческое) моделирование после ввода описания проекта. В симуляторе в интерактивном графическом режиме задаются сигналы, которые используются для проведения моделирования. Результаты моделирования можно наблюдать как в привычном виде временных диаграмм, в том числе в режиме Probe, так и с использованием семисегментных индикаторов.
- DesignImplementation — модуль, запускающийся из ProjectManager, позволяющий выбрать устройство, на котором реализуется проект, подгрузить файл ограничений и параметров синтеза, созданный пользователем, а затем запустить компиляцию проекта.
- TimingSimulation — модуль, позволяющий провести временное моделирование в случае успешной компиляции проекта.
- Xchecker — загрузчик, позволяющий проводить аппаратную верификацию проекта после проведения моделирования на компьютере. Программное обеспечение фирмы Xilinx поддерживает генератор логических ядер (COREGenerator). Сгенерированные ядра (LogiCORE) представляют собой функциональные параметризированные блоки системного уровня, предназначенные для применения в цифровой обработке сигналов. Кроме того, фирма Xilinx поддерживает программу разработки готовых решений для САПР ПЛИС AllianceCORE.[1]
1.3 САПР SyNPLICITy
Разработчики ПЛИС по всему миру используют программные средства компании Synplicity. Образованная в 1994 году, Synplicity сразу выпустила ряд успешных продуктов, ориентированных на решение задачи логического синтеза для ПЛИС. Учитывая, что электронные устройства на базе современных ПЛИС — один из наиболее активно развивающихся секторов микроэлектроники, можно утверждать, что Synplicityсегодня входит в число самых заметных игроков на рынке средств автоматизированного проектирования микроэлектронных компонентов. Компания Synplicityинтенсивно развивается, осваивает новые направления системного и физического синтеза. Особенно трудная задача при разработке систем синтеза — обеспечить возможность эффективной реализации исходного RTL-описания во всех доступных элементных базисах. В полной мере решить эту задачу, как впрочем и для компиляторов, тяжело, но Synplicity, пожалуй, продвинулась в ее решении дальше всех. Одно из интереснейших направлений развития компании — разработка аппаратного отладчика RTL-кода на базе ПЛИС. Сегодня отладка и функциональная верификация RTL-кода, кстати в отличие от разработки программ, производится в искусственной среде средств логического моделирования. Понятно, что при реализации в виде ASIC отладку на аппаратном уровне не сделаешь, а вот решения для перепрограммируемых FPGA весьма интересны.
Сегодня компания Synplicity предоставляет средства для решения практически всех задач синтеза как для ПЛИС, так и для ASIC и структурных ASIC. Линейка продуктов компании включает следующие пакеты:
- SynplifyDSP — автоматический синтез RTL-кода для систем цифровой обработки сигналов (DigitalSignalProcessing, DSP).
- SynplifyPro, SynplifyASIC — логический синтез для FPGA и заказных СБИС соответственно.
- AmplifyFPGA, AmplifyASIC — физический синтез для FPGA и заказных СБИС соответственно. (Существуют также специальные версии AmplifyASICдля таких структурных ASIC, как RapidChip фирмы LSILogic, ISSP фирмы NEC, AccelArray фирмы Fujitsu.)
- Certify — прототипирование ASIC-проектов на FPGA.
- dentify — отладчик RTL-кода.
- Fortify — проектирование системы питания для ASIC с учетом влияния таких факторов, как электромиграция, падение напряжения в шинах питания и др.
Поскольку компания Synplicity стартовала как разработчик средств логического синтеза, в этой области накоплен наибольший опыт. Именно Synplicity сделала логический синтез простым и доступным инструментом, который стандартно используется всеми разработчиками, а основатель и идеолог компании Кен Макэлван (KenMcElvan) входит в небольшой список людей, оказавших наиболее значительное влияние на развитие всей полупроводниковой промышленности. Продукты компании базируются на собственной B.E.S.T. (BehaviorExtractingSynthesisTechnology) — технологии логического синтеза. Реализованная в системе Synplify, эта технология получила дальнейшее развитие в системе SynplifyPro.
SynplifyProориентирована на работу с современными ПЛИС емкостью в несколько миллионов вен-тилей, работающих с частотами свыше 100 МГц. Благодаря алгоритмам, заложенным в систему, можно выделять крупные функциональные блоки (конечные автоматы, память, арифметические блоки) и проводить высокоуровневую оптимизацию. Использование метода ретайминга (retiming), при котором оптимизируется расположение регистров внутри комбинационной логики, позволяет добиваться 25-процентного увеличения производительности. Инкрементный синтез, базирующийся на собственной технологии компании Multipointи использующий установленные пользователем в компиляторе RTL-кода точки, обеспечивает возможность за счет оптимизации интерфейсов скомпилированных блоков добиться высокого уровня стабильности проекта и избежать ухудшения производительности, что свойственно другим инкрементным методам. Для самых сложных проектов полезны будут такие возможности SynplifyPro, как управление вариантами реализации, интеграция IP и повторное использование ранее разработанных блоков (designre-use). Система логического синтеза для ASIC (SynplifyASIC), появившаяся несколько позже, была разработана на основе идеологии и алгоритмов, заложенных в SynplifyPro., таких как технология синтеза B.E.S.T., которая позволяет при компиляции извлекать поведенческую информацию из RTL-кода и проводить высокоуровневую оптимизацию всего проекта. А уникальная технология прямого отображения проекта в элементный базис производителя (DirectMappingTechnology, D.M.T.) дает возможность миновать свойственные другим системам синтеза этапы преобразования проекта в базис внутренней библиотеки и последующей оптимизации в базисе произ-водителя. Система сразу “видит” и использует все доступные элемен-ты, а не элементарные логические функции. Благодаря этому в SynplifyASICвысокая производительность синтеза сочетается с глубокой оптимизацией проекта (в среднем, при пятикратном уменьшении времени синтеза, результирующая схема получается на 15% компактнее, чем в традиционных системах логического синтеза заказных СБИС). Получение более компактной схемы облегчает задачу размещения/трассировки на последующих этапах и повышает качество всего проекта в целом. В системе SynplifyASICобеспечена возможность поддержки единой иерархии проекта и системы проектных ограничений на этапах синтеза и размещения/трассировки. Методология проектирования сверху вниз позволяет проводить синтез с учетом временных ограничений при размерах отдельных блоков до двух миллионов вентилей. [1]
Как SynplifyASIC, так и SynplifyPro включают в себя систему отлад-ки HDLAnalyst, которая обеспечивает удобные средства анализа и отладки проекта. Здесь поддержи-вается возможность кросс-ссылок между исходным RTL-текстом, его схемным графическим представлением, синтезированной схемой в библиотечном базисе и диагностическими листингами. В среде HDLAnalystтакже выполняется анализ критических путей и различные виды фильтрации схемных диаграмм, так что разработчик может полностью контролировать проект во всех его представлениях. [1]
Надо заметить, что сложность проектов на FPGAвозрастает вслед за ASIC, и те проблемы, с которыми уже столкнулись разработчики ASIC, становятся актуальными и для разработчиков FPGA. Имея полную линейку продуктов синтеза для различных технологий, компания Synplicity видит весь спектр проблем проектирования в этой области. Поэтому многие технологии проектирования, изначально разработанные и апробированные в SynplifyASIC, сейчас реализуются в SynplifyPro.
С ростом степени интеграции и переходом на технологические нор-мы проектирования ниже 0,18 мкм усиливается влияние топологии на временные параметры логических схем. Задержки в линиях связей начинают преобладать над задержками логических элементов. В этих условиях приобретает актуальность создание систем физического синтеза, где одновременно с логическим синтезом производится размещение элементов и оптимизация синтезированной схемы по его результатам. Возникновение систем физического синтеза было инициировано прежде всего требованиями разработчиков ASIC. Но сегодня потребность в таких системах возрастает и для разработчиков FPGA.
Система AmplifyASICв единой оболочке поддерживает весь процесс логического и физического синтеза, включая планировку кристалла, размещение, предварительную рассировку, оценку загруженности и временной анализ. Средства планировки дают возможность автоматически сгенерировать весь план кристалла непосредственно из RTL-кода либо завершить предварительно сделанную частичную планировку. Быстрые средства автоматического размещения позволяют проводить синтез и одновременное размещение компоненов, а предварительная глобальная трассировка и временной анализ обеспечивают достоверное прогнозирование результатов проектирования. Предусмотрены также средства учета при размещении требований к трассировке тактовых сигналов. [1]
Следует заметить, что AmplifyASIC — один из первых продуктов на зарождающемся перспективном рынке средств физического синтеза для структурных ASIC. Сегодня уже поддерживается синтез для кристаллов ISSP фирмы NEC, RapidChip фирмы LSILogicи Luminanceкомпании LightspeedSemiconductor. В ближайшее время будет обеспечена поддержка серии AccelArray фирмы Fujitsu и ряда других производителей структурных ASIC. Базовый продукт AmplifyASIC — универсальный, он обеспечивает проектирование любых ASIC, включая и структурные. В то же время аналогично версиям Synplify и SynplifyProдля различных производителей FPGA, разработаны специальные версии Amplifyдля каждого производителя структурных ASIC, в полной мере учитывающие возможности конкретных типов кристаллов. [1]
Компания Synplicity — пионер в области физического синтеза для ПЛИС. Ее система AmplifyFPGAна протяжении нескольких лет используется крупными электронными компаниями по всему миру, являясь фактически стандартом в этой области. Для современных ПЛИС недостаточно средств логического синтеза, в котором анализируются только статистические модели меж-соединений и задержки переключения вентилей, поскольку реальные задержки во многом определяются топологией и могут сильно отличаться от предварительных оценок. В отсутствие средств, учитывающих топологическую реализацию, процесс проектирования современных ПЛИС имеет шанс стать непредсказуемым, поскольку исправление ситуации в одном месте может повлечь за собой возникновение проблем в других частях схемы. Использование системы AmplifyFPGAпозволяет достичь в автоматическом режиме работы результатов, сопоставимых с полностью ручными режимами размещения и трассировки, и в среднем увеличить производительность разрабатываемых устройств на 20%, а в некоторых случаях — до 45% по сравнению с результатами, полученными при использовании обычного логического синтеза. Улучшение достигается за счет одновременной оптимизации размещения и синтезируемой логики. Используются методы оптимизации, учитывающие меж-соединения логических элементов, проводится автоматическая репликация (replication) логики и оптимизация критических путей. Сегодня появилось уже третье поколение системы AmplifyFPGA, в котором реализованы новейшие методы физического синтеза для самых современных архитектур ПЛИС, таких как Virtex-4 компании Xilinxи StratixIIкомпании Altera. Для FPGA фирмы Xilinxв AmplifyFPGAреализованы все этапы автоматического синтеза вплоть до размещения. Причем с гарантией соблюдения временных параметров. Остается только выполнить трассировку. Надо отметить, что сами разработчики ПЛИС — компании Xilinxи Altera — при разработке своих библиотек IP-блоков применяют системы Amplifyи SynplifyPro.