Проектирование СБИС типа СнК. Маршрут проектирования. Топологическое проектирование. Синхронизация и тактовые деревья. Часть 2


PDF версия

Во второй статье цикла рассматриваются вопросы разработки топологии СБИС типа СнК с учетом как ограничений технологий, так и особенностей архитектуры схемы. Особое внимание уделено вопросам синхронизации схемы. Первая часть была опубликована в ЭК № 1 2009 г.

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

 

Рис. 1. Маршрут разработки топологии

Для конструкторско-технологического проектирования топологии СБИС СнК используется специализированное программное обеспечение SoC Encounter, Olympus-SoC.
Этапы разработки топологии можно свести к следующим:
– импорт исходного списка цепей (Verilog net-листа);
– задание временных ограничений (STA-скриптов);
– задание ограничений на расположение компонентов проекта (P&R hints);
– подключение к проекту технологических библиотек и СФ-блоков;
– размещение компонентов проекта и шин питания и «земли» (floorplan);
– размещение стандартных ячеек библиотеки фабрики (place);
– трассировка сигнальных цепей (nanoroute);
– доработка проекта согласно требованиям производства.
В начале разработки топологии ССМ разработчик передает топологу файл после логического синтеза — Verilog нет-лист (*.v), временные ограничения (STA-скрипты), полученные на этапе синтеза ССМ, и ограничения на расположение компонентов проекта (P&R hints) (см. рис. 2).

 

Рис. 2. Разработка топологии

Для упрощения и систематизации процесса проектирования, на этапе разработки топологии вводится дополнительный этап создания физического виртуального прототипа. Физический виртуальный прототип микросхемы — это оценочная модель и предварительный топологический план кристалла микросхемы. Физический виртуальный прототип разрабатывается одновременно с функциональной моделью. На его основе рассчитываются размеры кристалла, уточняются требования к системам электропитания и синхронизации, делаются оценки потребляемой мощности и параметров линии связи. Прототип позволяет достаточно точно детализировать функциональную модель без трудоемкой разработки полной топологии кристалла. Задачей построения физического виртуального прототипа является оценка площади будущего кристалла микросхемы, оценка предварительного топологического размещения блоков, оценка разводки шин питания. При правильном выполнении расчетов при дальнейшем проектировании топологии не потребуются изменения в первоначальном топологическом плане кристалла и функциональной модели.
Если в состав СнК входят аналоговые блоки, то разработку топологии аналоговых блоков и их подключение к цифровой части необходимо осуществлять вручную. Важнейшая задача физического проектирования аналоговых блоков — снижение уровня помех — решается путем уменьшения плотности размещения элементов и сигнальных связей. Для трассировки используются только два-три слоя металлических соединений (металлов), на остальных слоях металлов размещают экраны и шины питания. Снижение подложечных шумов достигается введением охранных колец, соединенных (заземленных) с подложкой. Охранные кольца должны окружать каждый транзистор и каждый аналоговый блок [3, 4].
Отдельное внимание стоит уделить толщине проводников, соединяющих элементы СнК. Тонкие проводники имеют большое сопротивление и вносят существенный вклад в задержку сигнала. Для длинных связей используется обратное масштабирование проводников — чем длиннее проводник, тем он шире. Правила выбора ширины рассчитываются из требуемого быстродействия линий связи и удельных параметров проводников. Для выравнивания задержек по сигнальным шинам используется буферизация с использованием регенераторов сигналов.
Специальные правила используются для линий связи аналоговых и высокочастотных сигналов. Обязательно экранирование сигнальных проводников шинами питания. Высокочастотные сигналы необходимо передавать по двум проводникам с противофазными уровнями напряжения. Для высокоскоростных цепей требуется согласование импедансов приемников, передатчиков и линий связи.
Расфазировка и дрожание тактовых импульсов в цифровых схемах — серьезные проблемы, способные ограничить быстродействие цифровой системы. Поэтому цепь тактовых импульсов проектируется так, чтобы влияние обоих факторов было минимальным. Особое внимание уделяется рассеянию мощности. В большинстве высокоскоростных цифровых схем основным источником рассеяния мощности является цепь разводки тактовых сигналов. Для снижения рассеяния необходимо предусмотреть возможность выключения фрагментов цепи тактовых импульсов. Подобная селекция дополнительно увеличивает неопределенность тактовой частоты.
При выборе структуры цепи тактовых импульсов доступно много степеней свободы, в т.ч. можно выбирать тип материалов проводников, топологию и иерархию схемы, относительные размеры проводов и буферов, время нарастания и спада, а также секционирование емкостей нагрузки.
Схемы цепей тактовых сигналов обычно включают цепь, которая применяется для доставки глобального опорного сигнала в различные части кристалла и в последний каскад, отвечающий за локальное распределение тактовых сигналов с учетом локальных колебаний нагрузки. В большинстве схем распределения тактовых сигналов абсолютная задержка распространения от центрального источника тактовых импульсов несущественна, значение имеет лишь разность фаз между двумя синхронизируемыми точками. Следовательно, одним из наиболее распространенных подходов к распределению тактовых сигналов является использование сбалансированных путей (деревьев). Наиболее распространенным типом схемы распределения тактовых импульсов является Н-дерево (см. рис. 3).

 

