Проектирование СБИС типа «Система на кристалле». Маршрут проектирования. Синтез схемы. Часть 1


PDF версия

Предлагаемая статья является первой в небольшом цикле статей, в котором авторы делают скромную попытку отразить опыт проектирования и организации производства СБИС типа СнК с учетом существующего в настоящее время положения дел в отрасли в стране и мире. Предлагаемые решения направлены на резкое сокращение сроков и, соответственно, стоимости разработки.

Как уже отмечали авторы, несмотря на мировой финансовый кризис, перешедший в экономический и затронувший реальный сектор экономики, все-таки прошедший год можно отметить как начало определенного подъема отечественной электроники. Финансируется ФЦП «Развитие электронной компонентной базы и радиоэлектроники» на 2008—2015 гг., активизируется и частный бизнес. В апреле 2007 г. была создана Ассоциация производителей электронной аппаратуры и приборов, реализуется опыт государственно-частного партнерства при строительстве кремниевых фабрик в ОАО «НИИМЭ и Микрон» и ОАО «Ангстрем», проводятся отраслевые выставки и конференции, все больше компаний разрабатывают и выпускают достаточно сложные микроэлектронные изделия в режиме фаундри.

Известно [15], что полупроводниковая промышленность занимает в рыночной мировой экономике уникальное положение, определяемое тем, что она развивается по детально разработанному плану, который, однако, не только не препятствует повышению конкурентоспособности участников, но даже способствует ему. Этот план известен как International Technology Roadmap for Semiconductors (ITRS) и представляет собой план-прогноз, ежегодно обновляемый и публикуемый международной организацией Semiconductor Industry Association (SIA). В основе ITRS лежит несколько простых принципов, в т.ч. закон Мура об удвоении числа элементов СБИС каждые 1,5—2 года. Закон Мура не отражает каких-либо фундаментальных законов природы, а лишь описывает ситуацию, складывающуюся на рынке в результате конкуренции между производителями, а также вследствие взаимного стимулирования радиоэлектронной и полупроводниковой отраслей. Огромную роль играет чисто психологический фактор: разработчики и производители стараются придерживаться прогнозных сроков закона Мура и ITRS, потому что знают, что так же действуют конкуренты. Более того, стремление обогнать конкурентов часто приводит к тому, что производители выводят на рынок новое изделие раньше, чем это предусмотрено ITRS. В результате в наши дни закон Мура, строго говоря, должен формулироваться иначе, поскольку из экспоненциального он превратился в суперэкспоненциальный. Главное значение ITRS состоит в том, что этот документ не только прогнозирует динамику параметров, но и содержит точные указания относительно того, какими конструкторскими и технологическими средствами новые параметры могут быть достигнуты, когда и какие технические средства должны быть разработаны и освоены производством. Таким образом, ITRS является руководством к действию не только для разработчиков приборов, но и для разработчиков техпроцессов и технологического оборудования.

С переходом к проектным нормам глубокого субмикрона (130 нм и далее) в конструировании ИС возникли принципиально новые проблемы. Помимо трудностей технологического свойства, связанных с тем, что традиционная конструкция МОП-транзистора перестает работать из-за различных паразитных эффектов, проявляющихся в малоразмерных конструкциях, возникли проблемы, связанные с программно-аппаратным и методологическим обеспечением процесса проектирования.

Дело в том, что с улучшением проектных норм микроэлектронных изделий возрастает стоимость подготовки производства и, соответственно, цена риска технической и идеологической ошибок.

В настоящее время большинство фирм-разработчиков СБИС является фаблесс-компаниями (т.е. не имеют собственной производственной базы). В этом случае изготовление кристаллов осуществляется на мощностях специализированных кремниевых фабрик, которые предоставляют разработчикам библиотеки для логического синтеза. Собственно специалисты фабрик выполняют окончательную доработку фотошаблонов и изготовление кристалла. В этом случае актуальным становится использование СФ-блоков, которые представляют собой полностью отработанные и разведенные элементы, как правило, используемые в СнК.

В таблице 1 приведена средняя стоимость подготовки производства (изготовление фотошаблонов) и выпуска опытной партии в количестве 10—12 пластин (т.н. «инженерный лот») на фабриках Юго-Восточной Азии (X-fab Sarawak, Siltera и т.д.) с учетом доставки в Росиию, а также налоговых и таможенных платежей. Конечно, цены имеют тенденцию снижения и колеблются в зависимости от конкретной технологии, фабрики, сроков и т.д.

 

Табл. 1. Средняя стоимость подготовки производства

Технология, мкм

Стоимость запуска тестовых кристаллов (шаттлов), тыс. долл.

