Полупроводники // Денис Нефедов

Маршрут проектирования цифровых микросхем

Facebook
Twitter
Google+
Pinterest
Vkontakte
Odnoklassniki
572 0
Из чего состоит процесс проектирования цифровых микросхем — от идеи до кремниевых образцов? В чем заключаются основные этапы проектирования, задачи и процессы каждого из них, а также сложности, которые появляются при переходе на более тонкие производственные нормы.

Меня зовут Денис Нефедов, я руковожу департаментом аппаратных решений дизайн-центра «Оптимизирующие технологии». Мы проектируем микросхемы разной степени сложности для российских и зарубежных заказчиков.

В этой статье я расскажу, из чего состоит процесс проектирования микросхем, сколько времени нужно на разработку, как дизайн-центры взаимодействуют с кремниевыми фабриками и от чего зависит выбор техпроцесса. Начнем.

Как проектируют микросхемы?

Как и любое другое техническое проектирование, разработка микросхем начинается с технического задания. Получив ТЗ, дизайн-центр разбивает описанный в нем функционал на аппаратную и программную реализацию. И начинает реализовывать аппаратную часть, для того чтобы впоследствии она была изготовлена в кремнии и выполняла описанную в техническом задании функцию. Процесс проектирования состоит из двух частей: логической (front-end) и физической (back-end). Разберем эти процессы подробнее.

Логическая часть

Первая часть — front-end, или логическое проектирование, — начинается с написания кода на специальном языке, который предназначен для описания аппаратуры, то есть процессов, происходящих внутри микросхемы. Наиболее распространенными языками описания аппаратуры сейчас являются Verilog и VHDL. Некоторые компании предпринимают попытки организовать поддержку описания аппаратуры на языках С, C++, но пока такой маршрут не сильно распространен в индустрии. В результате получается текстовый файл с описанием того, как должна работать микросхема. Его корректность проверяют с помощью поведенческого моделирования и соотнесения результатов с требованиями ТЗ.

Сразу отмечу, что проектирование микросхем невозможно без использования специальных средств автоматизированного проектирования (САПР). Сегодня в мире есть три основных поставщика САПР для разработки микроэлектроники — это компании Cadence, Synopsys и Siemens, поглотившая Mentor Graphics. Право на пользование САПР разработчики получают через приобретение лицензий, которые определяют период пользования и допустимое количество инженеров, одновременно взаимодействующих с САПР. Разные виды САПР необходимы на всех стадиях проектирования микросхемы.

С помощью средств проектирования — на первом этапе это логический синтезатор — код преобразуется в логическую схему. Примерно 30 лет назад такие схемы рисовали руками, то есть, если нужен был сумматор A + B = С, в котором каждое из чисел 32-разрядное, приходилось самостоятельно рисовать схему на логических элементах. Сейчас это автоматический процесс.

Кроме кода в логический синтезатор нужно добавить файл ограничений (constraints). Он главным образом описывает, на какой частоте должна работать схема, и необходим для того, чтобы логическая схема не только выполняла функцию, например суммирование, но и делала это достаточно быстро. Также уже на этом этапе, нужно задать информацию о кремниевой фабрике и библиотеке стандартных ячеек, которые она предоставляет.

Библиотека стандартных ячеек обычно включает в себя логические компоненты (инверторы, элементы «или», «и») и запоминающие (триггеры), а также их комбинации. Из этих элементов строится вся логическая схема проекта, а их геометрические размеры, скорости переключения и параметры энергопотребления будут в последствии определять соответствующие характеристики проектируемого изделия.

Говоря простыми словами, элементы библиотеки — это кирпичи, из которых мы строим микросхему и затем вносим лишь небольшие изменения. И для того чтобы поменять эти исходные элементы на каком-то из последующих этапов, нужно возвращаться к этапу логического синтеза и всё пересобирать из других кирпичей. Потому именно на этой стадии выбираются фабрика и библиотека стандартных ячеек, которую она предоставляет.

Кроме библиотеки важным является момент наличия IP-блоков — готовых элементов для проектирования микросхем. Подробнее об их значении расскажу ниже.

Возвращаемся к этапу логического синтеза. После того как вся информация загружена, система преобразует описание в логическую схему и формирует отчет, может ли эта схема на этой частоте и по этой технологии работать или нет. Если требуемые скоростные характеристики не достигаются, то рассматриваются варианты оптимизации логики функционирования аппаратуры или переход на более мелкую технологию изготовления: вместо 28 нм использовать 16 нм, например. Но если все полученные характеристики соответствуют требованиям, можно двигаться дальше.