Рис. 3. Пример Н-дерева — цепи распределения тактовых импульсов для 16 узлов-листьев

В первую очередь тактовый сигнал подается в центр кристалла. Затем по сбалансированным путям, включающим согласованные соединения и буферы, в различные узлы-листья распространяется эталонный сигнал. В идеальном случае, если путь отлично сбалансирован, расфазировка тактовых импульсов равна нулю. Хотя на распространение сигнала от центральной точки к каждому конечному узлу может требоваться несколько тактов, на все узлы тактовые сигналы поступают одновременно. В реальности из-за разбросов процесса и условий окружающей среды в схеме возникают расфазировка и дрожание.
Конфигурация «Н-дерево» применяется в схемах, основанных на регулярных структурах, где все элементы идентичны и разводку тактового сигнала можно сделать в виде двоичного дерева. Описанную концепцию можно обобщить в согласованных RC-деревьях — компоновочном плане, позволяющем так распространить тактовые сигналы, чтобы межсоединения, по которым проходят тактовые сигналы к функциональным субблокам, имели одинаковую длину. Таким образом, общий подход не предполагает наличие правильной физической структуры.
Альтернативный подход к распределению тактовых сигналов представляет сетчатая структура, показанная на рисунке 4.

 

Рис. 4. Сетчатые структуры распределения тактового сигнала

Сети обычно используются в последнем каскаде цепи разводки тактовых импульсов для распределения тактовых сигналов синхронизируемым локальным нагрузкам. Данный подход полностью отличается от подхода с использованием сбалансированных RС-деревьев. Основное отличие заключается в том, что задержки оконечного усилителя, вызванные всеми нагрузками, не согласовываются. Вместо этого минимизируется абсолютная задержка в предположении, что размер сетки мал.
Основным достоинством подобной сетчатой структуры является то, что она позволяет вносить в проект изменения на более поздних стадиях разработки, поскольку тактовый сигнал легко провести в любую точку кристалла. Благодаря этому происходит сравнительно большое рассеяние мощности, поскольку структура имеет много лишних межсоединений.
Как правило, цепь тактовой синхронизации сложных СнК проектируется в виде древовидной структуры. Но в отличие от «классических» согласованных RC-деревьев, синхронизации добиваются не выравниванием длины проводников цепи (что затруднительно в сложных проектах), а согласованием задержек, возникающих при прохождении тактовых импульсов до потребителей, расположенных в различных местах кристалла. Разводчик автоматически определяет наиболее длинную цепь, и, вводя дополнительные усиливающие буферы и элементы задержки (имеются в библиотеке элементов) в более короткие цепи, добивается синхронного прихода тактовых импульсов.

 

Рис. 5. Фрагмент цепи тактовой синхронизации СнК ДЦТС (увеличено)

 

На рисунке 5 представлена часть цепи тактовой синхронизации СнК демодулятора цифрового телевизионного сигнала (ДЦТС), разработанного НПП «Цифровые решения». На рисунке 6 схематично изображены усиливающие буферы и элементы задержек. Цветом показано увеличение задержки сигнала, проходящего через буфер, относительно опорного тактового сигнала, который подается на вход. С увеличением яркости задержка увеличивается.

 