Стоимость подготовки производства (комплект фотошаблонов), тыс. долл.

Стоимость 1-й пластины при серийном производстве без учета корпусирования, долл.

Ориентировочное кол-во кристаллов с одной пластины при типовом размере кристалла 3×4 мм по технологии 0,18 мкм, шт. (выход годных выше 93%)

0,25

40

100

1200

1100

0,18

60

180

1200

1900

0,13

90

350

1300

3300—5000

0,09

1200

600

1400

6300—9000

 

Тенденция уменьшения проектных норм в первую очередь связана со стремлением получить как можно больше кристаллов с одной пластины, поскольку ее стоимость составляет 1200—1800 долл. При этом с уменьшением размера кристалла в два раза выход увеличивается в четыре. Выход годных кристаллов не зависит от минимального размера, а с уменьшением размеров элементов увеличивается съем кристаллов с пластины, и они становятся дешевле. В то же время растут затраты на подготовку производства. Таким образом, разработчик массовой аппаратуры оказывается под дамокловым мечом ответственности за принимаемые проектные решения.

Значительно возрастает сложность процесса проектирования. При использовании традиционных методов проектирования хороший разработчик может выполнять проект со средней скоростью порядка 100 вентилей в день, или 30 строк RTL-кода. В этом случае, чтобы спроектировать СБИС сложностью 100 тыс. вентилей, потребуется 1000 человеко-дней, т.е. команда из пяти человек сможет разработать такую СБИС в течение года. Следуя данной логике, чтобы разработать сложную СБИС порядка 10 млн. вентилей в течение одного года, потребуется команда из 500 человек, что неприемлемо с точки зрения стоимости разработки.

Таким образом, «количество переходит в качество» — требуются совершенно новые приемы и стандарты при проектировании и подготовке производства. Ниже мы рассмотрим маршрут проектирования СБИС и его основные проектные процедуры.

Для успешного выполнения любого сложного проекта необходимо организовать его иерархическую декомпозицию — выделить простые составные части. Иерархическое деление проекта возможно в двух направленияx — снизу-вверх и сверху-вниз — и базируется на концепции абстракции проекта.

В процессе разработки выделяются различные уровни абстракции в зависимости от стадии проектирования от идеи до производства. Так, на рисунке 1 показано, что, в зависимости от уровня представления, объектом абстракции является система, регистр, вентиль, геометрия библиотечного элемента на кристалле.

 

Рис.1. Уровни абстракции проекта


Системный уровень описания (system-level description) проекта состоит из поведенческого описания в терминах функций, выражений, алгоритмов. На уровне регистровых передач (register transfer level) проект представляется совокупностью арифметических и логических узлов, элементов памяти и т.д. Вентильный или логический уровень (logic level) описывает проект на уровне логических вентилей (logic gates) и триггеров (flip-flops). В этом случае поведение схемы можно описать системой логических уравнений. Эти логические элементы представляются на кремниевом (топологическом) уровне (geometric level) в виде топологических элементов и межсоединений.

На рисунке 1 представлено поведенческое описание как начальный уровень абстракции, который отражает функциональные возможности проекта на системном уровне. Уровень регистровых передач включает компоненты и межсоединения между ними. Для большего количества сложных систем он может также включать типовые элементы типа ПЗУ, СБИС. Вентильный (логический) уровень соответствует представлению уровня логического элемента. Набор шаблонов топологических элементов кристалла соответствует геометрическому уровню. Следует обратить внимание на следующие моменты, показанные на рис. 1. Во-первых, на нем отражены основные проектные процедуры и используемые средства САПР в зависимости от уровня представления проекта и, соответственно, уровня детализации. Во-вторых, этот процесс синтеза состоит из процессов поведенческого синтеза (behavioral synthesis), логического синтеза (logic synthesis) и физического синтеза топологии (physical synthesis). В дальнейшем изложении мы рассмотрим данные этапы подробнее.

Эти различные уровни представления проекта различаются типом отображаемой ими информации, поэтому их можно отнести к поведенческому, структурному и физическому типам.

Маршрут проектирования (design flow) определяет этапы проектных процедур, используемых на всех стадиях разработки — от представления и формализации идеи до тестирования готовых образцов.

Традиционно при проектировании специализированных БИС используется нисходящая модель маршрута проектирования (waterfall model). При такой организации маршрута проект проходит различные фазы, постоянно увеличивая детализацию представления. Нисходящее проектирование подразумевает минимальное взаимодействие между командами разработчиков на различных фазах проекта. Процесс начинается с разработки технических требований (specification), их последующего анализа, проведения предварительного моделирования с помощью специализированных пакетов или на языке высокого уровня (например, C).

