В полупроводниковом проектировании методология стандартных ячеек представляет собой метод проектирования специализированных интегральных схем (ASIC) с преимущественно цифровыми логическими функциями. Методология стандартных ячеек является примером абстракции проектирования, при которой низкоуровневая сверхбольшая интегральная схема ( VLSI ) инкапсулируется в абстрактное логическое представление (такое как вентиль NAND ).
Методология на основе ячеек — общий класс, к которому относятся стандартные ячейки — позволяет одному проектировщику сосредоточиться на высокоуровневом (логическом) аспекте цифрового проектирования, в то время как другой проектировщик фокусируется на аспекте реализации (физическом). Наряду с достижениями в производстве полупроводников методология стандартных ячеек помогла проектировщикам масштабировать ASIC от сравнительно простых однофункциональных ИС (из нескольких тысяч вентилей) до сложных многомиллионных систем-на-кристалле (SoC).
Стандартная ячейка — это группа транзисторных и межсоединительных структур, которая обеспечивает функцию булевой логики (например, AND , OR , XOR , XNOR , инверторы) или функцию хранения (триггер или защелка). [1] Простейшие ячейки являются прямыми представлениями элементарных булевых функций NAND, NOR и XOR, хотя обычно используются ячейки гораздо большей сложности (например, 2-битный полный сумматор или мультиплексированный триггер с D-входом). Булева логическая функция ячейки называется ее логическим представлением : функциональное поведение фиксируется в форме таблицы истинности или уравнения булевой алгебры (для комбинационной логики) или таблицы переходов состояний (для последовательной логики ).
Обычно первоначальный дизайн стандартной ячейки разрабатывается на уровне транзистора в форме списка соединений транзистора или схематического вида. Список соединений представляет собой узловое описание транзисторов, их соединений друг с другом и их выводов (портов) с внешней средой. Схематический вид может быть создан с помощью ряда различных программ автоматизированного проектирования (САПР) или автоматизации электронного проектирования (EDA), которые предоставляют графический пользовательский интерфейс (GUI) для этого процесса генерации списка соединений. Проектировщики используют дополнительные программы САПР, такие как SPICE, для моделирования электронного поведения списка соединений, объявляя входной стимул (формы сигналов напряжения или тока), а затем вычисляя временной домен (аналоговый) отклик схемы. Моделирование проверяет, реализует ли список соединений желаемую функцию, и прогнозирует другие соответствующие параметры, такие как энергопотребление или задержка распространения сигнала.
Поскольку логические и сетевые представления полезны только для абстрактного (алгебраического) моделирования, а не для изготовления устройств, физическое представление стандартной ячейки также должно быть спроектировано. Также называемое представлением макета , это самый низкий уровень абстракции дизайна в обычной практике проектирования. С точки зрения производства, макет СБИС стандартной ячейки является наиболее важным представлением, поскольку он ближе всего к фактическому «производственному чертежу» стандартной ячейки. Макет организован в базовые слои , которые соответствуют различным структурам транзисторных устройств, и слои межсоединений и слои переходов , которые соединяют вместе клеммы транзисторных образований. [1] Слои межсоединений обычно нумеруются и имеют определенные слои переходов , представляющие определенные соединения между каждым последовательным слоем. Непроизводственные слои также могут присутствовать в макете для целей автоматизации проектирования , но многие слои, используемые явно для программ САПР Place and Route (PNR), часто включаются в отдельное, но похожее абстрактное представление. Абстрактное представление часто содержит гораздо меньше информации, чем макет, и может быть распознано как файл формата извлечения макета (LEF) или его эквивалент.
После создания макета часто используются дополнительные инструменты САПР для выполнения ряда общих проверок. Проверка правил проектирования (DRC) выполняется для проверки того, что проект соответствует требованиям литейного производства и другим требованиям макета. Затем выполняется извлечение паразитов (PEX) для создания списка цепей PEX с паразитными свойствами из макета. Узловые соединения этого списка цепей затем сравниваются с узлами списка цепей схемы с помощью процедуры Layout Vs Schematic (LVS) для проверки эквивалентности моделей связности. [2]
Затем PEX-netlist можно снова смоделировать (поскольку он содержит паразитные свойства) для достижения более точных моделей синхронизации, мощности и шума. Эти модели часто характеризуются (содержатся) в формате Synopsys Liberty, но могут использоваться и другие форматы Verilog .
Наконец, мощные инструменты размещения и маршрутизации (PNR) могут использоваться для объединения всех данных и синтеза (генерации) макетов сверхбольшой интеграции (VLSI) в автоматическом режиме из списков соединений и планов этажей более высокого уровня проектирования.
Кроме того, ряд других инструментов САПР может использоваться для проверки других аспектов представлений и моделей ячеек. И другие файлы могут быть созданы для поддержки различных инструментов, которые используют стандартные ячейки для множества других целей. Все эти файлы, которые создаются для поддержки использования всех вариаций стандартных ячеек, в совокупности называются библиотекой стандартных ячеек.
Для типичной булевой функции существует множество различных функционально эквивалентных списков соединений транзисторов. Аналогично, для типичного списка соединений существует множество различных макетов, которые соответствуют параметрам производительности списка соединений. Задача проектировщика состоит в том, чтобы минимизировать стоимость производства макета стандартной ячейки (обычно путем минимизации площади кристалла схемы), при этом соблюдая требования к скорости и производительности ячейки. Следовательно, компоновка интегральной схемы является весьма трудоемкой работой, несмотря на существование инструментов проектирования, облегчающих этот процесс.
Библиотека стандартных ячеек представляет собой набор низкоуровневых электронных логических функций , таких как AND, OR, INVERT, триггеры, защелки и буферы. Эти ячейки реализованы как ячейки с фиксированной высотой и переменной шириной, полностью настраиваемые. Ключевым аспектом этих библиотек является то, что они имеют фиксированную высоту, что позволяет размещать их в ряды, упрощая процесс автоматизированной цифровой компоновки. Ячейки обычно представляют собой оптимизированные полностью настраиваемые компоновки, которые минимизируют задержки и площадь.
Типичная библиотека стандартных ячеек содержит два основных компонента:
Библиотека стандартных ячеек может также содержать следующие дополнительные компоненты: [3]
Примером может служить простой логический вентиль XOR , который может быть образован из вентилей OR, INVERT и AND.
Строго говоря, 2-входовая функция NAND или NOR достаточна для формирования любого произвольного набора булевых функций. Но в современном проектировании ASIC методология стандартных ячеек практикуется с большой библиотекой (или библиотеками) ячеек. Библиотека обычно содержит несколько реализаций одной и той же логической функции, отличающихся по площади и скорости. [3] Это разнообразие повышает эффективность инструментов автоматизированного синтеза, размещения и маршрутизации (SPR). Косвенно это также дает разработчику большую свободу для выполнения компромиссов реализации (площадь против скорости против энергопотребления). Полная группа описаний стандартных ячеек обычно называется технологической библиотекой . [3]
Коммерчески доступные инструменты Electronic Design Automation (EDA) используют библиотеки технологий для автоматизации синтеза, размещения и маршрутизации цифровой ASIC. Библиотека технологий разрабатывается и распространяется оператором литейного производства . Библиотека (вместе с форматом списка соединений проекта) является основой для обмена информацией о проекте между различными фазами процесса SPR.
Используя логическое представление ячейки технологической библиотеки, инструмент логического синтеза выполняет процесс математического преобразования описания уровня регистровой передачи (RTL) ASIC в зависимый от технологии список соединений. Этот процесс аналогичен программному компилятору, преобразующему высокоуровневый листинг программы на языке C в листинг на языке ассемблера, зависящий от процессора.
Список соединений — это стандартное представление ячейки проекта ASIC на уровне логического представления. Он состоит из экземпляров вентилей библиотеки стандартных ячеек и портов связи между вентилями. Правильные методы синтеза обеспечивают математическую эквивалентность между синтезированным списком соединений и исходным описанием RTL. Список соединений не содержит неотображенных операторов и деклараций RTL.
Инструмент высокоуровневого синтеза выполняет процесс преобразования описания моделей уровня C (SystemC, ANSI C/C++) в технологически-зависимый список соединений.
Инструмент размещения начинает физическую реализацию ASIC. С помощью 2-мерного плана этажа, предоставленного проектировщиком ASIC, инструмент размещения назначает местоположение для каждого вентиля в списке соединений. Полученный список соединений размещенных вентилей содержит физическое местоположение каждой стандартной ячейки списка соединений, но сохраняет абстрактное описание того, как терминалы вентилей соединены друг с другом.
Обычно стандартные ячейки имеют постоянный размер по крайней мере в одном измерении, что позволяет выстраивать их в ряды на интегральной схеме . Чип будет состоять из огромного количества рядов (с питанием и заземлением, проложенными рядом с каждым рядом), при этом каждый ряд будет заполнен различными ячейками, составляющими фактическую конструкцию. Размещатели подчиняются определенным правилам: каждому вентилю назначается уникальное (исключительное) местоположение на карте кристалла. Данный вентиль размещается один раз и не может занимать или перекрывать местоположение любого другого вентиля.
Используя список размещенных вентилей и вид макета библиотеки, маршрутизатор добавляет как сигнальные соединительные линии, так и линии питания. Полностью маршрутизированный физический список соединений содержит список вентилей из синтеза, размещение каждого вентиля из размещения и нарисованные межсоединения из маршрутизации.
Проверка правил проектирования (DRC) и сравнение компоновки со схемой (LVS) — это процессы проверки. [2] Надежное изготовление устройств на современном глубоком субмикрометре ( 0,13 мкм и ниже) требует строгого соблюдения правил по расстоянию между транзисторами, толщине металлического слоя и плотности мощности. DRC тщательно сравнивает физический список соединений с набором «правил проектирования литейного производства» (от оператора литейного производства), затем отмечает любые обнаруженные нарушения.
Процесс LVS подтверждает, что макет имеет ту же структуру, что и связанная схема; это, как правило, последний шаг в процессе макетирования. [2] Инструмент LVS принимает в качестве входных данных принципиальную схему и извлеченное представление из макета. Затем он генерирует список соединений из каждого из них и сравнивает их. Сравниваются узлы, порты и размеры устройств. Если они одинаковы, LVS проходит, и проектировщик может продолжать. LVS имеет тенденцию считать транзисторные пальцы такими же, как сверхширокий транзистор. Таким образом, 4 транзистора (каждый шириной 1 мкм) параллельно, 4-пальцевый транзистор 1 мкм или 4 мкм транзистор рассматриваются инструментом LVS как одно и то же. Функциональность файлов .lib будет взята из моделей SPICE и добавлена в качестве атрибута в файл .lib.
В полупроводниковом проектировании стандартные ячейки должны соответствовать требованиям Design Rule Checking (DRC) и Layout Versus Schematic (LVS). Это соответствие значительно повышает эффективность процесса проектирования, что приводит к сокращению времени выполнения работ для проектировщиков. Гарантируя, что эти ячейки соответствуют критическим стандартам проверки, проектировщики могут оптимизировать интеграцию этих компонентов в более крупные проекты чипов, способствуя более плавному и быстрому циклу разработки.
«Стандартная ячейка» относится к более общему классу потоков автоматизации проектирования, называемых проектированием на основе ячеек. Структурированные ASIC , FPGA и CPLD являются вариациями проектирования на основе ячеек. С точки зрения проектировщика, все они имеют один и тот же входной интерфейс: описание RTL проекта. Однако эти три метода существенно различаются в деталях потока SPR (синтез, размещение и трассировка) и физической реализации.
Для конструкций цифровых стандартных ячеек, например, в КМОП , общепринятой независимой от технологии метрикой для измерения сложности являются эквиваленты вентилей (GE) .
Стандартные ячейки в CBIC состоят из рядов стандартных ячеек, подобно стене, сложенной из кирпичей.