Следующий этап — встраивание систем тестирования. Уже во время проектирования нужно подумать о том, чтобы после производства микросхему можно было легко протестировать. Если вернуться к примеру суммирования 32-разрядных чисел, то чтобы проверить такую схему, нужно перебрать 264 варианта. Это займет много времени, поэтому на логическом этапе встраиваются специальные схемы и алгоритмы технологического тестирования. Они также создаются с использованием САПР и предназначены для поиска только производственных дефектов без оценки правильности логического функционирования устройства. Фактически на этой точке заканчивается логическое проектирование и начинается физическая часть.

Физическая часть

На этом этапе из логической схемы нужно сделать послойный рисунок (топологию) и отдать эту информацию на фабрику. Для этого первым делом необходимо разработать план кристалла (floor planning). То есть взять область нужного размера в зависимости от логической сложности и расположить на нем подблоки нашего проекта: процессорное ядро, память, высокоскоростные интерфейсы (DDR, PCI-e) и другие элементы дизайна.

Разработка плана кристалла неразрывно связана с этапом расстановки и распределением контактных выводов. От того, как расставлены блоки, зависит расположение выводных контактов. И наоборот, иногда заранее есть рекомендации о том, как нужно расставить контактные терминалы, и, соответственно, план кристалла подстраивается под их расположение.

Затем проектируются цепи питания. Они должны должны быть определенной толщины и располагаться достаточно плотно, чтобы обеспечивалось функционирование микросхемы при максимальной нагрузке без просадок питания или перегорания питающих цепей.

Тут нужно сказать, что у цифровых логических схем есть определяющий атрибут — тактовая частота, или частота синхронизации. Ничто не «живет» внутри микросхемы без тактовой частоты. В связи с этим важный этап физического проектирования — построение «дерева» синхронизации, то есть цепей распределения тактовой частоты по схеме. Во время создания «дерева» нужно обеспечить, чтобы в каждую точку микросхемы тактовый сигнал пришел с минимально возможным расхождением относительно всех остальных точек схемы. Для достижения этого сигнал синхронизации разветвляется по схеме и многократно усиливается на всём своем пути от источника частоты до конечной точки на схеме.

После этого в план кристалла помещаются элементы логической схемы (placement), полученной во время логического синтеза. А затем происходит процесс соединения этих элементов металлическими проводниками (routing). Эти этапы также проходят при помощи средств проектирования с использованием собственных алгоритмов и средств оптимизации и проверки.

После размещения и соединения логических элементов схемы нужно вновь проверить, способна ли микросхема функционировать на необходимой частоте, но уже с учетом реализации в кремнии. Имея топологию кристалла, можно оценить фактические задержки того или иного сигнала, а также проверить работу сетки питания. По сути, на этом этапе проектирование кристалла закончено.

Далее информация о топологии микросхемы отправляется на фабрику, где каждый из слоев преобразуется в фотошаблон, который потом используется в производстве. Это сложный технологический процесс, похожий на проявку фотографии. А на стороне разработчиков в это время обычно готовятся к тестированию.

С производства кристаллы для микросхемы выходят в виде пластин, на которых их могут быть тысячи и сотни тысяч. Например, процессоров может быть до 1 тысячи, а микросхем для билетов в метро — 100 тысяч. Пластины разрезают на кристаллы и помещают в корпус. Выводы кристалла соединяются с выводами корпуса, и в таком виде микросхемы поступают на тестирование.

Тестирование также может быть проведено и на пластине. Часто так и делают, для того чтобы не тратить корпуса и не пакетировать брак — при стабильном производственном процессе обычно получается 2–3 % брака. Однако в таком случае после корпусирования необходимо провести еще одно тестирование (final test), потому что оно само по себе может вносить ошибки: где-то могут не соединиться контакты или сам корпус может оказаться бракованным. После этого протестированные микросхемы поступают в производство конечного устройства.

Как дизайн-центры взаимодействуют с фабриками?

К выбору фабрики дизайн-центры подходят с учетом предъявленных технических требований, скорости работы микросхемы, энергопотребления и стоимости. Исходя из этого опытный системный инженер может понять, какая технология подходит лучше всего.

Немаловажным, а иногда и определяющим фактором является наличие IP-блоков по выбранной технологии, если нам нужен DDR, PCI, USB, Ethernet или что-нибудь еще, что точно необходимо лицензировать. Это предложение необязательно должно быть от фабрики, и часто разработкой и лицензированием IP-блоков занимаются сторонние компании.

Еще один решающий параметр — стоимость. И тут всё не так однозначно, как может показаться. Например, у нас есть дилемма, что выбрать: технологию 28 или 16 нм? Здесь очень многое будет зависеть от объема производства. Обычно можно построить график зависимости стоимости конечной микросхемы от объема выпуска этих микросхем. После того как на нем будет найдена точка пересечения, например на 100 тыс. образцов, окажется, что выгоднее использовать технологию 16 нм, а не 28 нм.

