Интернет магазин китайских планшетных компьютеров



Компьютеры - Standard cell - Конструкция стандартной ячейки

04 мая 2011


Оглавление:
1. Standard cell
2. Конструкция стандартной ячейки
3. Плюсы и минусы методологии стандартных ячеек
4. Мера сложности



Стандартная ячейка состоит из группы транзисторов и соединений между ними, которые реализуют либо некоторую логическую функцию либо элемент хранения. Простейшие ячейки являются прямым представлением элементарных булевых функций NAND, NOR, XOR; часто используются более сложные ячейки. Логическая функциональность ячейки называется ее logical view: поведение ячейки соответствует таблице истинности для комбинационной логики и таблице изменения состояний.

Обычно, изначально стандартная ячейка проектируется на уровне транзисторов, в форме транзисторного en:netlist. Он представляет собой описание каждого транзистора и соединений между ними; также нетлист включает в себя порты — точки подключения к другим частям микропроцессора. Разработчики ячеек используют CAD системы, например, SPICE для симуляции электрического поведения нетлиста, подавая ему на вход различные сигналы и получая вычисленный аналоговый ответ схемы вместе с его временными характеристиками. Симуляцией проверяется, что данный нетлист действительно выполняет требуемую функцию, и предсказывается потребляемая мощность и задержка распространения сигналов.

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

Для типичной булевой функции можно разработать множество транзисторных нетлистов, которые будут функционально эквивалентны. Также, для типичного нетлиста можно разработать множество вариантов реализации в виде layout view, удовлетворяющих требованиям к производительности нетлиста. Задачей разработчика является уменьшение стоимости производства интегральной схемы, при сохранении скорости ячейки и требований по мощности.

Библиотеки стандартных ячеек

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

Типичная библиотека условно делится на две части:

  1. Front-end включает в себя логические описания, характеризацию ячеек, а также вспомогательные элементы для функциональной верификации.
  2. Back-end содержит описания, относящиеся в физической имплиментации ячеек. Это физические абстракции в формате Cadence LEF format либо Synopsys Milkyway format, экстрагированные и rtl нетлисты В зависимости от условий распространения библиотеки, она может содержать дополнительно GDS файлы, OA или CDBA базу данных.

Front-end

Ядром front-end описания является характеризованная библиотека стандартных элементов. Промышленным форматом де-факто стал Synopsys Liberty Format, хотя существуют и альтернативные форматы, например ALF.

Оригинальный .lib содержит в себе временные характеристики ячеек в табличной форме. Обычно используются 2-хмерные таблицы, описывающие задержку элемента в зависимости от нагрузки и времени входного фронта. Однако при увеличении скорости ИС точности данной модели оказалось недостаточно. Проблема NLDM модели была в том, что она не учитывала тот факт, что входная емкость также зависит от различных факторов, таких как входной фронт, состояние ячейки и т.д. Хотя NLDM модель и поддерживает характеризацию входной емкости в зависимости от состояния других входов, полностью удовлетворить разработчиков она уже не могла. В ответ на это было разработано 2 расширения для .lib формата:

  1. Компания Synopsys предложила CCS модель. Данная модель учитывала изменение входной емкости в зависимости в других факторов
  2. В ответ на CCS, организация EDA разработчиков Si2.org совместно с Cadence предложили open-source ECSM модель, которая также использовала нелинейную модель входного фронта, что позволяло более точно вычислять входную емкость

.lib библиотеки содержат не только информацию о задержках, но и о потребляемой мощности, ее площади, функциональности, шумах и т.д

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

Verilog и/или VHDL модели также является важнейшей частью библиотеки стандартных элементов. Они содержат функцинальное описание ячейки, а также соответствие с .lib для правильной SDF аннотации.

Так же к front-end относят вспомогательные компоненты, например stub модели для формальной верификации LEC.

Back-end

LEF условно делится на библиотечную и технологическую части

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

Данная абстракция рекомендуется для использования при размещения и разводки элементов на кристалле, так как информация о внутренней стректуре ячейки для этого не важна, а использование GDS приведет к фатальному увеличению используемой памяти при размещении / разводке.

  1. Технологическая часть содержит разнообразные правила проектирования, необходимые для размещения и разводки чипа: требования к размерам металла, к плотности размещения, к спейсингам, металами, ячейками и т.д.), плотностям тока и множество другой технологической информации. Эта информация используется place/route САПР для правильного размещения и разводки в соответствии с технологическими нормами.

.lib формат также может использоваться для этих целей.

Вторая важная деталь back-end наполнения библиотеки стандартных элементов - это нетлисты. Нетлисты поставляются в экстрагированном виде. Также могут поставляться неэкстрагированные нетлисты, которые, в частности, используются для LVS.

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



Просмотров: 3961


<<< SPICE (симулятор электронных схем)
Статический временной анализ >>>