Loading AI tools
Из Википедии, свободной энциклопедии
Проектирование на основе стандартных ячеек (англ. standard cell) — метод проектирования интегральных схем с преобладанием цифровых элементов. В данном методе наиболее низкий уровень проектирования СБИС скрыт от проектировщика абстрактными логическими элементами (например, узел NAND). Методология проектирования на базе ячеек позволяет одним разработчикам сфокусироваться на высокоуровневом аспекте цифрового дизайна, пока другие разработчики заняты физическими реализациями ячеек. Вместе с достижениями полупроводникового производства методология стандартных ячеек отвечает за возможность проектирования как простых интегральных схем, число которых составляет несколько тысяч транзисторов, так и сложнейших: СБИС и систем на кристалле (СнК) с числом транзисторов, достигающим десятков миллиардов[1][2].
Стиль этой статьи неэнциклопедичен или нарушает нормы литературного русского языка. |
Стандартная ячейка состоит из группы транзисторов и соединений между ними, которые реализуют либо некоторую логическую функцию (AND, OR, XOR, XNOR, инвертор), либо элемент хранения (например, триггеры flipflop или latch). Простейшие ячейки являются прямым представлением элементарных булевых функций NAND, NOR, XOR; часто используются более сложные ячейки (полный двухбитовый сумматор или мультиплексированный D-триггер). Логическая функциональность ячейки называется её logical view: поведение ячейки соответствует таблице истинности для комбинационной логики и таблице изменения состояний (en:state transition table) (для последовательной логики см. секвенциальная логика).
Обычно изначально стандартная ячейка проектируется на уровне транзисторов, в форме транзисторного en:netlist. Он представляет собой описание каждого транзистора и соединений между ними; также нетлист включает в себя порты — точки подключения к другим частям микропроцессора. Разработчики ячеек используют CAD-системы, например, SPICE для симуляции электрического поведения нетлиста, подавая ему на вход различные сигналы и получая вычисленный аналоговый ответ схемы вместе с его временными характеристиками. Симуляцией проверяется, что данный нетлист действительно выполняет требуемую функцию, и предсказывается потребляемая мощность и задержка распространения сигналов.
Поскольку логическое и нетлист-представления шаблоны полезны лишь при абстрактном проектировании и симуляции, а не при производстве микросхемы, для стандартной ячейки требуется разработка физической реализации. Она называется layout view и является наинизшим уровнем абстракции при разработке. С точки зрения производителя данное представление ячеек является наиболее важным, так как из него просто получить маски для литографии. Представление ячейки разделено на базовые слои, которые соответствуют различным структурам транзистора и межсоединений, замыкающих между собой выводы транзисторов.
Для типичной булевой функции можно разработать множество транзисторных нетлистов, которые будут функционально эквивалентны. Также, для типичного нетлиста можно разработать множество вариантов реализации в виде layout view, удовлетворяющих требованиям к производительности нетлиста. Задачей разработчика является уменьшение стоимости производства интегральной схемы (обычно через минимизацию занимаемой площади) при сохранении скорости ячейки и требований по мощности.
Библиотека стандартных ячеек — это коллекция низкоуровневых ячеек для логических функций, триггеров, регистров и буферов. Все ячейки реализованы с фиксированной высотой и переменной шириной. Ключевым свойством библиотек является одинаковость высот ячеек, что позволяет располагать их рядами, упрощая задачу автоматического расположения элементов. Ячейки обычно оптимизированы для уменьшения занимаемой площади и задержки.
Типичная библиотека условно делится на две части:
Ядром front-end описания является характеризованная библиотека стандартных элементов. Промышленным форматом де-факто стал Synopsys Liberty Format (.lib), хотя существуют и альтернативные форматы, например, ALF (Advanced library format).
Оригинальный .lib содержит в себе временные характеристики ячеек в табличной форме (NLDM). Обычно используются 2-мерные таблицы, описывающие задержку элемента в зависимости от нагрузки и времени входного фронта. Однако при увеличении скорости ИС точности данной модели оказалось недостаточно. Проблема NLDM-модели была в том, что она не учитывала тот факт, что входная ёмкость также зависит от различных факторов, таких, как входной фронт (Эффект Миллера), состояние ячейки и т. д. Хотя NLDM-модель и поддерживает характеризацию входной ёмкости в зависимости от состояния других входов, полностью удовлетворить разработчиков она уже не могла. В ответ на это было разработано 2 расширения для .lib-формата:
.lib-библиотеки содержат не только информацию о задержках, но и о потребляемой мощности (как динамической, так и статической и внутренней), её площади, функциональности, шумах и т. д.
Обычно библиотека содержит несколько .lib-файлов: элементы обсчитывают на наилучший (максимальная скорость: максимальное напряжение, минимальная температура), наихудший (минимальная скорость: минимальное напряжение и максимальная температура) и типичный случай (номинальные скорость, напряжение и температура). Так же могут использовать специальные PVT (Process, voltage, temperature), например, для характеризации электромиграции используется pvt с максимальными напряжением и температурой, чтобы обеспечить максимальный ток.
Verilog- и/или VHDL-модели также является важнейшей частью библиотеки стандартных элементов. Они содержат функциональное описание ячейки, а также соответствие с .lib для правильной SDF-аннотации.
Также к front-end относят вспомогательные компоненты, например, stub-модели для формальной верификации LEC.
LEF (Layout exchange format) условно делится на библиотечную и технологическую части
Данная абстракция рекомендуется для использования при размещения и разводки элементов на кристалле, так как информация о внутренней структуре ячейки для этого не важна, а использование GDS (полного описания физической структуры ячеек) приведет к фатальному увеличению используемой памяти при размещении/разводке.
.lib-формат также может использоваться для этих целей.
Вторая важная деталь back-end-наполнения библиотеки стандартных элементов — это нетлисты. Нетлисты поставляются в экстрагированном виде (содержит не только активные элементы: транзисторы и диоды, но и пассивные: резисторы, ёмкости и индуктивности). Также могут поставляться неэкстрагированные нетлисты, которые, в частности, используются для LVS.
Для каждой логической функции библиотека может предоставлять множество ячеек, реализующих её, но различающихся по мощности, задержкам или другим параметрам.
Методология стандартных ячеек позволяет разработчикам конструировать ИС не на транзисторном уровне, а на уровне абстрактных стандартных элементов, что позволяет существенно сократить время и усилия для создания схемы:
Однако у этой технологии есть и ряд минусов:
Несмотря на эти минусы, методология стандартных ячеек стала стандартом де-факто в сфере микроэлектроники.
Для разработок на базе стандартных ячеек обычно используется независимая от технологии производства метрика (транзисторный эквивалент).
Seamless Wikipedia browsing. On steroids.
Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.
Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.