Введение

Этап рабочего процесса проектирования полупроводников VLSI. Завершение проектирования — это часть процесса автоматизированного проектирования цифровых электронных схем, в ходе которого проект интегральной схемы (т.е. БМС) изменяется от первоначального описания для соответствия постоянно растущему списку конструктивных ограничений и целей. Каждый этап проектирования ИС (например, статический временной анализ, размещение, трассировка и т.д.) уже сам по себе сложен и часто является отдельной областью исследований. Однако в данной статье рассматривается общий процесс завершения проектирования, который приводит чип от его исходного состояния к финальной форме, в которой выполнены все конструктивные ограничения.

Введение

Каждый чип начинается с чьей-то идеи о создании чего-то полезного: "Если мы сможем создать компонент, выполняющий функцию X, мы все разбогатеем!" Как только концепция определена, кто-то из отдела маркетинга заявляет: "Чтобы этот чип был прибыльным, его стоимость должна быть $C, а частота работы – F." Кто-то из производства говорит: "Для достижения целевых показателей этого чипа необходимо обеспечить выход годных изделий не менее Y%." Специалист по упаковке добавляет: "Он должен помещаться в корпус P и рассеивать не более W ватт." В конечном итоге команда формирует обширный список всех ограничений и целей, которые необходимо выполнить для производства продукта, который можно будет выгодно продавать. Затем руководство формирует команду разработчиков, включающую архитекторов чипов, разработчиков логики, инженеров функциональной верификации, специалистов по физическому проектированию и инженеров по синхронизации, и поручает им разработать чип в соответствии с заданными требованиями.

Ограничения против целей

Различие между ограничениями и целями очевидно: ограничение – это требование к проекту, которое необходимо выполнить для его успешной реализации. Например, чип может быть обязан работать на определенной частоте для взаимодействия с другими компонентами системы. В отличие от этого, цель – это требование к проекту, где больше (или меньше) является предпочтительным. Например, выход годных изделий обычно является целью, которую максимизируют для снижения себестоимости производства. Для целей завершения проекта различие между ограничениями и целями несущественно; в данной статье эти термины используются как синонимы.

Эволюция потока конструктивного закрытия

Ранее проектирование чипа было гораздо более простой задачей. В первые дни СВЛИ чип состоял из нескольких тысяч логических схем, выполнявших простую функцию на частотах в несколько МГц. Завершение проектирования было простым: если все необходимые схемы и соединения помещались, чип выполнял требуемую функцию. Современное завершение проектирования стало на порядки сложнее. Современные логические чипы могут содержать от десятков до сотен миллионов логических элементов, переключающихся на частотах в несколько ГГц. Это улучшение было обусловлено законом Мура о масштабировании технологий и привело к появлению множества новых аспектов проектирования. В результате современный разработчик СВЛИ должен учитывать производительность чипа в контексте десятков ограничений и целей проектирования, включая быстродействие, энергопотребление, целостность сигналов, надежность и выход годных. В ответ на растущий список ограничений процесс завершения проектирования эволюционировал от простого линейного списка задач до сложного, высоко итеративного процесса, например, следующего упрощенного процесса проектирования ASIC:

Референтный проектный поток ASIC

Фаза концепции: разрабатываются функциональные цели и архитектура чипа. Логическое проектирование: архитектура реализуется на языке описания аппаратуры уровня передачи регистров (RTL), затем выполняется моделирование для проверки корректности функционирования. Это включает в себя функциональную верификацию. Планирование размещения: RTL-описание чипа сопоставляется с основными областями чипа, назначаются вводы/выводы (I/O) и размещаются крупные блоки (массивы, ядра и т.д.). Логический синтез: RTL-описание преобразуется в сетевой список на уровне элементов в целевой технологии чипа. Проектирование для тестируемости: вставляются структуры для тестирования, такие как сканирующие цепочки. Размещение: элементы сетевого списка назначаются неперекрывающимся областям на чипе. Оптимизация логики и размещения: итеративные логические и топологические преобразования для достижения требуемых характеристик по производительности и энергопотреблению. Вставка тактовой сети: в схему вводятся сбалансированные буферизованные тактовые деревья. Трассировка: добавляются соединения, связывающие элементы сетевого списка. Посттрассировочная оптимизация: устраняются оставшиеся нарушения требований по производительности, помехам и выходу годных. Проектирование для производства: схема модифицируется, где это возможно, для упрощения процесса изготовления. Итоговая проверка: поскольку ошибки дорогостоящи, трудоемки и трудно обнаружимы, проводится тщательная проверка ошибок, гарантирующая корректность преобразования в логическую схему и соблюдение технологических норм. Подготовка к выпуску и генерация масок: данные схемы преобразуются в фотошаблоны при подготовке данных для изготовления масок.