Введение
Этап рабочего процесса проектирования полупроводников VLSI. Завершение проектирования — это часть процесса автоматизированного проектирования цифровых электронных схем, в ходе которого проект интегральной схемы (т.е. БМС) изменяется от первоначального описания для соответствия постоянно растущему списку конструктивных ограничений и целей. Каждый этап проектирования ИС (например, статический временной анализ, размещение, трассировка и т.д.) уже сам по себе сложен и часто является отдельной областью исследований. Однако в данной статье рассматривается общий процесс завершения проектирования, который приводит чип от его исходного состояния к финальной форме, в которой выполнены все конструктивные ограничения.
Design Closure is a part of the digital electronic design automation workflow by which an integrated circuit (i. e. VLSI) design is modified from its initial description to meet a growing list of design constraints and objectives. Every step in the IC design (such as static timing analysis, placement, routing, and so on) is already complex and often forms its own field of study. This article, however, looks at the overall design closure process, which takes a chip from its initial design state to the final form in which all of its design constraints are met.
Введение
Каждый чип начинается с чьей-то идеи о создании чего-то полезного: "Если мы сможем создать компонент, выполняющий функцию X, мы все разбогатеем!" Как только концепция определена, кто-то из отдела маркетинга заявляет: "Чтобы этот чип был прибыльным, его стоимость должна быть $C, а частота работы – F." Кто-то из производства говорит: "Для достижения целевых показателей этого чипа необходимо обеспечить выход годных изделий не менее Y%." Специалист по упаковке добавляет: "Он должен помещаться в корпус P и рассеивать не более W ватт." В конечном итоге команда формирует обширный список всех ограничений и целей, которые необходимо выполнить для производства продукта, который можно будет выгодно продавать. Затем руководство формирует команду разработчиков, включающую архитекторов чипов, разработчиков логики, инженеров функциональной верификации, специалистов по физическому проектированию и инженеров по синхронизации, и поручает им разработать чип в соответствии с заданными требованиями.
Ограничения против целей
Различие между ограничениями и целями очевидно: ограничение – это требование к проекту, которое необходимо выполнить для его успешной реализации. Например, чип может быть обязан работать на определенной частоте для взаимодействия с другими компонентами системы. В отличие от этого, цель – это требование к проекту, где больше (или меньше) является предпочтительным. Например, выход годных изделий обычно является целью, которую максимизируют для снижения себестоимости производства. Для целей завершения проекта различие между ограничениями и целями несущественно; в данной статье эти термины используются как синонимы.
(or less) is better. For example, yield is generally an objective, which is maximized to lower manufacturing cost. For the purposes of design closure, the distinction between constraints and objectives is not important; this article uses the words interchangeably.
Эволюция потока конструктивного закрытия
Ранее проектирование чипа было гораздо более простой задачей. В первые дни СВЛИ чип состоял из нескольких тысяч логических схем, выполнявших простую функцию на частотах в несколько МГц. Завершение проектирования было простым: если все необходимые схемы и соединения помещались, чип выполнял требуемую функцию. Современное завершение проектирования стало на порядки сложнее. Современные логические чипы могут содержать от десятков до сотен миллионов логических элементов, переключающихся на частотах в несколько ГГц. Это улучшение было обусловлено законом Мура о масштабировании технологий и привело к появлению множества новых аспектов проектирования. В результате современный разработчик СВЛИ должен учитывать производительность чипа в контексте десятков ограничений и целей проектирования, включая быстродействие, энергопотребление, целостность сигналов, надежность и выход годных. В ответ на растущий список ограничений процесс завершения проектирования эволюционировал от простого линейного списка задач до сложного, высоко итеративного процесса, например, следующего упрощенного процесса проектирования ASIC:
GHz. This improvement has been driven by Moore’s law of scaling of technology, and has introduced many new design considerations. As a result, a modern VLSI designer must consider the performance of a chip against a list of dozens of design constraints and objectives including performance, power, signal integrity, reliability, and yield. In response to this growing list of constraints, the design closure flow has evolved from a simple linear list of tasks to a very complex, highly iterative flow such as the following simplified ASIC design flow:
Референтный проектный поток ASIC
Фаза концепции: разрабатываются функциональные цели и архитектура чипа. Логическое проектирование: архитектура реализуется на языке описания аппаратуры уровня передачи регистров (RTL), затем выполняется моделирование для проверки корректности функционирования. Это включает в себя функциональную верификацию. Планирование размещения: RTL-описание чипа сопоставляется с основными областями чипа, назначаются вводы/выводы (I/O) и размещаются крупные блоки (массивы, ядра и т.д.). Логический синтез: RTL-описание преобразуется в сетевой список на уровне элементов в целевой технологии чипа. Проектирование для тестируемости: вставляются структуры для тестирования, такие как сканирующие цепочки. Размещение: элементы сетевого списка назначаются неперекрывающимся областям на чипе. Оптимизация логики и размещения: итеративные логические и топологические преобразования для достижения требуемых характеристик по производительности и энергопотреблению. Вставка тактовой сети: в схему вводятся сбалансированные буферизованные тактовые деревья. Трассировка: добавляются соединения, связывающие элементы сетевого списка. Посттрассировочная оптимизация: устраняются оставшиеся нарушения требований по производительности, помехам и выходу годных. Проектирование для производства: схема модифицируется, где это возможно, для упрощения процесса изготовления. Итоговая проверка: поскольку ошибки дорогостоящи, трудоемки и трудно обнаружимы, проводится тщательная проверка ошибок, гарантирующая корректность преобразования в логическую схему и соблюдение технологических норм. Подготовка к выпуску и генерация масок: данные схемы преобразуются в фотошаблоны при подготовке данных для изготовления масок.