Рис. 6. Усиливающие буферы и элементы задержек, входящих в цепь тактовой синхронизации СнК ДЦТС (увеличено)

Распределение тактового сигнала необходимо рассмотреть на начальных фазах разработки сложной схемы, поскольку это может повлиять на форму компоновочного плана кристалла. Если игнорировать цепь разводки тактовых сигналов на ранних фазах проекта и рассматривать ее только в конце цикла разработки, когда основная часть топологии кристалла уже зафиксирована, возникнут неоптимальные цепи разводки тактовых импульсов и множество временных условий, которые снижают быстродействие конечной схемы. При внимательном планировании можно избежать многих подобных проблем, и распространение тактовых сигналов становится вполне управляемой операцией.
Основная сложность при проектировании цепей тактового сброса возникает на этапе схемотехники. Для синхронизации сигналов сброса всех субблоков проектируемого устройства и соблюдения минимального интервала времени между приходом переднего фронта тактового импульса на вход триггерного элемента и моментом изменения сигнала на входе этого элемента используется конвейерная прокладка цепей сброса. При ней сигнал сброса подаётся на отдельные СФ-блоки СнК через триггерные элементы, что обеспечивает синхронный сброс всех СФ-блоков СнК, несмотря на разные пути к ним эталонного сигнала. При топологическом проектировании возможно равномерное размещение вспомогательных триггеров и усилительных буферов по площади всего кристалла, однако это является не обязательной процедурой и проводится только в исключительных случаях, когда разводчик не справляется со сложными схемами в автоматическом режиме и полученная топология кристалла не удовлетворяет требованиям ТЗ.
Большинство СФ-блоков, реализованных в системе на кристалле, разрабатывается традиционным способом, не учитывающим сложную структуру проекта. Однако если они состоят из миллионов логических вентилей, то это может привести к ограничениям на память и к большому времени запуска. В связи с этим используется иерархический подход для уменьшения времени разработки больших проектов. Такие проекты можно разделить на более простые части; каждая часть может быть независимо привязана к различным группам проекта, которые разрабатываются независимо одна от другой.

 

Методика разработки

