Проектирование интегральных схем , или проектирование ИС , — это подобласть электроники , охватывающая конкретные методы логики и проектирования схем , необходимые для проектирования интегральных схем или ИС. ИС состоят из миниатюрных электронных компонентов , встроенных в электрическую сеть на монолитной полупроводниковой подложке методом фотолитографии .
Проектирование ИС можно разделить на широкие категории: проектирование цифровых и аналоговых ИС. Проектирование цифровых ИС направлено на производство таких компонентов, как микропроцессоры , FPGA , память ( ОЗУ , ПЗУ и флэш-память ) и цифровые ASIC . Цифровой дизайн фокусируется на логической корректности, максимальной плотности схем и размещении схем таким образом, чтобы сигналы синхронизации и синхронизации распределялись эффективно. Компания Analog IC Design также специализируется на разработке силовых и радиочастотных микросхем. Аналоговая конструкция ИС используется при проектировании операционных усилителей , линейных регуляторов , систем фазовой автоподстройки частоты , генераторов и активных фильтров . Аналоговый дизайн больше связан с физикой полупроводниковых устройств, такой как усиление, согласование, рассеиваемая мощность и сопротивление . Точность усиления и фильтрации аналогового сигнала обычно имеет решающее значение, и в результате в аналоговых ИС используются активные устройства большей площади, чем в цифровых конструкциях, и обычно они имеют меньшую плотность схемы.
Современные микросхемы чрезвычайно сложны. Средний чип настольного компьютера по состоянию на 2015 год содержит более 1 миллиарда транзисторов. Правила относительно того, что можно и что нельзя производить, также чрезвычайно сложны . Общие процессы ИК 2015 года насчитывают более 500 правил. Более того, поскольку сам производственный процесс не полностью предсказуем, конструкторам приходится учитывать его статистический характер. Сложность современного проектирования ИС, а также потребность рынка в быстром производстве проектов привели к широкому использованию инструментов автоматизированного проектирования в процессе проектирования ИС. Короче говоря, проектирование ИС с использованием программного обеспечения EDA — это проектирование, тестирование и проверка инструкций, которые ИС должна выполнять.
Проектирование интегральных схем включает в себя создание электронных компонентов, таких как транзисторы , резисторы , конденсаторы , и соединение этих компонентов на полупроводниковом элементе, обычно кремниевом . Необходим метод изоляции отдельных компонентов, образующихся в подложке , поскольку кремний подложки является проводящим и часто образует активную область отдельных компонентов. Двумя распространенными методами являются изоляция pn-перехода и диэлектрическая изоляция. Необходимо уделять внимание рассеянию мощности транзисторов и сопротивлению межсоединений, а также плотности тока межсоединений, контактов и переходных отверстий , поскольку микросхемы содержат очень маленькие устройства по сравнению с дискретными компонентами, где такие проблемы не являются проблемой. Электромиграция в металлических соединениях и повреждение мелких компонентов от электростатического разряда также вызывают беспокойство. Наконец, физическая компоновка определенных субблоков схемы обычно имеет решающее значение для достижения желаемой скорости работы, для отделения шумных частей ИС от тихих частей, для балансировки эффектов выделения тепла в ИС или для облегчения размещения соединений со схемами вне микросхемы.
Типичный цикл проектирования микросхем включает в себя несколько этапов:
Сфокусированные ионные пучки могут использоваться во время разработки чипов для установления новых связей в чипе. [1] [2]
Грубо говоря, проектирование цифровых микросхем можно разделить на три части.
Обратите внимание, что второй этап — проектирование RTL — отвечает за правильную работу чипа. Третий шаг, физическое проектирование, вообще не влияет на функциональность (если все сделано правильно), но определяет, насколько быстро работает чип и сколько он стоит.
Стандартная ячейка обычно представляет собой один логический элемент . Использование стандартных ячеек позволяет разделить конструкцию чипа на логический и физический уровни. Компания, не имеющая собственных производственных мощностей, обычно работает только над логическим проектом чипа, определяя, как соединяются ячейки и функциональность чипа, при этом следуя правилам проектирования, установленным на литейном заводе, на котором будет изготовлен чип, в то время как физический дизайн чипа, Сами ячейки обычно изготавливаются на литейном заводе и включают в себя физику транзисторных устройств и то, как они соединяются для формирования логического элемента.
Литейные заводы поставляют библиотеки стандартных ячеек компаниям, не имеющим собственных производственных мощностей, для целей проектирования и для обеспечения возможности производства их конструкций на мощностях литейного завода. Комплект проектирования процесса (PDK) может быть предоставлен литейным заводом и может включать в себя стандартную библиотеку ячеек, а также спецификации ячеек и инструменты для проверки конструкции компании, не имеющей собственных производственных мощностей, на соответствие правилам проектирования, установленным литейным заводом, а также для моделирования это с использованием литейных ячеек. PDK могут предоставляться по соглашениям о неразглашении.
Процесс разработки интегральной схемы (ИС) начинается с определения требований к продукту, проходит через определение архитектуры, реализацию, внедрение и, наконец, производство. Ниже описаны различные этапы процесса разработки интегральных схем. Хотя этапы представлены здесь в простой форме, на самом деле существуют итерации , и эти шаги могут повторяться несколько раз.
Прежде чем можно будет определить архитектуру , необходимо определить некоторые цели продукта высокого уровня. Требования обычно создаются межфункциональной командой, которая учитывает рыночные возможности , потребности клиентов, осуществимость и многое другое. Результатом этого этапа должен стать документ с требованиями к продукту .
Архитектура определяет фундаментальную структуру, цели и принципы продукта. Он определяет концепции высокого уровня и внутреннюю ценность продукта. Архитектурные команды принимают во внимание множество переменных и взаимодействуют со многими группами. Люди, создающие архитектуру, обычно имеют значительный опыт работы с системами в той области, для которой создается архитектура. Результатом этапа архитектуры является архитектурная спецификация .
Микроархитектура — это шаг ближе к аппаратному обеспечению. Он реализует архитектуру и определяет конкретные механизмы и структуры для достижения этой реализации. Результатом этапа микроархитектуры является спецификация микроархитектуры, описывающая методы, используемые для реализации архитектуры.
На этапе реализации создается сам проект с использованием микроархитектурной спецификации в качестве отправной точки. Это включает в себя определение и разделение низкого уровня, написание кода , ввод схем и проверку. Этот этап заканчивается завершением разработки проекта .
После того, как конструкция создана, записана на пленку и изготовлена, получается фактическое оборудование, «первый кремний», который отправляется в лабораторию, где он проходит доработку . Подготовка — это процесс включения, тестирования и определения характеристик конструкции в лаборатории. Выполняются многочисленные тесты , начиная с очень простых тестов, таких как проверка включения устройства, до гораздо более сложных тестов, которые пытаются подвергнуть деталь различным нагрузкам. Результатом этапа подготовки является документирование данных характеристик (насколько хорошо деталь работает в соответствии со спецификацией) и ошибок (неожиданное поведение).
Производство — это задача перевода дизайна из инженерного состояния в серийное производство. Хотя конструкция может успешно соответствовать спецификациям продукта в лаборатории на этапе разработки, инженеры-разработчики сталкиваются со многими проблемами при попытке массового производства этих конструкций. ИК необходимо довести до объемов производства с приемлемым выходом . Целью этапа производства является достижение объемов массового производства при приемлемой стоимости.
Как только конструкция станет зрелой и достигнет массового производства, ее необходимо поддерживать. Процесс необходимо постоянно контролировать и быстро решать проблемы, чтобы избежать значительного влияния на объемы производства. Целью устойчивого развития является поддержание объемов производства и постоянное снижение затрат до тех пор, пока срок службы продукта не закончится .
Первоначальный процесс проектирования чипа начинается с проектирования на уровне системы и планирования микроархитектуры. В компаниях, занимающихся разработкой микросхем, руководство и часто аналитики составляют предложение для группы разработчиков, которая приступит к разработке нового чипа, подходящего для определенного отраслевого сегмента. На этом этапе дизайнеры верхнего уровня встретятся, чтобы решить, как чип будет работать функционально. На этом этапе определяются функциональность и дизайн микросхемы. Разработчики ИС наметят функциональные требования, стенды для проверки и методологии тестирования для всего проекта, а затем превратят предварительный проект в спецификацию системного уровня, которую можно моделировать с помощью простых моделей с использованием таких языков, как C++ и MATLAB, а также инструментов эмуляции. Для чистых и новых проектов на этапе проектирования системы планируются набор команд и операции, а в большинстве микросхем существующие наборы команд модифицируются для обеспечения новых функций. Проектирование на этом этапе часто представляет собой такие утверждения, как кодирование в формате MP3 или реализация арифметики с плавающей запятой IEEE . На более поздних стадиях процесса проектирования каждое из этих невинных на первый взгляд утверждений разрастается до сотен страниц текстовой документации.
После согласования проекта системы проектировщики RTL затем реализуют функциональные модели на языке описания оборудования, таком как Verilog , SystemVerilog или VHDL . Используя компоненты цифрового проектирования, такие как сумматоры, сдвигатели и конечные автоматы, а также концепции компьютерной архитектуры, такие как конвейеризация, суперскалярное выполнение и предсказание ветвей , разработчики RTL разбивают функциональное описание на аппаратные модели компонентов на кристалле, работающих вместе. Каждое из простых утверждений, описанных в проекте системы, может легко превратиться в тысячи строк кода RTL , поэтому крайне сложно проверить, что RTL будет делать правильные действия во всех возможных случаях, которые может ему бросить пользователь. .
Чтобы уменьшить количество функциональных ошибок, отдельная группа проверки оборудования возьмет на себя RTL и спроектирует испытательные стенды и системы, чтобы проверить, что RTL действительно выполняет одни и те же шаги при множестве различных условий, классифицируемых как область функциональной проверки . Используется множество методов, ни один из которых не идеален, но все они полезны — обширное логическое моделирование , формальные методы , аппаратная эмуляция , проверка кода в стиле lint , покрытие кода и так далее.
Малейшая ошибка может сделать весь чип бесполезным или даже хуже. Знаменитая ошибка Pentium FDIV привела к тому, что результаты деления были неверными максимум на 61 часть на миллион, причем в случаях, которые происходили очень редко. Никто этого даже не заметил, пока чип не находился в производстве несколько месяцев. Тем не менее , Intel была вынуждена предложить бесплатную замену каждого проданного чипа до тех пор, пока они не исправят ошибку, за 475 миллионов долларов США. [ нужна цитата ]
RTL — это всего лишь поведенческая модель фактической функциональности того, с чем должен работать чип. Он не имеет никакой связи с физическим аспектом того, как чип будет работать в реальной жизни с точки зрения материалов, физики и электротехники. По этой причине следующим шагом в процессе проектирования микросхемы, этапом физического проектирования , является отображение RTL в реальных геометрических представлениях всех электронных устройств, таких как конденсаторы, резисторы, логические элементы и транзисторы, которые будут установлены на кристалле.
Основные этапы физического проектирования перечислены ниже. На практике не существует однозначного прогресса: требуются значительные итерации, чтобы обеспечить одновременное достижение всех целей. Это сложная проблема сама по себе, называемая закрытием проекта .
До появления микропроцессоров и программных средств проектирования аналоговые ИС проектировались с использованием ручных расчетов и деталей технологических наборов. Эти микросхемы представляли собой схемы низкой сложности, например, операционные усилители , обычно состоящие из не более десяти транзисторов и небольшого количества соединений. Для создания технологичной ИС часто требовался итерационный процесс проб и ошибок и «чрезмерное проектирование» размера устройства. Повторное использование проверенных конструкций позволило создавать все более сложные микросхемы на основе предварительных знаний. Когда в 1970-х годах стала доступна недорогая компьютерная обработка, были написаны компьютерные программы для моделирования схем с большей точностью, чем практический расчет вручную. Первый симулятор аналоговых микросхем назывался SPICE (Программа моделирования с акцентом на интегральные схемы). Инструменты компьютерного моделирования схем обеспечивают большую сложность проектирования микросхем, чем могут достичь ручные расчеты, что делает проектирование аналоговых ASIC практичным.
Поскольку при аналоговом проектировании необходимо учитывать множество функциональных ограничений, ручное проектирование сегодня все еще широко распространено. В результате современные процессы проектирования аналоговых схем характеризуются двумя разными стилями проектирования – сверху вниз и снизу вверх. [4] В нисходящем стиле проектирования используются инструменты оптимизации, аналогичные обычным цифровым потокам. Процедуры «снизу вверх» повторно используют «экспертные знания» с результатом решений, ранее задуманных и зафиксированных в процедурном описании, имитируя решение эксперта. [4] Примером являются генераторы ячеек, такие как PCells .
Проблема, наиболее критическая для проектирования аналоговых ИС, связана с вариативностью отдельных устройств, построенных на полупроводниковом кристалле. В отличие от проектирования схем на уровне платы, которое позволяет разработчику выбирать устройства, каждое из которых было протестировано и распределено по значениям, значения устройств на ИС могут варьироваться в широких пределах, и разработчик не может их контролировать. Например, некоторые резисторы IC могут варьироваться в пределах ±20%, а β встроенного биполярного транзистора может варьироваться от 20 до 100. В новейших процессах КМОП β вертикальных PNP-транзисторов может даже опускаться ниже 1. Чтобы усложнить проектирование, свойства устройства часто различаются между каждой обрабатываемой полупроводниковой пластиной. Свойства устройств могут даже значительно различаться в зависимости от каждой отдельной микросхемы из-за градиентов легирования . Основная причина этой изменчивости заключается в том, что многие полупроводниковые устройства очень чувствительны к неконтролируемым случайным отклонениям в процессе. Небольшие изменения во времени диффузии, неравномерность уровней легирования и т. д. могут сильно повлиять на свойства устройства.
Некоторые методы проектирования, используемые для уменьшения влияния вариации устройства: [5]
Тремя крупнейшими компаниями, продающими инструменты автоматизации электронного проектирования, являются Synopsys , Cadence и Mentor Graphics . [6]