Связано это с тем, что максимальные средства инвестируются в стоимость производства в самом начале, когда изготавливаются фотошаблоны. Они могут стоить от нескольких сотен тысяч до нескольких миллионов долларов. Но сами пластины, из которых нарезают кристаллы, стоят значительно меньше и не сильно отличаются для разных технологий, например для 16 и 28 нм. Таким образом, начальные затраты на фотошаблоны постепенно перераспределяются на каждый произведенный кристалл. А за счет того, что элементы, сделанные по технологии 16 нм, меньше, с одной пластины можно собрать больше кристаллов. И в какой-то момент стоимость кристалла, изготовленного по технологии 16 нм становится меньше, чем по 28 нм.

Такой анализ мы проводим всегда, чтобы понять, в каком случае при наших потенциальных объемах мы выйдем на более выгодное производство — есть ли смысл идти на более мелкие нормы, удешевлять кристалл и в результате микросхему, или нам это невыгодно, потому что начальные инвестиции нашим объемом мы всё равно не компенсируем.

Сколько времени занимает процесс производства микросхем?

Всё зависит от сложности. Полный цикл разработки — от согласования технического задания до передачи на фабрику информации о производстве — может занимать от полугода для простых микросхем, например контроллера внутри ключа для домофона, и до двух-трех лет для сложных микропроцессоров или графических ускорителей.

Еще больше времени занимает проектирование цифроаналоговых микросхем. Такие используются, например, в билетах в метро. Аналоговое проектирование обычно подразумевает несколько запусков на производстве: измерение получившихся параметров в кремнии и корректировку дизайна. Поэтому один типовой шаг проектирования микросхемы может быть уложен в шесть месяцев, но очень вероятно, что таких циклов понадобится несколько: два или три.

Какие средства ускоряют процесс разработки?

По сути, всё проектирование завязано на САПР, которые лицензируются и стоят существенных затрат. И главная задача — заставить эти средства работать правильно и выдавать качественный результат. То есть необходимо написать для них правильные настройки, задать правильные входные управляющие файлы и уметь правильно интерпретировать и анализировать тот результат, который эти средства выдают.

Кроме САПР разработку ускоряют за счет использования готовых и проверенных компонентов будущей микросхемы. Обычно это связано с необходимостью использовать высокоскоростные интерфейсы — DDR-память, PCIе-интерфейс и др. Это цифроаналоговые высокоскоростные интерфейсы, и их производство обычно многоитерационное. Поэтому, чтобы не разрабатывать всё самостоятельно, такие сложные высокоскоростные блоки проектировщики микросхем лицензируют у поставщиков — они уже проверены в кремнии и гарантированно работают.

Также к цифровым IP-блокам относятся такие стандартные вещи, как, например, ядро процессора. Его разработка — отдельный маршрут, для которого требуются специальные ресурсы. Поэтому при производстве микросхемы с таким блоком его лицензируют у ARM, MIPS, Synopsys или других производителей. В индустрии принято такое соотношение: цена лицензии на IP-блок должна быть более чем в два раза ниже, чем инвестиции в собственную разработку с нуля.

Таким образом, обычно в структуре микросхемы присутствуют как лицензируемые IP-блоки, определяющие стандартные вещи — процессорные ядра, интерфейсы, память, — так и блоки собственной разработки, которые обеспечивают ориентацию микросхемы на конкретную специфику.

С чем связаны сложности, которые возникают из-за уменьшения производственных норм?

При уменьшении производственных норм процесс разработки значительно усложняется по ряду причин:

  • сложность и размеры проектов увеличиваются, что, в свою очередь, увеличивает время моделирования и обсчета параметров микросхем;
  • вариации параметров элементов схем влияют на производительность в большей степени для более тонких (7 нм, 5 нм …) технологий, что ведет к необходимости учитывать их в большем объеме и применять статистические методы расчета;
  • при уменьшении размеров компонентов схем и расстояний между ними, уменьшаются, в свою очередь, и уровни сигналов внутри схемы, что повышает вероятность помех и наводок с соседних проводников и компонентов. Приходится проводить дополнительные анализы и применять специальные меры для уменьшения таких эффектов, как, например, экранирование чувствительных сигналов;
  • изменения на тонких нормах физических свойств материалов и начинающееся влияние квантовых эффектов становятся актуальными и тоже должны быть учтены при проектировании.

Что еще почитать о проектировании микросхем?

  • Материал кандидата технических наук Владимира Стешенко о проектировании сверхбольших интегральных схем
  • Главу из книги ASIC Design and Synthesis о дизайн-процессе интегральных схем специального назначения (ASIC).

    ПОДПИШИСЬ НА НАШУ ТЕХНО-РАССЫЛКУ
    ПОДПИШИСЬ
    НА НАШУ ТЕХНО-РАССЫЛКУ