Создание сложного проекта можно разделить на три основных этапа: планирование кристалла, реализация и сборка кристалла.
1. Планирование кристалла — разделение на блоки, которые реализуются отдельно.
2. Реализация состоит из двух подэтапов — реализация каждого блока и реализация верхнего уровня, основанная на временных моделях и абстракциях блоков в проекте.
3. Сборка кристалла — соединение блоков в итоговом кристалле.
В соответствии с данной методикой имеются следующие способы выделения площади под отдельные части: «сверху-вниз» и «снизу-вверх».
Первая методика обычно состоит из этапов планирования «сверху-вниз», реализации и сборки кристалла. Такую методику используют для создания иерархической, или верхнеуровневой, топологии из общей топологии, основанной на отмеченных модулях. В данном подходе расположение блока или части зависит от его размеров, формы и размещения входных/выходных контактов.
Планирование кристалла в данной методике начинается с загрузки текущего проекта в среду разработки. Следующим шагом является ручное предварительное  расположение всех модулей, которые станут отдельными частями, или «черными ящиками», и запуск трассировщика цепей питания. Затем необходимо определить модули и «черные ящики», которые станут частями кристалла. При этом можно задать размеры этих частей. Также, если необходимо, можно вставить буферы в каждую из частей для защиты электрических цепей. Запускается первоначальная разводка, после которой выполняется первичное выравнивание контактных площадок для отдельной части. В соответствии с назначенными видами происходит перегенерирование связей, после чего необходимо сбалансировать временные модели для блоков. Для каждого блока создается собственная директория, в которую записываются net-лист, топология и различные ограничения. Для верхних уровней также создается своя директория, содержащая net-лист, топологию, простую временную модель и физическую абстракцию для каждой части проекта или черного ящика.
После планирования кристалла осуществляется этап реализации каждого блока, которая проходит на основе ограничений по размеру и времени, а также расположению выводов, которые были определены на предыдущем этапе. В итоге получаем абстракции блоков, временные модели, DEF-файл, GDSII-файл каждого блока, которые необходимы для реализации верхнего уровня и сборки кристалла. Следующим шагом является реализация верхнеуровневых проектов с помощью данных о модели блока (LEF-файл), временной, энергетической и шумовой модели.
Сборка кристалла — последний этап в подходе «сверху-вниз», состоящий из объединения информации о верхнем и о внутренних блоках.
Методика «снизу-вверх» состоит из этапов реализации и сборки. Топология верхнего уровня в этой методике зависит от размера, формы и распределения выводов для блоков проекта.
Сначала реализуется каждый блок в отдельности. В процессе реализации можно выделить прямоугольные и непрямоугольные площади под каждый блок. Происходит назначение и расположение выводов каждого блока.
После блочной реализации создаются абстракции каждого блока, используемые в реализации верхнего блока. В подходе «снизу-вверх» создается топология верхнего блока проекта, в которой использованы абстракции внутренних.
Сборка кристалла реализуется практически так же, как и в подходе «сверху-вниз», т.е. объединяется информация по net-листу и разводке как каждого блока, так и верхнего.
Трудозатраты на создание топологии, зависят от текущего уровня прототипирования проекта.
Создание топологии кристалла начинается с загрузки текущего проекта и изучения его внутренней структуры и связей. Для создания общей топологии кристалла нужно создать минимальное число внутренних топологий, или их создание вообще может не понадобиться. При просмотре общей топологии кристалла объекты, расположенные слева от ядра, являются модулями верхнего уровня, их можно двигать и изменять их форму, а справа находятся блоки, которые можно двигать, не изменяя их форму. Можно посмотреть субмодули в иерархии каждого модуля в отдельности. На топологии общего вида (см. рис. 7) выделяются контакты, шины питания и соединения блоков между собой, после чего отображаются соединительные линии, а также число этих связей между выделенным блоком и остальными (см. рис. 8).

 

Рис. 7. Общий вид топологии СнК ДЦТС

 

Рис. 8. Квадратурный демодулятор и его соединительные цепи, идущие на контактные площадки и другие СФБ, входящие в СнК ДЦТС

Соединительные линии помогают сориентировать блоки таким образом, чтобы показать их контакты в направлении наименьшей плотности разводки.
Трассировка сигнальных цепей производится автоматически при разводке кристалла. Однако в некоторых случаях возможно ручное редактирование сигнальных цепей: добавление, удаление, перенос в другой слой, объединение нескольких цепей, перемещение сигнальной цепи, увеличение ширины цепи.

 

Рис. 9. Сигнальные цепи СнК ДЦТС

Пример трассировки сигнальных цепей СнК ДЦТС показан на рисунке 9. Трассировка выполнялась автоматически. Проводники, расположенные в различных слоях металла, изображены различными цветами.

 

Трассировка цепей питания

Цепи питания проекта (см. рис. 10) разделяются на глобальные (электропитание ядер) и электропитание вентилей, называемое электрообвязкой. Глобальные цепи питания определяются оценкой потребления тока IP-ядер (например, память) и стандартных вентилей, что влияет на ширину колец цепей питания и число контактных площадок цепей питания.

 

Рис. 10. Цепи питания в кристалле

 

