В разработке интегральных схем, физическая конструкция - это шаг в стандартный цикл проектирования, который следует за схемотехникой. На этом этапе схемные представления компонентов (устройств и межсоединений) конструкции преобразуются в геометрические представления форм, которые при изготовлении из соответствующих слоев материалов будут обеспечивать требуемое функционирование компонентов. Это геометрическое представление называется компоновкой интегральной схемы. Этот шаг обычно разбивается на несколько подэтапов, которые включают в себя как проектирование, так и проверку и валидацию схемы.
Современные Интегральные схемы (ИС) проектирование разделены на Front-end Дизайн с использованием HDL и Back-end Design или Physical Design. Входными данными для физического проектирования являются (i) список соединений, (ii) библиотечная информация об основных устройствах в проекте и (iii) технологический файл, содержащий производственные ограничения. Физический дизайн обычно завершается постобработкой макета, при которой вносятся изменения и дополнения в макет микросхемы. За этим следует процесс изготовления или производства, при котором конструкции переносятся на кремниевые кристаллы, которые затем упаковываются в ИС.
С каждой из упомянутых выше фаз связаны проектные потоки. Эти потоки проектирования определяют процесс и руководящие принципы / структуру для этого этапа. В процессе физического проектирования используются технологические библиотеки, предоставляемые производственными предприятиями. Эти технологические файлы содержат информацию о типе используемой кремниевой пластины, используемых стандартных элементах, правилах компоновки (например, DRC в СБИС) и т. Д.
Шаги физического проектирования в рамках процесса проектирования ИСКак правило, физическая конструкция ИС относится к категории полная нестандартный и частично нестандартный дизайн.
Можно использовать ASIC для полностью настраиваемого проектирования и FPGA для потоков частично-нестандартного проектирования. Причина в том, что можно гибко проектировать / изменять блоки дизайна из библиотек, предоставленных поставщиком в ASIC. Эта гибкость отсутствует для Semi-Custom Flows с использованием FPGA (например, Altera ).
Основными этапами физического проектирования ASIC являются:
Эти шаги являются только основами. Существуют подробные потоки PD, которые используются в зависимости от используемых инструментов и методологии / технологии. Некоторые из инструментов / программного обеспечения, используемых в фоновом дизайне:
Поток физического проектирования ASIC использует технологические библиотеки, предоставляемые производителями. Технологии обычно классифицируются по минимальному размеру элемента. Стандартные размеры в порядке миниатюризации: 2 мкм, 1 мкм, 0,5 мкм, 0,35 мкм, 0,25 мкм, 180 нм, 130 нм, 90 нм, 65 нм, 45 нм, 28 нм, 22 нм., 18нм, 14нм и т. Д. Их также можно классифицировать в соответствии с основными производственными подходами: n-луночный процесс, двухскважинный процесс, SOI процесс и т. Д.
Физический дизайн основан на списке соединений, который является конечным результатом процесса синтеза. Synthesis преобразует дизайн RTL, обычно закодированный на VHDL или Verilog HDL, в описания на уровне шлюза, которые следующий набор инструментов может прочитать / понять. Этот список соединений содержит информацию об используемых ячейках, их взаимосвязях, используемой области и другие детали. Типичными инструментами синтеза являются:
В процессе синтеза применяются ограничения, чтобы гарантировать соответствие проекта требуемой функциональности и скорость (технические характеристики). Только после того, как список соединений проверен на функциональность и синхронизацию, он отправляется в поток физического проектирования.
Вторым этапом процесса физического проектирования является планирование этажа. Планирование этажа - это процесс определения структур, которые следует размещать близко друг к другу, и распределения для них пространства таким образом, чтобы удовлетворить иногда противоречивые цели доступного пространства (стоимость чипа), требуемой производительности и желания иметь все близко ко всему остальному.
На основе области дизайна и иерархии выбирается подходящий план этажа. Планировка этажа учитывает используемые в проекте макросы, память, другие IP-ядра и их размещение, возможности маршрутизации, а также площадь всей конструкции. Планировка этажа также определяет структуру ввода-вывода и соотношение сторон дизайна. Плохая планировка приведет к неэффективному использованию площади кристалла и перегрузке трассы.
Во многих методологиях проектирования площадь и скорость являются предметами компромиссов. Это связано с ограниченными ресурсами маршрутизации, поскольку чем больше используется ресурсов, тем медленнее выполняется операция. Оптимизация для минимальной площади позволяет дизайну использовать меньше ресурсов и обеспечивает большую близость секций дизайна. Это приводит к более коротким межсоединениям, меньшему количеству используемых ресурсов маршрутизации, более быстрым сквозным сигнальным трактам и даже более быстрому и более согласованному времени места и маршрута. Если все сделано правильно, то к планировке нет ничего плохого.
Как правило, разделы пути к данным получают наибольшую выгоду от планирования этажа, тогда как случайная логика, конечные автоматы и другая неструктурированная логика могут безопасно быть оставлены на усмотрение раздела размещения программного обеспечения места и маршрута.
Пути данных обычно являются областями проекта, в которых несколько битов обрабатываются параллельно, причем каждый бит изменяется одинаково, возможно, с некоторым влиянием соседних битов. Примеры структур, составляющих пути данных: сумматоры, вычитатели, счетчики, регистры и мультиплексоры.
Разделение - это процесс разделения микросхемы на небольшие блоки. Это делается в основном для разделения различных функциональных блоков, а также для упрощения размещения и трассировки. Разделение может быть выполнено на этапе проектирования RTL, когда инженер-проектировщик разделяет весь проект на подблоки, а затем приступает к проектированию каждого модуля. Эти модули связаны друг с другом в основном модуле, называемом модулем TOP LEVEL. Такой вид разбиения обычно называется логическим разбиением. Цель разделения - разделить схему таким образом, чтобы количество соединений между разделами было минимальным.
Перед началом оптимизации размещения все модели нагрузки на провод (WLM) удаляются. Размещение использует значения RC из виртуального маршрута (VR) для расчета времени. VR - это кратчайшее манхэттенское расстояние между двумя кеглями. VR RC более точны, чем WLM RC.
Размещение выполняется в четыре этапа оптимизации:
Цель синтеза тактового дерева (CTS ) - минимизировать перекос и вставку задержка. Часы не распространяются до CTS, как показано на рисунке. После CTS провисание должно улучшиться. Дерево часов начинается с определенного источника синхронизации.sdc и заканчивается на стоп-выводах флопа. Есть два типа стопорных штифтов, известных как штифты игнорирования и штифты синхронизации. «Не трогай» схемы и выводы во внешнем интерфейсе (логический синтез) обрабатываются как «игнорируемые» схемы или выводы на заднем конце (физический синтез). Выводы «Игнорировать» игнорируются для анализа времени. Если часы разделены, необходим отдельный анализ перекоса.
Жесткость - это термин, введенный в Astro для обозначения ослабления ограничений. Чем выше жесткость, тем жестче ограничения.
Тактовая частота после CTSВ оптимизации дерева тактовых импульсов (CTO) тактовая частота может быть экранирована, чтобы шум не был связан с другими сигналами. Но экранирование увеличивает площадь на 12-15%. Так как тактовый сигнал является глобальным по своей природе, тот же металлический слой, который используется для маршрутизации питания, используется и для тактового сигнала. CTO достигается за счет выбора размера буфера, размера затвора, перемещения буфера, регулировки уровня и синтеза HFN. Мы пытаемся улучшить временные рамки настройки при предварительном размещении, при оптимизации размещения и пост-размещения перед этапами CTS, игнорируя при этом временное ослабление. При оптимизации размещения постов после CTS уменьшено время удержания. В результате CTS добавлено много буферов. Обычно для 100k гейтов добавляется около 650 буферов.
В процессе физического проектирования существует два типа маршрутизации : глобальная маршрутизация и подробная маршрутизация. Глобальная маршрутизация выделяет ресурсы маршрутизации, которые используются для соединений. Он также отслеживает назначение для конкретной сети.
Подробная маршрутизация выполняет фактические соединения. Во время маршрутизации необходимо учитывать различные ограничения, такие как DRC, длина провода, синхронизация и т. Д.
Физическая проверка проверяет правильность созданного макета. Это включает проверку того, что компоновка
Постобработка макета, также известная как подготовка данных маски, часто завершает физический дизайн и проверку. Он преобразует физический макет (многоугольники) в данные маски (инструкции для записи фотомаски ). Он включает