Сегодня компания Synplicity предоставляет средства для решения практически всех задач синтеза, как для ПЛИС, так и для ASIC и структурных ASIC. Линейка продуктов компании включает следующие пакеты:
· Synplify DSP – автоматический синтез RTL-кода для систем цифровой обработки сигналов (Digital Signal Processing, DSP).
· Synplify Pro, Synplify ASIC – логический синтез для FPGA и заказных СБИС, соответственно.
· Amplify FPGA, Amplify ASIC – физический синтез для FPGA и заказных СБИС, соответственно. (Существуют также специальные версии Amplify ASIC для таких структурных ASIC, как RapidChip фирмы LSI Logic, ISSP фирмы NEC, AccelArray фирмы Fujitsu.)
· Certify – прототипирование ASIC-проектов на FPGA.
· Identify – отладчик RTL-кода.
· Fortify – проектирование системы питания для ASIC с учетом влияния таких факторов, как электромиграция, падение напряжения в шинах питания и др.
ВЫСОКОУРОВНЕВЫЙ СИНТЕЗ. SYNPLIFY DSP
Средства системного проектирования сегодня становятся неотъемлемой частью маршрута разработки цифровых систем. В первую очередь речь идет о так называемых исполняемых спецификациях, которые представляют собой описание модели системы на одном из языков высокого уровня (С/С++, SystemC, Handel-C, Stream-C) или выполнены с помошью популярного средства компании The MathWorks – системы Matlab/Simulink. В процессе проектирования блоки системных моделей постепенно замещаются блоками RTL-кода, а с помошью систем логического моделирования, поддерживающих как описание на языках высокого уровня, так и RTL-описания, и позволяющих проводить смешанное моделерование, можно контролировать соответствие проекта исходному описанию. Но проблема в том, что RTL-код все равно пишется вручную. Автоматический переход от высокоуровневых спецификаций к RTL-коду средствами поведенческого синтеза – одна из самых актуальных задач в области автоматизации проектирования.
Система Synplify DSP (рис.1) обеспечивает решение задачи высокоуровневого синтеза для DSP-приложений. Сегодня одним из самых популярных средств, применяемых при разработке и моделировании алгоритмов DSP, является система Matlab/Simulink. Используя модели, разработанные в этой системе, Synplify DSP позволяет не только напрямую синтезировать RTL-код, но и выполнять высокоуровневую оптимизацию алгоритмов DSP непосредственно по спецификациям Simulink. Наличие такой оптимизации позволяет разработчикам не заботиться об особенностях аппаратной реализации при описании алгоритмов DSP на поведенческом уровне. Поддерживается автоматическая конверсия операций с плавающей точкой в вычисления с фиксированной точкой. Система Synplify DSP включает в себя также технологически независимую библиотеку традиционно используемых в DSP-приложениях алгоритмических блоков, интегрированную в среду The MathWorks. Оптимизация алгоритма под конкретную реализацию (FPGA, SA или ASIC) выполняется на этапе синтеза RTL-кода, готового для логического синтеза в элементный базис производителя. Надо сказать, что в отличие от разработки DSP-приложений с использованием специальных DSP-блоков производителей FPGA, локально оптимизированных под конкретную реализацию, Synplify DSP позволяет выполнить глобальную оптимизацию всего алгоритма через границы алгоритмических блоков. Критерии можно варьировать, добиваясь максимальной производительности, минимизации площади на кристалле либо определенного баланса этих параметров. При оптимизации применяются методы временной коррекции, конвейеризации, свертки, уплотнения и разделения каналов.
ЛОГИЧЕСКИЙ СИНТЕЗ. SYNPLIFY PRO, SYNPLIFY ASIC
Поскольку компания Synplicity стартовала как разработчик средств логического синтеза, в этой области накоплен наибольший опыт. Именно Synplicity сделала логический синтез простым и доступным инструментом, который стандартно используется всеми разработчиками, а основатель и идеолог компании Кен Макэлван (Ken McElvan) входит в небольшой список людей, оказавших наиболее значительное влияние на развитие всей полупроводниковой промышленности. Продукты компании базируются на собственной B.E.S.T. (Behavior Extracting Synthesis Technology) – технологии логического синтеза. Реализованная в системе Synplify, эта технология получила дальнейшее развитие в системе Synplify Pro (рис.2). Synplify Pro ориентирована на работу с современными ПЛИС емкостью в несколько миллионов вентилей, работающих с частотами свыше 100 МГц. Благодаря алгоритмам, заложенным в систему, можно выделять крупные функциональные блоки (конечные автоматы, память, арифметические блоки) и проводить высокоуровневую оптимизацию. Использование метода ретайминга (retiming), при котором оптимизируется расположение регистров внутри комбинационной логики, позволяет добиваться 25%-ного увеличения производительности. Инкрементный синтез, базирующийся на собственной технологии компании MultiPoint и использующий установленные пользователем в компиляторе RTL-кода точки, обеспечивает возможность, за счет оптимизации интерфейсов скомпилированных блоков, добиться высокого уровня стабильности проекта и избежать ухудшения производительности, что свойственно другим инкрементным методам. Для самых сложных проектов полезны будут такие возможности Synplify Pro, как управление вариантами реализации, интеграция IP и повторное использование ранее разработанных блоков (design re-use).
Система логического синтеза для ASIC (Synplify ASIC), появившаяся несколько позже, была разработана на основе идеологии и алгоритмов, заложенных в Synplify Pro. Таких, как технология синтеза B.E.S.T., которая позволяет при компиляции извлекать поведенческую информацию из RTL-кода и проводить высокоуровневую оптимизацию всего проекта. А уникальная технология прямого отображения проекта в элементный базис производителя (Direct Mapping Technology, D.M.T.) дает возможность миновать свойственные другим системам синтеза этапы преобразования проекта в базис внутренней библиотеки и последующей оптимизации в базисе производителя. Система сразу "видит" и использует все доступные элементы, а не элементарные логические функции. Благодаря этому в Synplify ASIC высокая производительность синтеза сочетается с глубокой оптимизацией проекта (в среднем, при пятикратном уменьшении времени синтеза, результирующая схема получается на 15% компактнее, чем в традиционных системах логического синтеза заказных СБИС). Получение более компактной схемы облегчает задачу размещения/трассировки на последующих этапах и повышает качество всего проекта в целом. В системе Synplify ASIC обеспечена возможность поддержки единой иерархии проекта и системы проектных ограничений на этапах синтеза и размещения/трассировки. Методология проектирования сверху-вниз позволяет проводить синтез с учетом временных ограничений при размерах отдельных блоков до двух миллионов вентилей.
Как Synplify ASIC, так и Synplify Pro включают в себя систему отладки HDL Analyst, которая обеспечивает удобные средства анализа и отладки проекта. Здесь поддерживается возможность кросс-ссылок между исходным RTL-текстом, его схемным графическим представлением, синтезированной схемой в библиотечном базисе и диагностическими листингами. В среде HDL Analyst также выполняется анализ критических путей и различные виды фильтрации схемных диаграмм, так что разработчик может полностью контролировать проект во всех его представлениях.
Надо заметить, что сложность проектов на FPGA возрастает вслед за ASIC, и те проблемы, с которыми уже столкнулись разработчики ASIC, становятся актуальными и для разработчиков FPGA. Имея полную линейку продуктов синтеза для различных технологий, компания Synplicity видит весь спектр проблем проектирования в этой области. Поэтому многие технологии проектирования, изначально разработанные и апробированные в Synplify ASIC, сейчас реализуются в SynplifyPro.
ФИЗИЧЕСКИЙ СИНТЕЗ. AMPLIFY FPGA, AMPLIFY ASIC
С ростом степени интеграции и переходом на технологические нормы проектирования ниже 0,18 мкм усиливается влияние топологии на временные параметры логических схем. Задержки в линиях связей начинают преобладать над задержками логических элементов. В этих условиях приобретает актуальность создание систем физического синтеза, где одновременно с логическим синтезом производится размещение элементов и оптимизация синтезированной схемы по его результатам. Возникновение систем физического синтеза было инициировано прежде всего требованиями разработчиков ASIC. Но сегодня потребность в таких системах возрастает и для разработчиков FPGA.
Система Amplify ASIC в единой оболочке поддерживает весь процесс логического и физического синтеза, включая планировку кристалла, размещение, предварительную трассировку, оценку загруженности и временной анализ. Средства планировки дают возможность автоматически сгенерировать весь план кристалла непосредственно из RTL-кода либо завершить предварительно сделанную частичную планировку. Быстрые средства автоматического размещения позволяют проводить синтез и одновременное размещение компоненов, а предварительная глобальная трассировка и временной анализ обеспечивают достоверное прогнозирование результатов проектирования. Предусмотрены также средства учета при размещении требований к трассировке тактовых сигналов.
Надо заметить, что Amplify ASIC – один из первых продуктов на зарождающемся перспективном рынке средств физического синтеза для структурных ASIC. Сегодня уже поддерживается синтез для кристаллов ISSP фирмы NEC, RapidChip фирмы LSI Logic и Luminance компании Lightspeed Semiconductor. В ближайшее время будет обеспечена поддержка серии AccelArray фирмы Fujitsu и ряда других производителей структурных ASIC. Базовый продукт Amplify ASIC – универсальный, он обеспечивает проектирование любых ASIC, включая и структурные. В то же время, аналогично версиям Synplify и Synplify Pro для различных производителей FPGA, разработаны специальные версии Amplify для каждого производителя структурных ASIC, в полной мере учитывающие возможности конкретных типов кристаллов.
Компания Synplicity – пионер в области физического синтеза для ПЛИС. Ее система Amplify FPGA (рис.3) на протяжении нескольких лет используется крупными электронными компаниями по всему миру, являясь фактически стандартом в этой области. Для современных ПЛИС недостаточно средств логического синтеза, в котором анализируются только статистические модели межсоединений и задержки переключения вентилей, поскольку реальные задержки во многом определяются топологией и могут сильно отличаться от предварительных оценок. В отсутствие средств, учитывающих топологическую реализацию, процесс проектирования современных ПЛИС имеет шанс стать непредсказуемым, поскольку исправление ситуации в одном месте может повлечь за собой возникновение проблем в других частях схемы. Использование системы Amplify FPGA позволяет достичь в автоматическом режиме работы результатов, сопоставимых с полностью ручными режимами размещения и трассировки, и в среднем увеличить производительность разрабатываемых устройств на 20%, а в некоторых случаях до 45% по сравнению с результатами, полученными при использовании обычного логического синтеза. Улучшение достигается за счет одновременной оптимизации размещения и синтезируемой логики. Используются методы оптимизации, учитывающие межсоединения логических элементов, проводится автоматическая репликация (replication) логики и оптимизация критических путей. Сегодня появилось уже третье поколение системы Amplify FPGA, в котором реализованы новейшие методы физического синтеза для самых современных архитектур ПЛИС, таких как Virtex-4 компании Xilinx и Stratix II компании Altera. Для FPGA фирмы Xilinx в Amplify FPGA реализованы все этапы автоматического синтеза вплоть до размещения. Причем с гарантией соблюдения временных параметров. Остается только выполнить трассировку. Надо отметить, что сами разработчики ПЛИС – компании Xilinx и Altera – при разработке своих библиотек IP-блоков применяют системы Amplify и Synplify Pro.
СИНТЕЗ ПРОТОТИПА ASIC НА FPGA. CERTIFY
Функциональная верификация проектов средствами логического моделирования – длительный и трудоемкий процесс. Чтобы добиться достаточной полноты проверки проекта, фактически необходимо разработать модель системного окружения и систему тестов для всех режимов функционирования системы. Объем тестов при этом может быть на несколько порядков больше объема самой RTL-модели. И все равно возможность ошибок сохраняется, в реальной аппаратуре устройство может работать неправильно. В отличие от проектирования ASIC, где нет права на ошибку, при разработке на базе FPGA часто оказывается быстрее и надежнее проверить работоспособность проекта непосредственно в аппаратуре, поскольку всегда имеется возможность перепрограммирования микросхемы. При этом "центр тяжести" функциональной верификации переносится с разработки системы тестов на отладку проекта в реальном системном окружении. Чтобы воспользоваться преимуществами такого подхода, при разработках заказных СБИС стали проводить макетирование проекта на FPGA. По некоторым оценкам, в ближайшее время до 80% общего числа проектов ASIC будут включать этап макетирования устройства на FPGA.
Основная задача при создании прототипа ASIC на FPGA – в том, чтобы прототип в точности соответствовал исходной RTL-спецификации проекта ASIC. Система Certify (рис.4) обеспечивает прямой синтез прототипа ASIC на одном или нескольких кристаллах FPGA из исходного описания проекта. Поддерживается автоматическое разбиение проекта на базе QPT технологии (Quick Partitioning Technology), а также возможность ручного и комбинированного режима разбиения. Подсистема Board Wizard поможет поместить прототип на одну или несколько тестовых плат (стандартных или заказных). Есть средства автоматической конверсии системы тактовой синхронизации и, конечно, логический синтез, базирующийся на технологиях системы SynplifyPro. Интересно, что ядро системы Certify используется в ряде аппаратных эмуляторов ASIC на основе FPGA. Еще одно преимущество системы Certify, которое может значительно сократить время разработки прототипа, – возможность подключения средств отладки RTL-кода, работающих в том числе и на аппаратном уровне.
RTL-ОТЛАДЧИК. IDENTIFY
Система Identify позволяет на практике реализовать концепцию верификации проекта на основе отладки. Суть этой концепции в том, что с помощью систем моделирования проверяются только основные режимы работы модулей проекта, затем, после интеграции модулей в единый проект, макет на базе FPGA с возможностью диагностики ключевых внутренних сигналов в контрольных точках помещается в реальную рабочую среду, после чего фактически сама среда автоматически тестирует проект. Аппаратный отладчик, которому доступны данные контрольных точек, помогает выявлять имеющиеся проблемы и разбираться с причинами их возникновения.
Как уже было замечено, процесс разработки цифровых электронных систем все больше напоминает разработку программного обеспечения. Но в программировании редко кто смотрит на скомпилированный код. При разработке аппаратуры разработчик работает со спецификациями VHDL или Verilog на уровне RTL, поэтому отладка, соответственно, должна проводиться на RTL-уровне, а не на уровне синтезированного списка цепей. Процесс аппаратной отладки выглядит аналогично отладке в системах моделирования, но с реальными сигналами и на скорости работы реальной аппаратуры. Объединение моделирования и аппаратной отладки обеспечивает более надежную проверку проекта при значительно меньших затратах на создание тестов и верификацию проекта средствами моделирования. Причем, при использовании современных средств прототипирования, таких как система Certify, предложенный подход доступен как разработчикам FPGA, так и разработчикам ASIC.
Отладчик Identify (рис.5) – на сегодняшний день единственная система, дающая возможность разработчикам FPGA и прототипов ASIC выполнять функциональную отладку проектов напрямую в исходном коде RTL с использованием сигналов реального мира для аппаратно-программных, мультимедийных и сетевых приложений. По сравнению с системами моделирования скорость функциональной верификации повышается на пять порядков. Identify позволяет разработчикам напрямую выбирать в исходном RTL-коде сигналы и задавать условия для контроля и просмотра временных диаграмм с сохранением результатов в стандартном формате VCD (Value Change Dump), воспринимаемом всеми системами работы с временными диаграммами.
До сих пор преимущества быстрой аппаратной отладки нивелировались большим временем установки причин ошибок с необходимостью множества отладочных итераций в процессе поиска. Системы отладки, работающие со списками цепей, полученными после выполнения этапов размещения и трассировки, крайне неэффективны из-за изменений имен сигналов и невозможности ассоциации с именами в исходном RTL-коде. Разработчики вынуждены на каждой итерации отладки заново выполнять весь цикл синтеза и проектирования топологии. При использовании Identify достаточно отметить контролируемые сигналы в исходном RTL-коде, после чего они будут ассоциированы с внутренними цепями и выведены на встраиваемый в FPGA блок логического анализатора и далее через интерфейс JTAG в окно просмотра временных диаграмм.
В последней версии Identify также реализован инкрементный режим отладки для FPGA компании Xilinx (реализация для FPGA других производителей планируется в следующих версиях), который позволяет быстро переключать логический анализатор на контроль новых сигналов и менять точки останова. Инкрементный режим позволяет избежать повторных циклов синтеза и проектирования топологии при каждой итерации отладки. Вместо этого отладчик загружает данные исходного сеанса отладки и коррелирует доступные для контроля сигналы с базой данных трассировки. Переключение анализатора на новые контролируемые сигналы и точки останова выполняется за несколько секунд. В Identify возможно также использовать сразу нескольких блоков анализатора на одном кристалле, что позволяет работать с различными схемами синхронизации в отдельных частях проекта и асинхронными системами, полностью контролируя состояние внутренних точек системы. Для обнаружения причин периодических ложных срабатываний в аппаратуре отладку можно запускать в фоновом режиме, специальным образом задавая необходимую последовательность событий. Все это позволяет организовать эффективный маршрут отладки, сочетающий в себе скорость аппаратного исполнения с гибкостью моделирования.
ЗАКЛЮЧЕНИЕ
"Синтез от А до Я" – именно такая характеристика компании Synplicity вынесена в заголовок этой статьи. Действительно, линейка продуктов компании уже охватывает практически все многообразие средств синтеза для цифровых микроэлектронных систем. При этом, надо заметить, развитие продуктов идет не разрозненно, а в рамках единой концепции решения задачи синтеза. Отдельные системы удачно дополняют друг друга, налажено их взаимодействие в рамках различных маршрутов проектирования. Эффективные решения, опробованные в одной системе, распространяются по всей линейке продуктов. Именно такой подход позволяет компании Synplicity оставаться на лидирующих позициях в отрасли.
Литература
1. Бухтеев А., Немудров В. Системы на кристалле. Новые тенденции. – ЭЛЕКТРОНИКА: НТБ, 2004, №3, с. 52–56.
2. Бухтеев А., Морозов С., Соколов С. Структурные ASIC – виток эволюции БМК или готовая платформа для создания систем на кристалле. – CHIP NEWS, 2004, №8.
Семинары компании Synopsys
Очередной публичный семинар компании Synopsys состоялся 3 и 4 ноября 2004 года в Москве.
Организатор – фирма "Альтернатив Солюшнз Альт-С", дистрибьютор компании Synopsys – предоставила российским разработчикам СБИС возможность снова встретиться со специалистами корпорации Synopsys. Со стороны Synopsys семинар курировал исполнительный директор по работе с компанией Motorola/FreeScale в Европе Патрик Гроневельд (Patrick Groneveld), значительнyю часть участников семинара составляли разработчики российского подразделения компании FreeScale. Были представлены также такие организации и учебные заведения, как ЗАО МЦСТ, ГУП НПЦ "Элвис", НИИСИ РАН, НТЦ "Модуль", ЗАО "ЮникАйСиз", МИЭТ.
В первый день семинара рассматривались средства проектирования аналоговых и смешанных заказных СБИС. Презентацию проводили инженеры службы технической поддержки германского отделения компании Synopsys Уве Траутнер (Uwe Trautner) и Саад Джабир (Saad Jabir). Была представлена система проектирования Cosmos, включающая схемотехнический редактор CosmosSE, средства визуализации результатов моделирования CosmosScore и подсистему топологического проектирования CosmosLE, интегрированные с базой данных MilkyWay и средствами моделирования, среди которых – система смешанного моделирования Discovery AMS, система моделирования на транзисторном уровне NanoSim и, конечно, широко известный продукт компании Synopsys – система схемотехнического моделирования HSPICE.
Тема второго дня – проектирование топологии СБИС с помощью системы Astro, входяшей в состав платформы Galaxy, предназначенной для разработки цифровых СБИС. Возможности системы Astro представил инженер службы технической поддержки компании Synopsys Йенс Петерс (Jens Peters). Большое внимание в докладе было уделено средствам проектирования топологии тактовых сигналов, шин земли/питания, анализу целостности сигналов, факторам электромиграции и падения напряжения в межсоединениях, а также проектированию с учетом требований последующего тестирования (DFT) и производства (DFM). Были рассмотрены и другие актуальные вопросы проектирования СБИС на базе самых современных технологий.
Несмотря на то, что рабочим языком семинара был английский, демонстрации сопровождались активной дискуссией, задавались "трудные" вопросы. Дискуссии продолжались и в кулуарах, где специалистами было отмечено, что возможности продуктов, предлагаемых компаней Synopsys разработчикам современных аналоговых и цифроаналоговых заказных СБИС за последние годы значительно выросли.