Следует отметить, что несмотря на широкий набор инструментов моделирования, при проектировании СБИС для обработки сигналов задача моделирования усложняется необходимостью разработки не только модели системы, но и модели тестовых воздействий с учетом шумов, эффектов квантования и особенностей тракта. На выходе первого этапа должна быть выполнена полная функциональная проверка технических требований.

На следующем этапе осуществляется описание проекта с помощью одного из языков описания аппаратуры, как правило VHDL или Verilog, на уровне регистровых передач (register transfer level, RTL).

Функциональные возможности описания на уровне регистровых передач моделируются и верифицируются относительно исходных технических требований, например, модель на C или в MatLAB, которая используется как эталонная модель (golden model) для верификации проекта на каждом уровне абстракции. Данный этап называется функциональной верификацией модели.

По описанию на уровне RTL с помощью программы логического синтеза формируется список цепей (gate level netlist), который учитывает задержки на библиотечных элементах (но, как правило, не учитывает временные задержки на межсоединениях) и используется для временной верификации проекта (timing verification). Цель временного моделирования — проверить, удовлетворяет ли разрабатываемая БИС заданным временным ограничениям (timing constraints).

На основании данных синтеза топологи (physical design team) разрабатывается и оптимизируется разводка кристалла (floorplan) путем размещения библиотечных элементов и межсоединений неким оптимальным образом. После разработки топологии можно повторно выполнить формирование файла задержек и последующее временное моделирование, учитывающее влияние межсоединений. Затем кристалл можно передавать в производство и осуществлять последующее тестирование образцов.

Недостаток этой методологии проектирования в том, что с увеличением сложности проекта увеличивается опасность появления ошибок и затрудняется процесс их поиска. Более того, насколько удовлетворяет разрабатываемая БИС предъявляемым к ней требованиям, становится понятно только в самом конце процесса проектирования. Ошибки, обнаруженные в конце той или иной стадии проектирования, ведут к повторному ее выполнению, что в ряде случаев влечет за собой неоднократный выпуск прототипов (shuttles), приводит к значительному замедлению сроков выполнения проекта и резко повышает его стоимость.

Технические требования к проекту представляются его поведенческой моделью (behavioral model), которая определяет временные ограничения, ограничения по площади кристалла и потребляемой мощности, тестопригодность и т.д. Такая модель обычно задается в форме выполнимых функциональных описаний на языке типа C (или C++). По этим описаниям затем выполняется моделирование для широкого набора входных воздействий.

Маршрут синтеза СФ-блока (проектирование Front-End) представлен на рис. 2. На начальной стадии декомпозиция выполняется на основе системных требований для определения выполнимости технических требований, стиля используемого проектирования, фабрики (foundry), на которой планируется выпуск, технологического процесса, библиотек и т.д. Некоторые другие параметры типа вида корпуса, рабочей частоты, число контактных площадок на кристалле, площадь, размер и вид используемой памяти также оцениваются на этом этапе. Традиционно ввод простых проектов выполняется после окончания проекта архитектуры более высокого уровня.

 

Рис. 2. Маршрут проектирования СФ-блока

В качестве средства ввода проекта используются языки описания аппаратуры высокого уровня (hardware description languages, HDL) для задания начальных технических требований системы. В существующих методологиях проектирования специализированных интегральных схем, используемых в промышленности, на языках описания аппаратуры обычно описываются проекты на уровне межрегистровых пересылок. Однако в последнее время стала пользоваться популярностью методология Specify-Explore-Refine (methodology for system design — «описал — опробовал — доделал»). После этапа постановки задачи (спецификации исходных требований), на стадии ее выполнения, происходит оценка различных элементов системы для реализации функциональных возможностей в пределах указанных конструктивных ограничений. Технические требования модифицируются на стадии доводки проекта в соответствии с решениями, выполненными на стадии реализации.

Эта методология ведет к лучшему пониманию функциональных системных возможностей на очень ранней стадии в процессе проектирования. Выполнимость технических требований целесообразно проверять на правильность функциональных возможностей изделия и пригодность для автоматической проверки. Рабочие технические требования легко моделируются, и та же самая модель может использоваться для синтеза. Обычно производят проверку функциональных моделей на языках C или C++ после завершения моделирования — проект вручную снова вводится в инструментальные средства САПР с использованием языков описания аппаратуры.

Таким образом, выбор языка для ввода описания системы является областью самых активных дискуссий и исследований. Недаром вопросы о том, какой из языков описания лучше, остаются актуальными в интернет-форумах и у нас в стране, и за рубежом.

