Новое поколение средств физического синтеза IC Compiler компании Synopsys
ВОЗНИКНОВЕНИЕ И РАЗВИТИЕ СРЕДСТВ ФИЗИЧЕСКОГО СИНТЕЗА
Изначально в системах логического синтеза для получения работоспособного с точки зрения временных ограничений варианта логической схемы достаточно было использовать модели соединений, в которых оценка задержки прохождения сигналов определялась нагрузочной способностью источников и количеством подключенных к ним приемников. Однако при переходе к проектными нормам ниже 0,35 мкм даже усовершенствованные методы оценки задержек на базе учета нагрузочных способностей элементов для многих проектов уже не позволяли обеспечить удовлетворительное качество результатов синтеза.
В 1998 году компания Synopsys предложила решение этой проблемы в рамках методологии физического синтеза. Первое поколение инструментов физического синтеза объединило средства логического синтеза и размещения (рис.1). Благодаря разрушению барьера между этими этапами проектирования удалось достичь улучшения временных характеристик разрабатываемых устройств, достаточного для обеспечения работоспособности большинства самых современных для того времени проектов.
Действительно, для проектов с технологическими нормами от 0,25 мкм до 90 нм влияние размещения на результирующие временные характеристики наиболее значительно (рис.2), а вклад трассировки и цепей синхронизации не столь велик. Однако при уменьшении технологических норм ниже 90 нм ситуация меняется (рис. 3): увеличивается влияние трассировки и синхроцепей на временные характеристики устройств, усложняется процесс их производства. Поэтому в орбиту средств физического синтеза должны быть вовлечены и трассировка, и синтез цепей синхронизации. Необходимо учитывать и другие факторы, обеспечивающие работоспособность и стабильный выход годных кристаллов. Ниже приведен перечень основных факторов, которые влияют на изменение приоритетов в процессе проектирования при переходе к технологическим нормам ниже 90 нм.
Увеличение размера проектов. При увеличении размера проектов (а средний размер проектов уже достигает 5 млн. логических вентилей) возрастает число используемых элементов. Неоптимальное размещение элементов может привести к возникновению очень длинных соединений.
Использование макроячеек (IP-блоков). Число IP-блоков возросло от десяти (и менее) до ста (и более). Соединения вынуждены обходить макроячейки, в результате длина их увеличивается. Вблизи углов макроячеек возникают "горячие точки" из-за концентрации соединений. Специальные инструменты трассировки должны учитывать эти особенности.
Проектирование цепей синхронизации (clock tree). Цепи синхронизации и система управления ими в современных проектах требуют значительных ресурсов. Фактически это четверть площади кристалла и треть потребляемой мощности. Оптимизация системы управления подачей тактовых сигналов позволяет значительно улучшить характеристики проекта в целом.
Встроенные средства тестирования (DFT). Сегодня при проектировании сканирующих тестовых цепей необходимо решать две основные задачи – соблюдать параметры времени установки и времени удержания заданных тестовых состояний при проверке устройства на его рабочей частоте. Причем ошибки, связанные с несоблюдением времени удержания, наиболее критичны. Если ошибки установки тестовых состояний обычно исчезают при переходе на более низкую тактовую частоту, то нарушение времени удержания фатально и требует перепроектирования.
Слои трассировки, сопротивление переходов (via resistance), электромиграция (electromigration) и др. Уже в проектах с технологическими нормами 130 нм число трассировочных слоев возрастает от 3–4 до 8–9, происходит переход к использованию меди для реализации соединений. Задержка в соединениях становится основным фактором, определяющим производительность и выход годных. Для норм 90 нм и ниже трассировка должна проводиться с учетом логической оптимизации, оптимизации размещения элементов и проектирования цепей синхронизации. Сегодня уже недостаточно оценки задержки на базе длины соединений, модели должны учитывать и более тонкие эффекты, такие как различие электрических характеристик трассировочных слоев (сопротивление может различаться в пять раз), сопротивление межслойных переходов, индуктивность и др. Современные многослойные, низкопотребляющие проекты требуют более аккуратного управления использованием различных слоев трассировки. Неправильное распределение трассировочных слоев может приводить к потере целостности системы питания из-за падения напряжения питания (IR drop) или электромиграции (которая в конце концов приводит к выходу кристалла из строя). Сегодня при трассировке должны учитываться и электромиграция, и все паразитные эффекты, влияющие на правильность функционирования устройства (зависимость электрических характеристик соединений от назначения слоев, сопротивление межслойных переходов, перекрестные помехи и шумы). Кроме того, должны быть учтены специфические правила субмикронного производства, несоблюдение которых снижает выход годных.
В средствах физического синтеза нового поколения должна быть обеспечена комплексная оптимизация проекта на любой стадии разработки топологии (размещение, синтез цепей синхронизации, трассировка) с учетом всех названных факторов. Компания Synopsys сделала первый шаг в направлении создания новейших средств расширенного физического синтеза, выпустив осенью 2005 года систему IC Compiler. В этом продукте продолжена традиция устранения барьеров между различными этапами проектирования (рис.4). Основное достижение разработанной компанией технологии расширенного физического синтеза (eXtended Physical Synthesis, XPS) – возможность на любом этапе проектирования (размещение, проектирование синхроцепей, трассировка, адаптация под требования конкретного производства) провести логическую оптимизацию или заново синтезировать логическую схему для любой части устройства. Применение этой технологии кардинальным образом расширяет возможности оптимизации проекта за счет обеспечения большей гибкости при выборе вариантов решения и возможности учета всех основных факторов, влияющих на работоспособность проекта.
IC COMPILER – КОМПЛЕКСНАЯ ОПТИМИЗАЦИЯ ПРОЕКТА
Система IC Compiler объединяет большой набор инструментов, методов анализа и оптимизации на всех этапах проектирования – от логического синтеза до адаптации проекта для конкретного производства (технология XPS). Методы комплексной оптимизации на верхних уровнях построены с учетом требований трассировки, целостности сигналов и условий последующего производства. Если какие-либо из ограничений не выполняются, то всегда можно вернуться на предыдущие этапы и реализовать их с учетом данных об имеющихся нарушениях. Важно, что все этапы объединены, и для устранения нарушений может быть задействован любой из имеющихся инструментов (локальное изменение трассировки, выбор другого варианта размещения или изменение логической схемы). Изменения могут проводиться инкрементально, чтобы устранение одних нарушений не приводило к возникновению других. По результатам анализа уже готовой физической реализации можно провести модернизацию проблемного фрагмента проекта, которая, если необходимо, будет включать и оптимизацию логической схемы, и переразмещение, и коррекцию соединений. Поскольку учет соединений становится решающим фактором при проектировании современных СБИС, то такая сквозная оптимизация в первую очередь направлена на управление соединениями. Важно, что при оптимизации соединений учитываются система управления тактовыми сигналами и элементы цепей сканирования. Оценка характеристик проводится по реальной конфигурации соединений, электрических параметров используемых слоев и межслойных переходов. Для временной оценки и экстракции реальных физических параметров на всех этапах оптимизации используются, соответственно, такие средства компании Synopsys, как системы PrimeTime и Star-RCXT, которые в настоящее время являются промышленными стандартами.
Чтобы как-то проиллюстрировать комплекс проблем, решаемых при оптимизации проекта в системе IC Compiler, рассмотрим некоторые встроенные механизмы, ориентированные на минимизацию энергопотребления. Обычно наиболее важными с точки зрения потребляемой мощности являются соединения тактовых цепей, поскольку они достаточно длинные (обладают большой емкостью), и сигналы в таких цепях часто переключаются. Поэтому уже на этапе размещения система анализирует структуру цепей синхронизации и проводит группировку соответствующих регистров (рис. 5). Причем при группировке не просто по возможности минимизируется суммарная длина соединений, но учитывается также и потенциальное влияние каждого соединения на характеристики схемы, в том числе и на энергопотребление. Например, кроме временных ограничений принимается во внимание и частота переключения сигналов в цепи (для уменьшения энергопотребления важно минимизировать емкость соединений цепей, в которых происходит частое переключение сигналов). Информация о частоте переключений передается с этапа функциональной верификации в формате SAIF (Switching Activity Interchange Format).
Другой, пожалуй наиболее эффективный, механизм уменьшения энергопотребления – управление подачей синхросигналов. Неработающие в текущий момент регистры отключаются от синхросигнала с помощью специальных элементов управления подачей синхросигнала (ЭУПС). На рис. 6 представлены три варианта установки ЭУПС в дереве синхроцепи. Типичное решение, которое применяется обычно – установка ЭУПС ближе к крайним листьям дерева (рис. 6а). Энергопотребление снизится, если переместить управляющие элементы ближе к корню дерева (рис. 6б). Однако в этом случае могут возникнуть проблемы с соблюдением временных ограничений (из-за увеличения значения времени Dt за счет дополнительных компонентов и соединений), поэтому традиционно используется первое решение. Учет данных о логической структуре схемы, размещении регистров и о трассировке позволяет найти компромиссное решение (рис. 6в), в котором перемещение ЭУПС все же реализуется, но только в тех ветвях дерева, где это не приводит к нарушению временных ограничений.
Без комплексного использования данных о физической реализации, логической структуре и функционировании схемы практически невозможно обеспечить разработку такого управления синхросигналами, которое позволило бы добиться сглаживания пиков потребления, возникающих при одновременном переключении регистров. Чтобы сгладить пики, надо подавать синхросигналы на регистры с некоторым временным разбросом, который не приводил бы к нарушению функционирования схемы.
И конечно же, говоря об оптимизации энергопотребления, необходимо упомянуть о таком традиционном механизме, как использование элементов с более низким энергопотреблением (но и менее быстродействующих) в некритичных с точки зрения временных характеристик цепях. Использование данных о реальных задержках позволяет расширить возможности использования таких элементов в схеме без нарушения требуемых временных параметров.
Минимизация энергопотребления – лишь один из элементов сквозной оптимизации характеристик проектируемого устройства, при которой учитывается множество различных факторов. И конечно, в процессе такой комплексной оптимизации по-прежнему большое внимание уделяется повышению быстродействия устройства и уменьшению площади кристалла, поиску оптимального варианта компромисса между этими и другими, как правило противоречивыми, требованиями. Важно, что хотя процедуры проектирования с использованием средств системы IC Compiler по сути автоматические, разработчик может влиять на получаемый результат, определяя последовательность процедур и задавая параметры оптимизации. Если по каким-то причинам не устраивают настройки "по умолчанию", пользователь может перенастроить систему, используя порядка двух десятков базовых параметров (рис.7) и более сотни дополнительных, охватывающих весь спектр характеристик, включая те, которые обусловлены требованиями конкретного производства. Настройки и последовательность выполнения процедур можно задать в интерактивной графической среде Galileo, а также с помощью языка TCL (Tool Command Language).
На любой стадии процесса проектирования с помощью системы временного статического анализа PrimeTime и системы экстракции RLC параметров Star-RCXT можно провести оценку характеристик синтезируемого устройства. Средства визуализации Galileo позволяют представить результаты оценки в удобном для анализа виде, например в виде диаграммы распределения задержек по кристаллу, в том числе и задержек, обусловленных взаимовлиянием соседних проводников (crosstalk) (рис. 8,9). Режим фотореалистической визуализации TrueVue позволяет отображать не только топологию (рис. 10), но и, например, распределение температуры или энергопотребления на кристалле. Предусмотрены инструменты автоматического размещения макроячеек и интерактивной планировки кристалла. Помимо этого, система IC Compiler сопряжена со всеми продуктами платформы Galaxy компании Synopsys (IC Compiler входит в состав этой платформы), а также с библиотекой IP-блоков DesignWare.
Первая версия системы IC Compiler компании Synopsys вышла в свет всего несколько месяцев назад. По анонсам, ее использование позволяет достигать 40%-ного сокращения сроков проектирования и добиваться улучшения характеристик проекта в среднем на 10–15%. Наш опыт применения системы, полученный на этапе бета-тестирования, подтверждает эти данные. И думается, что это только первый шаг, система будет развиваться, поскольку альтернативы комплексному подходу для проектов на базе технологии 90 нм и ниже нет.