Фирмам, работающим в сфере средств автоматизации проектирования, для достижения успеха необходимо правильно определить тенденции на рынке инноваций и вовремя выйти на этот рынок с продуктами, обеспечивающими наиболее эффективную поддержку перспективных технологий. В компании Cadence технологии глобального логического синтеза рассматривают как локомотив для продвижения своего продукта RTL Compiler (входящего в состав платформы Encounter), ориентированного на разработку цифровых СБИС и систем на кристалле.
Со времени последних существенных изменений в области технологий логического синтеза сложность сверхбольших интегральных схем возросла более чем в тысячу раз. При производстве современных СБИС, включающих сотни миллионов транзисторов, используются субмикронные технологии с нормами 130 нм, 90 нм, 65 нм и ниже. Увеличение степени интеграции и общего числа элементов интегральных схем, усиление влияния различного рода физических эффектов в межсоединениях, возникающих при уменьшении технологических норм, естественно, вызывают повышенное внимание к усовершенствованию средств физического проектирования цифровых СБИС.
Вероятно поэтому, по мнению некоторых экспертов, на сегодняшний день определяющим фактором является технология, а средства логического синтеза играют далеко не главную роль в маршруте проектирования. Следовательно, оптимизацию параметров системы наиболее эффективно проводить на физическом уровне. Однако возможности оптимизации на логическом уровне нельзя недооценивать, поскольку логическое проектирование – тот фундамент, на базе которого строится проектирование СБИС.
В идеальном случае основным фактором, ограничивающим параметры проектируемой микросхемы, является технологический процесс ее производства. Однако в реальности одни из самых важных причин возникновения трудностей в процессе создания СБИС – недостаточная квалификация разработчиков и ограниченная эффективность средств проектирования. Процесс разработки СБИС разбит на этапы, для каждого из которых предусмотрен свой набор инструментов автоматизации проектирования и методология, на каждом этапе работают свои специалисты. Маршрут проектирования связывает все этапы в единую цепочку, и если в этой цепочке есть слабые звенья, то результирующая эффективность будет ограничена наиболее слабыми звеньями. Сфокусировав внимание на устранении таких слабых мест, можно существенно улучшить и весь процесс разработки СБИС.
Может показаться неожиданным, но сегодня к слабым звеньям следует отнести те подходы, которые использовались при проведении логического синтеза. Действительно, за последние пятнадцать лет произошли существенные изменения в средствах САПР физического уровня. Например, современные средства размещения логических вентилей на кристалле включают в себя функции замещения вентилей и дополнительной буферизации, позволяют проводить оптимизацию размещения на основе реальных физических и электрических параметров. В то же время в САПР логического уровня никаких революционных изменений за последнее время не наблюдалось. Поскольку САПР физического уровня считались наиболее приоритетными, то основные инвестиции шли туда, и в результате возникла ситуация, когда логический уровень стал слабым звеном маршрута разработки СБИС. Возникла необходимость заново переосмыслить задачу логического синтеза.
ПРОБЛЕМА ЛОГИЧЕСКОГО СИНТЕЗА СЕГОДНЯ
Почему же именно сегодня проблема логического синтеза требует переосмысления? Конечно же, это связано с переходом на технологии с проектными нормами 90 нм и ниже. Кристаллы, изготовленные по технологии 90 нм по сравнению с кристаллами, изготовленными по технологии 180 нм, имеют в четыре раза больше вентилей на единицу площади и в четыре раза большую производительность. При размере кристалла 10х10 мм общее число вентилей составляет 43 миллиона (соответственно, для 15х15 мм – 100 миллионов, а для 20х20 мм – 172 миллиона).
Существующие средства логического синтеза уже не позволяют эффективно работать с проектами таких размеров, поскольку эти средства ориентированы на поблочное разбиение. При последующей стыковке отдельных блоков, даже если каждый из них сам по себе оптимален, результат может быть далек от идеала. Это касается прежде всего временных параметров разрабатываемых устройств. Оптимизация временных характеристик часто требует анализа поведения устройства в целом, и это еще один из недостатков существующих средств логического синтеза, поскольку при синтезе отдельных блоков возможности временной оптимизации на уровне всего кристалла весьма ограниченны.
На рис.1 качественно проиллюстрирована методология синтеза с разбиением проекта на блоки. Размер синтезируемых блоков обычно 30–50 тыс. вентилей. Устройства объемом два миллиона вентилей включают в себя порядка шестидесяти блоков, кристалл на пять миллионов вентилей – около полутора сотен, а при объеме в сто миллионов вентилей число блоков будет уже таким, что проектом станет невозможно управлять. Алгоритмы оптимизации блоков не способны выделить критические сигналы, а простой подбор библиотечных компонентов для локального уменьшения площади и увеличения быстродействия и дополнительная буферизация не позволяют гарантировать достижения высоких характеристик в целом. Технология глобального синтеза, разработанная компанией Cadence, ориентирована в первую очередь на оптимизацию временных параметров синтезируемых устройств, однако предложенные механизмы оказались эффективными и с точки зрения плотности упаковки (утилизации площади) кристалла.
Эксперименты по изучению влияния параметров степени утилизации на результирующие характеристики кристалла показывают, что усилия по увеличению плотности логических элементов на кристалле на этапе логического синтеза эффективны только до определенной границы, после которой наступает насыщение. Возникает эффект "красной зоны" (рис.2). При значении степени утилизации ниже границы красной зоны трассировка и размещение обычно проходят легко и без ошибок. В крайне узкой области красной зоны (всего лишь 3–5%) риск получения ошибок размещения/трассировки резко возрастает, а при уровне утилизации, находящемся за красной зоной, успешная трассировка кристалла практически невозможна. Кроме того, при приближении значения утилизации к красной зоне существенно затрудняются возможности оптимизации временных параметров. С ростом плотности логических вентилей возрастает и плотность внутренних соединений. Возникает порочный круг. Чтобы обеспечить трассировку, необходимо прокладывать обходные, а соответственно более длинные, соединения, что влечет за собой установку дополнительных буферов, которые в свою очередь повышают плотность логических вентилей, и так до бесконечности (рис.3). Таким образом, наиболее перспективный подход – работа на границе красной зоны, ориентированная на увеличение эффективности использования площади кристалла путем сокращения числа буферных элементов и организации более эффективной логической структуры. Как раз на это и направлена методология глобального синтеза.
МЕТОДЫ ГЛОБАЛЬНОГО СИНТЕЗА
Отправная точка всего процесса аппаратной реализации проекта – исходный HDL-код. При создании фрагментов исходного HDL-описания опытные инженеры заранее учитывают то, как это описание будет преобразовано в аппаратную структуру в процессе логического синтеза. Исходный HDL-код задает микроархитектуру фрагментов проекта, и большинство разработчиков избегают пользоваться методами логической оптимизации, которые могут изменить имеющуюся микроархитектуру. Например, использование методов оптимизации, предусматривающих перераспределение фрагментов комбинаторной логики между триггерами, в некоторой локальной области проекта может привести к улучшению результатов. Однако после такой оптимизации требуется проведение дополнительной верификации, поскольку существует вероятность изменения функциональности проекта. Оптимизация глобальной логической структуры не изменяет микроархитектуры проекта и в этом смысле дополняет разработчика, а не навязывает ему свои решения. Кроме того, оптимальная глобальная логическая структура позволяет более четко сформулировать и требования, и область решений при переходе к локальной оптимизации на этапе преобразования в конкретный технологический базис.
Как отмечалось, основным критерием оценки качества логического синтеза сегодня должна быть возможность удовлетворения временных параметров проекта. Однако существующие критерии, такие как количество логических вентилей или число цепей, плохо подходят для этой цели на субмикронном уровне. Наиболее перспективным здесь представляется анализ структуры путей распространения сигнала. С точки зрения быстродействия все пути могут быть разделены на критические и некритические. В критических путях, в свою очередь, выделяются критические и некритические фрагменты. Данные этого анализа – основа для последующего логического синтеза.
Технология глобального логического синтеза с учетом анализа критических цепей включает набор методов оптимизации, которые позволяют уменьшить влияние критических фрагментов на остальную схему и оптимизировать эти фрагменты по быстродействию. Вот несколько примеров используемого инструментария.
Во-первых, в процессе глобальной логической оптимизации критический фрагмент стараются переместить как можно ближе к концу логической цепочки. Цель этой операции – сократить число фрагментов схемы, на которые будет влиять критический участок. Таким образом, в целом минимизируются риски нарушения функциональности.
Во-вторых, критические сигналы стараются по возможности изолировать, избежать нагрузки их некритическими сигналами. В результате критический путь будет включать в основном логические вентили с меньшим количеством входов, малой нагрузочной способностью, но с большим быстродействием (рис.4). Такой способ оптимизации отличается от простого замещения комплексных логических вентилей несколькими уровнями логики (что увеличивает задержку на внутренних соединениях). Здесь выбор логических вентилей происходит с учетом временных характеристик проекта на основе анализа его глобальной структуры. В некритических путях в глобальной логической структуре для снижения количества вентилей и внутренних соединений применяются более сложные логические вентили (например, сумматоры). Поскольку для таких типов вентилей в библиотеке обычно не предусмотрено большого количества вариантов исполнения, то при дальнейшей оптимизации некритических путей используется в основном дополнительная буферизация с целью увеличения нагрузочной способности вентилей.
RTL COMPILER. РЕЗУЛЬТАТЫ
Технологии глобального синтеза были реализованы в рамках инструмента RTL Compiler компании Cadence, входящего в состав платформы Encounter, ориентированной на проектирование цифровых СБИС. Опыт применения этого продукта позволяет говорить об эффективности используемых технологий. На рис. 5 отражено изменение времени синтеза проекта в зависимости от его размеров. Как можно заметить, данная характеристика линейна. Это большое преимущество перед традиционными подходами, поскольку размеры проектов при переходе к технологическим нормам 90 нм и ниже, как уже было сказано в начале, возрастают очень существенно.
Чтобы проиллюстрировать преимущества технологий глобального синтеза, рассмотрим результаты, полученные при проектировании двух устройств, как с помощью традиционных алгоритмов, так и при использовании инструментов глобальной оптимизации системы RTL Compiler.
Первый проект представлял СБИС объемом более десяти миллионов логических вентилей, предназначенную для использования в высокоскоростных сетевых маршрутизаторах. Требуемое быстродействие – 400 МГц. После двух месяцев работы с традиционными алгоритмами логического синтеза (с учетом редактирования HDL-кода, последующим размещением/трассировкой и подготовкой проекта к производству) удалось достичь лишь быстродействия 326 МГц. Оценка быстродействия по результатам логического синтеза в системе RTL Compiler перед выполнением размещения/ трассировки составляла 417 МГц. Надо заметить, что после этапов размещения/трассировки и подготовки проекта в производство реальное быстродействие проекта превышало заданные 400 МГц. При этом на достижение требуемого результата было затрачено всего два дня.
Второй проект представлял собой сетевой процессор объемом 5,4 миллиона вентилей. При использовании традиционных алгоритмов после трех недель работы инженерам удалось достичь результата, для которого оценки быстродействия по результатам логического синтеза укладывались в требуемые рамки. Однако результаты последующего физического синтеза оказались неудовлетворительными. После 108 часов работы с наиболее критичным блоком (300 тысяч вентилей) был получен вариант размещения, при котором параметры быстродействия уже не укладывались в заданные ограничения, и проект завершен не был. После синтеза с использованием системы RTL Compiler, на что потребовалось лишь два дня, средства физического синтеза уже через восемнадцать часов смогли успешно завершить проект.
Конечно, приведенные примеры не претендуют на всеобъемлющее исследование, но они весьма показательны. Во всяком случае, они позволяют говорить, что технологии глобального синтеза для ряда проектов существенным образом улучшают как непосредственно результаты самого логического синтеза, так и условия для проведения последующих этапов проектирования, и, таким образом, обеспечивают достижение высоких характеристик разрабатываемых устройств при значительном сокращении времени проектирования.
Вероятно поэтому, по мнению некоторых экспертов, на сегодняшний день определяющим фактором является технология, а средства логического синтеза играют далеко не главную роль в маршруте проектирования. Следовательно, оптимизацию параметров системы наиболее эффективно проводить на физическом уровне. Однако возможности оптимизации на логическом уровне нельзя недооценивать, поскольку логическое проектирование – тот фундамент, на базе которого строится проектирование СБИС.
В идеальном случае основным фактором, ограничивающим параметры проектируемой микросхемы, является технологический процесс ее производства. Однако в реальности одни из самых важных причин возникновения трудностей в процессе создания СБИС – недостаточная квалификация разработчиков и ограниченная эффективность средств проектирования. Процесс разработки СБИС разбит на этапы, для каждого из которых предусмотрен свой набор инструментов автоматизации проектирования и методология, на каждом этапе работают свои специалисты. Маршрут проектирования связывает все этапы в единую цепочку, и если в этой цепочке есть слабые звенья, то результирующая эффективность будет ограничена наиболее слабыми звеньями. Сфокусировав внимание на устранении таких слабых мест, можно существенно улучшить и весь процесс разработки СБИС.
Может показаться неожиданным, но сегодня к слабым звеньям следует отнести те подходы, которые использовались при проведении логического синтеза. Действительно, за последние пятнадцать лет произошли существенные изменения в средствах САПР физического уровня. Например, современные средства размещения логических вентилей на кристалле включают в себя функции замещения вентилей и дополнительной буферизации, позволяют проводить оптимизацию размещения на основе реальных физических и электрических параметров. В то же время в САПР логического уровня никаких революционных изменений за последнее время не наблюдалось. Поскольку САПР физического уровня считались наиболее приоритетными, то основные инвестиции шли туда, и в результате возникла ситуация, когда логический уровень стал слабым звеном маршрута разработки СБИС. Возникла необходимость заново переосмыслить задачу логического синтеза.
ПРОБЛЕМА ЛОГИЧЕСКОГО СИНТЕЗА СЕГОДНЯ
Почему же именно сегодня проблема логического синтеза требует переосмысления? Конечно же, это связано с переходом на технологии с проектными нормами 90 нм и ниже. Кристаллы, изготовленные по технологии 90 нм по сравнению с кристаллами, изготовленными по технологии 180 нм, имеют в четыре раза больше вентилей на единицу площади и в четыре раза большую производительность. При размере кристалла 10х10 мм общее число вентилей составляет 43 миллиона (соответственно, для 15х15 мм – 100 миллионов, а для 20х20 мм – 172 миллиона).
Существующие средства логического синтеза уже не позволяют эффективно работать с проектами таких размеров, поскольку эти средства ориентированы на поблочное разбиение. При последующей стыковке отдельных блоков, даже если каждый из них сам по себе оптимален, результат может быть далек от идеала. Это касается прежде всего временных параметров разрабатываемых устройств. Оптимизация временных характеристик часто требует анализа поведения устройства в целом, и это еще один из недостатков существующих средств логического синтеза, поскольку при синтезе отдельных блоков возможности временной оптимизации на уровне всего кристалла весьма ограниченны.
На рис.1 качественно проиллюстрирована методология синтеза с разбиением проекта на блоки. Размер синтезируемых блоков обычно 30–50 тыс. вентилей. Устройства объемом два миллиона вентилей включают в себя порядка шестидесяти блоков, кристалл на пять миллионов вентилей – около полутора сотен, а при объеме в сто миллионов вентилей число блоков будет уже таким, что проектом станет невозможно управлять. Алгоритмы оптимизации блоков не способны выделить критические сигналы, а простой подбор библиотечных компонентов для локального уменьшения площади и увеличения быстродействия и дополнительная буферизация не позволяют гарантировать достижения высоких характеристик в целом. Технология глобального синтеза, разработанная компанией Cadence, ориентирована в первую очередь на оптимизацию временных параметров синтезируемых устройств, однако предложенные механизмы оказались эффективными и с точки зрения плотности упаковки (утилизации площади) кристалла.
Эксперименты по изучению влияния параметров степени утилизации на результирующие характеристики кристалла показывают, что усилия по увеличению плотности логических элементов на кристалле на этапе логического синтеза эффективны только до определенной границы, после которой наступает насыщение. Возникает эффект "красной зоны" (рис.2). При значении степени утилизации ниже границы красной зоны трассировка и размещение обычно проходят легко и без ошибок. В крайне узкой области красной зоны (всего лишь 3–5%) риск получения ошибок размещения/трассировки резко возрастает, а при уровне утилизации, находящемся за красной зоной, успешная трассировка кристалла практически невозможна. Кроме того, при приближении значения утилизации к красной зоне существенно затрудняются возможности оптимизации временных параметров. С ростом плотности логических вентилей возрастает и плотность внутренних соединений. Возникает порочный круг. Чтобы обеспечить трассировку, необходимо прокладывать обходные, а соответственно более длинные, соединения, что влечет за собой установку дополнительных буферов, которые в свою очередь повышают плотность логических вентилей, и так до бесконечности (рис.3). Таким образом, наиболее перспективный подход – работа на границе красной зоны, ориентированная на увеличение эффективности использования площади кристалла путем сокращения числа буферных элементов и организации более эффективной логической структуры. Как раз на это и направлена методология глобального синтеза.
МЕТОДЫ ГЛОБАЛЬНОГО СИНТЕЗА
Отправная точка всего процесса аппаратной реализации проекта – исходный HDL-код. При создании фрагментов исходного HDL-описания опытные инженеры заранее учитывают то, как это описание будет преобразовано в аппаратную структуру в процессе логического синтеза. Исходный HDL-код задает микроархитектуру фрагментов проекта, и большинство разработчиков избегают пользоваться методами логической оптимизации, которые могут изменить имеющуюся микроархитектуру. Например, использование методов оптимизации, предусматривающих перераспределение фрагментов комбинаторной логики между триггерами, в некоторой локальной области проекта может привести к улучшению результатов. Однако после такой оптимизации требуется проведение дополнительной верификации, поскольку существует вероятность изменения функциональности проекта. Оптимизация глобальной логической структуры не изменяет микроархитектуры проекта и в этом смысле дополняет разработчика, а не навязывает ему свои решения. Кроме того, оптимальная глобальная логическая структура позволяет более четко сформулировать и требования, и область решений при переходе к локальной оптимизации на этапе преобразования в конкретный технологический базис.
Как отмечалось, основным критерием оценки качества логического синтеза сегодня должна быть возможность удовлетворения временных параметров проекта. Однако существующие критерии, такие как количество логических вентилей или число цепей, плохо подходят для этой цели на субмикронном уровне. Наиболее перспективным здесь представляется анализ структуры путей распространения сигнала. С точки зрения быстродействия все пути могут быть разделены на критические и некритические. В критических путях, в свою очередь, выделяются критические и некритические фрагменты. Данные этого анализа – основа для последующего логического синтеза.
Технология глобального логического синтеза с учетом анализа критических цепей включает набор методов оптимизации, которые позволяют уменьшить влияние критических фрагментов на остальную схему и оптимизировать эти фрагменты по быстродействию. Вот несколько примеров используемого инструментария.
Во-первых, в процессе глобальной логической оптимизации критический фрагмент стараются переместить как можно ближе к концу логической цепочки. Цель этой операции – сократить число фрагментов схемы, на которые будет влиять критический участок. Таким образом, в целом минимизируются риски нарушения функциональности.
Во-вторых, критические сигналы стараются по возможности изолировать, избежать нагрузки их некритическими сигналами. В результате критический путь будет включать в основном логические вентили с меньшим количеством входов, малой нагрузочной способностью, но с большим быстродействием (рис.4). Такой способ оптимизации отличается от простого замещения комплексных логических вентилей несколькими уровнями логики (что увеличивает задержку на внутренних соединениях). Здесь выбор логических вентилей происходит с учетом временных характеристик проекта на основе анализа его глобальной структуры. В некритических путях в глобальной логической структуре для снижения количества вентилей и внутренних соединений применяются более сложные логические вентили (например, сумматоры). Поскольку для таких типов вентилей в библиотеке обычно не предусмотрено большого количества вариантов исполнения, то при дальнейшей оптимизации некритических путей используется в основном дополнительная буферизация с целью увеличения нагрузочной способности вентилей.
RTL COMPILER. РЕЗУЛЬТАТЫ
Технологии глобального синтеза были реализованы в рамках инструмента RTL Compiler компании Cadence, входящего в состав платформы Encounter, ориентированной на проектирование цифровых СБИС. Опыт применения этого продукта позволяет говорить об эффективности используемых технологий. На рис. 5 отражено изменение времени синтеза проекта в зависимости от его размеров. Как можно заметить, данная характеристика линейна. Это большое преимущество перед традиционными подходами, поскольку размеры проектов при переходе к технологическим нормам 90 нм и ниже, как уже было сказано в начале, возрастают очень существенно.
Чтобы проиллюстрировать преимущества технологий глобального синтеза, рассмотрим результаты, полученные при проектировании двух устройств, как с помощью традиционных алгоритмов, так и при использовании инструментов глобальной оптимизации системы RTL Compiler.
Первый проект представлял СБИС объемом более десяти миллионов логических вентилей, предназначенную для использования в высокоскоростных сетевых маршрутизаторах. Требуемое быстродействие – 400 МГц. После двух месяцев работы с традиционными алгоритмами логического синтеза (с учетом редактирования HDL-кода, последующим размещением/трассировкой и подготовкой проекта к производству) удалось достичь лишь быстродействия 326 МГц. Оценка быстродействия по результатам логического синтеза в системе RTL Compiler перед выполнением размещения/ трассировки составляла 417 МГц. Надо заметить, что после этапов размещения/трассировки и подготовки проекта в производство реальное быстродействие проекта превышало заданные 400 МГц. При этом на достижение требуемого результата было затрачено всего два дня.
Второй проект представлял собой сетевой процессор объемом 5,4 миллиона вентилей. При использовании традиционных алгоритмов после трех недель работы инженерам удалось достичь результата, для которого оценки быстродействия по результатам логического синтеза укладывались в требуемые рамки. Однако результаты последующего физического синтеза оказались неудовлетворительными. После 108 часов работы с наиболее критичным блоком (300 тысяч вентилей) был получен вариант размещения, при котором параметры быстродействия уже не укладывались в заданные ограничения, и проект завершен не был. После синтеза с использованием системы RTL Compiler, на что потребовалось лишь два дня, средства физического синтеза уже через восемнадцать часов смогли успешно завершить проект.
Конечно, приведенные примеры не претендуют на всеобъемлющее исследование, но они весьма показательны. Во всяком случае, они позволяют говорить, что технологии глобального синтеза для ряда проектов существенным образом улучшают как непосредственно результаты самого логического синтеза, так и условия для проведения последующих этапов проектирования, и, таким образом, обеспечивают достижение высоких характеристик разрабатываемых устройств при значительном сокращении времени проектирования.
Отзывы читателей