Существует несколько следующих принятых стандартов поведенческого описания работы системы.

1. Использование при описании элементов из стандартной библиотеки программы (SPW).

2. Описание с помощью высокоуровневых моделей СФБ на языках программирования C, C++.

3. Описание на языках VHDL, Verilog, SystemC.

4. Поведенческое описание, представленное в виде математической модели (например, в формате программного пакета MATLAB).

На начальном этапе также разрабатывается системная модель, включающая в себя поведенческое описание и окружение разрабатываемой системы, что позволяет отразить взаимодействие СБИС с другими элементами аппаратуры или объектами измерений.

При наличии системной модели можно разделить проект на аппаратную и программную части, а также подготовить спецификацию для этапа функционального проектирования. На основе этой модели оцениваются и основные физические параметры разрабатываемой микросхемы: число выводов, потребляемая мощность, площадь кристалла. Для этого существуют программы прогноза, которые основаны на статистике завершенных проектов и дают погрешность до 20% для освоенных технологий.

Для верификации разработанной системной модели необходимо создать тестовое окружение. Оно, как правило, включает в себя генераторы входных сигналов и блоки отображения выходной информации. Необходимо, чтобы тестовое окружение позволяло полностью верифицировать правильность функционирования системы. При составлении набора тестовых сигналов следует обратить внимание на то, чтобы тест покрывал все возможные состояния схемы.

Верификация разработанной системной модели должна выполняться путем компьютерного моделирования. Если в процессе верификации обнаружены какие-либо отклонения от требований системной спецификации, следует скорректировать поведенческую модель и повторить моделирование.

Системная верификация осуществляется одновременно с системным проектированием и связана с ним в единый итерационный цикл. При верификации проводится анализ архитектуры, возможности разработки недостающих СФБ и совместимость имеющихся, возможности разработки прикладных программ и требования к ним [8]. Также проводится проверка единства среды проектирования и совместимости модулей САПР, наличие средств управления данными и документирования проекта. На этом этапе выполняется сравнение результатов прогноза основных технических параметров с требованиями технического задания, а также оценивается себестоимость изделия.

Работа завершается подготовкой частных технических заданий на составляющие программные и аппаратные части проекта. В дальнейшем работа над этими частями может вестись параллельно.

Синтез поведенческого описания проводится в два этапа стандартными средствами САПР, имеющимися на рынке. Входными данными являются поведенческое описание и набор ограничений, определяемых пользователем с учетом специфики конкретного проекта.

На первом этапе из поведенческого описания получается RTL-описание (см. рис. 3).

 

Рис. 3. Синтез RTL-описания из поведенческого описания

Кроме того, важной функцией синтезатора является оптимизация всей схемы с учетом специфических особенностей.

Рассмотрим основные ограничения, которые передаются на данный этап синтеза (см. табл. 2).

Логический синтез — процесс автоматизированного создания электрической (логической) схемы на базе RTL-описания и библиотек элементов логического уровня от производителя СБИС. Генерация выполняется в автоматизированном режиме под управлением разработчика. Для логического синтеза с этапа RTL-синтеза переходит описание на языке Verilog в элементах стандартной библиотеки, не привязанных к конкретному производству [511].

На втором этапе синтеза производится синтез списка соединений Verilog из RTL-описания, полученного на первом этапе. При синтезе используется набор базовых элементов, предоставляемый фабрикой-производителем микросхем (см. рис. 4).

 

Рис. 4. Логический синтез

Рассмотрим основные ограничения, которые передаются на этот этап синтеза. Данные ограничения также транслируются по маршруту для дальнейшего физического синтеза схемы (см. табл. 3).

 

Табл. 2. Основные ограничения при синтезе RTL-описания из поведенческого описания

Syn_opt_goal

SPEED/AREA

SPEED — синтезатор создает схему по поведенческому описанию, оптимальную с точки зрения скорости работы AREA — синтезатор создает схему по поведенческому описанию, оптимальную с точки зрения занимаемого на кристалле места

Syn_max_fanout

Натуральное число

Задается максимальное число приемников для одной логической цепи

Syn_state_machine

One-hot, Gray, and Sequential

Выбирается метод синтеза конечных автоматов

Syn_trim_logic

ON/OFF

ON — синтезатор занимается оптимизацией логики и сворачивает избыточные элементы

Syn_sharing

ON/OFF

ON — позволяет синтезатору использовать те же ресурсы кристалла для обработки взаимоисключающих состояний

Syn_keep

Имя объекта

Не позволяет синтезатору заниматься какой-либо оптимизацией внутри названного объекта

 

