Проектирование на основе стандартных ячеек


Проектирование на основе стандартных ячеек (англ. 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 и является наинизшим уровнем абстракции при разработке. С точки зрения производителя данное представление ячеек является наиболее важным, так как из него просто получить маски для литографии. Представление ячейки разделено на базовые слои, которые соответствуют различным структурам транзистора и межсоединений, замыкающих между собой выводы транзисторов.