Электрообвязка — важная часть обычной области кристалла. Как правило, стандартные области кристалла являются слишком большими, чтобы гарантировать достаточное электропитание только через магистральные цепи питания. В зависимости от длины цепи питания, тактовой частоты, сопротивления шин питания и других параметров падение напряжения или увеличение потребления тока могут произойти по всей длине проводника.
Чтобы предотвратить эти эффекты, следует руководствоваться следующими принципами для проектирования ячеек питания.
1. Установка электропар на краях и внутренних частях ячеек.
Вначале и в конце стандартной ячейки всегда добавляется электропара — земля и питание (Vdd и Vss). Рекомендуется всегда проводить оба проводника рядом вокруг области кристалла, которую они питают.
2. Выбор ширины цепи питания.
Выбор правильной ширины цепи питания всегда взаимосвязан с числом проводников, которые необходимо разместить. Чем шире проводники, тем меньше их требуется. Снижение числа проводников меньше необходимого минимума приводит к ухудшению энергообеспечения области между ними. Большое число проводников усложняет работу разводчика и увеличивает время топологического проектирования.
Выбор правильной ширины цепи питания является эмпирическим. Но она должна равняться как минимум двойной ширине стандартной ширины цепи питания вентиля.
Для основных шин питания анализируется потребление тока на IP-ядрах (например, память) и стандартных вентилях, что влияет на ширину колец цепей питания и число контактных площадок цепей питания.
В зависимости от технологии нанесения металлических слоев максимальный ток, проходящий через сечение проводника, может измениться в пределах 0,5…1 мА/мкм в первом слое металлизации (metal1). Ток в 0,8 мА/мкм может использоваться как основное значение. Поскольку толщина проводников в верхних слоях металлизации больше, их максимальные нагрузочные способности немного выше.
В библиотеке имеются две контактных площадки для соединения колец цепей питания с ними. Контактная площадка PVDB присоединяет к ядру питание, а PVOB — землю. Оба соединения имеют размер 62,5 мкм и в третьем слое металла (metal3) соединяются с кольцами питания. Их максимальная токовая нагрузка около 50 мА. Основываясь на необходимости потребляемого тока устройства, вычисляется количество контактных площадок цепей питания, которые располагаются рационально с учетом необходимости в блоках.
Во время разводки цепей питания необходимо проверять длину проводников, так чтобы падение напряжения не превышало 0,1 В. В противном случае необходимо добавлять усилительные буферы и подключать к шинам питания дополнительные контактные площадки.

 

Рис. 11. Цепи питания в кристалле СНК ДЦТС

 

Рис. 12. Цепи питания в кристалле СНК ДЦТС (увеличенный фрагмент)

При разработке СнК ДЦТС были получены шины питания, представленные на рисунке 11 (общий вид). На рисунке 12 показано подключение шин питания к контактным площадкам.
Таким образом, мы рассмотрели особенности проектирования топологии СБИС типа СнК. В следующей статье цикла мы рассмотрим вопросы верификации топологии СБИС и ее подготовки к производству.

 

Литература
1. Стешенко В.Б., Руткевич А.В., Бумагин А.В., Гулин Ю.Ю., Воронков Д.И., Гречищев Д.Ю., Евстигнеева Е.В., Синельникова М.В. Опыт разработки СБИС типа СнК на основе встроенных микропроцессорных ядер, Компоненты и технологии, 2008, № 9.
2. В. Немудров, Г. Мартин. Системы-на-кристалле. Проектирование и развитие. — М.: Техносфера, 2004.
3. Жан М. Рабаи, Ананта Чандракасан, Боривож Николич. Цифровые интегральные схемы. Методология проектирования, 2-е издание.: Пер. с англ. — М.: ООО «И.Д. Вильямс», 2007.
4. H. Chang, L. Cooke, M. Hunt, et al, Surviving the SOC revolution: A guide to platform-based design, Norwell. MA: Kluwer, 1999.
5. А. В. Бухтеев. Методы и средства проектирования систем на кристалле, Chip news, 2003 г., №4, стр. 4—14.
6. N. H. Weste, K. Eshraghian, Principles of CMOS VLSI design. A systems perspective, Addison-Wesley publishing company, 1994.
7. S. Rubin, Computer aids for VLSI design, Addison-Wesley publishing company, 1994.
8. A. P. Chandrakasan, R. W. Brodersen, Low power digital CMOS design, Kluwer Academic publishers, 1998.
9.  A. P. Chandrakasan, W. J. Bowhill, F. Fox, Design of high-performance microprocessors circuits, IEEE Press, 2001.
10. A. S. Abidi, P. G. Gray, R. G. Meyer, Integrated circuits for wireless communications, IEEE Press, 1999.
11. R. Doering, Y. Nishi, Limits of integrated circuit manufacturing, Proceedings of the IEEE, v. 89, №3, 2001, p. 375—393.
12. 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.

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

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