Табл. 3. Параметры физического синтеза схемы

Синтаксическое обозначение вводимого ограничения

Возможные значения параметров

Вводимое ограничение

Set_max_delay

Время, пс

Ограничение на время распространения сигнала между базовыми логическими элементами, формирующими один самосинхронный логический элемент

Set_rloc

Относительные координаты элементов

Ограничение на взаимное расположение базовых логических элементов, формирующих один самосинхронный логический элемент на кристалле микросхемы

Set_wireloadmodel

Название модели

Модель проводов, используемая при физическом синтезе схемы

 

Вся информация передается далее по маршруту в виде двух файлов: один — в формате *.v содержит список соединений Verilog, второй — текстовый, который содержит информацию о временных ограничениях и ограничениях на взаимное расположение, наложенных синтезатором (STA-скрипты и P&R-hints).

Вентильная верификация обычно сводится к статистическому временному анализу списка цепей, полученному в результате логического синтеза. В отдельных случаях, когда размерность списка цепей невелика, можно выполнять моделирование на вентильном уровне.

Временной анализ проводится в том же программном пакете, что и логический синтез с уже подключенными библиотеками стандартных ячеек фабрики, на которой будет изготавливаться кристалл. Кроме того, для временного анализа подключаются ограничения, полученные на этапе синтеза, и виртуальная модель проводов, т.к. физические проводники еще отсутствуют и их реальные параметры неизвестны.

Моделирование системы на поведенческом уровне на языках VHDL/Verilog позволяет проверить работу функциональной модели, получить временные диаграммы работы СФБ и системы в целом, оценить основные динамические параметры СнК. Электрическая модель на транзисторном уровне не пригодна для детального моделирования СнК. Такая модель включает сотни тысяч и миллионы элементов и требует сотен и тысяч часов работы компьютера. Модель на транзисторном уровне используется для проверки задания на разработку топологии и для физической верификации проекта. В состав САПР многих фирм входят специальные программы — скоростные симуляторы. В этих программах используются упрощенные модели транзисторов и приближенные быстродействующие алгоритмы. При расхождении результатов в 10—20%, по сравнению с точной моделью, скорость вычислений увеличивается в сотни раз [11, 12].

Таким образом, мы рассмотрели ту часть маршрута проектирования, которая предшествует разработке топологии СБИС и обычно называется Front-End design. В следующей статье мы рассмотрим вопросы проектирования топологии и физической верификации СБИС

 

Литература

1. Стешенко В.Б., Руткевич А.В., Бумагин А.В., Гулин Ю.Ю., Воронков Д.И., Гречищев Д.Ю., Евстигнеева Е.В., Синельникова М.В. «Опыт разработки СБИС типа СнК на основе встроенных микропроцессорных ядер» — Компоненты и технологии, 9, 2008.

2. Немудров В., Мартин Г., «Системы-на-кристалле. Проектирование и развитие», М.: Техносфера, 2004.

3. Жан М. Рабаи, Ананта Чандракасан, Боривож Николич, «Цифровые интегральные схемы. Методология проектирования», 2-е изд.: пер. с англ. — М.: ООО «ИД Вильямс», 2007.

4. Бухтеев А.В., «Методы и средства проектирования систем на кристалле», Chip news, 2003 г., №4, стр. 4—14.

5. N.H. Weste, K. Eshraghian, Principles of CMOS VLSI design. A systems perspective, Addison-Wesley publishing company, 1994.

6. S. Rubin, Computer aids for VLSI design, Addison-Wesley publishing company, 1994.

7. A.P. Chandrakasan, R.W. Brodersen, Low power digital CMOS design, Kluwer Academic publishers, 1998.

8. A.P. Chandrakasan, W.J. Bowhill, F. Fox, Design of high-performance microprocessors circuits, IEEE Press, 2001.

9. A.S. Abidi, P. G. Gray, R. G. Meyer, Integrated circuits for wireless communications, IEEE Press, 1999.

10. R. Doering, Y. Nishi, Limits of integrated circuit manufacturing, Proceedings of the IEEE, v. 89, №3, p. 375—393, 2001.

11. R.E. Bryant, K.-T. Cheng, A.B. Kahng, et al., Limitations and challenges of computer-aided design technology for CMOS VLSI, Proceedings of the IEEE, v. 89, №3, p. 341—362, 2001.

12. H. Chang, L. Cooke, M. Hunt, et al., Surviving the SOC revolution: A guide to platform-based design, Norwell. MA: Kluwer, 1999.

Оставьте отзыв

Ваш емейл адрес не будет опубликован. Обязательные поля отмечены *