От спецификации до производства: где обучают разработке микросхем на практике
«Несколько лет в университете приносят меньше знаний, чем несколько месяцев практики в реальной компании». Этот аргумент в пользу «ненужности» высшего образования звучит все громче. Но что если результат обучения в магистратуре — не вымученный, написанный «в стол» диплом, а топология микроконтроллера, готовая к печати на фабрике?
Несколько лет назад МИЭТ и YADRO решили заложить в основу новой магистерской программы проект, который объединит студентов, желающих стать инженерами в сфере микроэлектроники. За два года ребята проходят полноценный маршрут проектирования системы на кристалле — от спецификации до топологии, в комфортной среде без бизнес-рисков, под руководством опытных менторов. Александр Силантьев, руководитель лаборатории НИЛ СФБ и старший преподаватель НИУ МИЭТ, лектор Школы синтеза цифровых схем, рассказал про то, как строится программа и какие обязательные этапы проходят будущие инженеры. А еще — про характеристики чипа, созданного «руками и головами» магистрантов, который скоро вернется с фабрики.
- что в основе новой магистратуры от МИЭТ и YADRO
- что такое программа MPW
- что изучают магистранты и зачем им «выравнивающий» семестр
- как выстроен маршрут обучения студентов
- как будет развиваться программа дальше
Во всех вузах России (включая МИЭТ), которые обучают инженеров в сфере микроэлектроники, существует разделение по направлениям подготовки: отдельно обучают будущих топологов, отдельно — RTL-дизайнеров. А учебных курсов и направлений, связанных с функциональной верификацией, почти нет. Хотя создание цифровых микросхем держится на этих трех столпах: топология, RTL-дизайн, верификация.
Три года назад вместе с YADRO мы задумались, как готовить более квалифицированных выпускников по этим направлениям. Решили, что не хотим поддерживать их разделение. Студенты, которые видят свое будущее в разработке микроэлектроники, должны изучать смежные области и уметь общаться между собой. То есть сначала пройти базовую подготовку по всем трем направлениям, а уже затем выбрать специализацию. Практикоориентированность была вторым требованием к новой программе. Хотелось предоставить студентам комфортную среду для первых проб и ошибок, далекую от бизнес-требований, дедлайнов и реальных заказчиков.
Открыть новую магистерскую программу непросто. Поэтому сначала мы собрали дополнительную программу к основной в магистратуре: чтобы опробовать подход, запустить новые дисциплины и обновить старые, собрать их в одну учебную программу. У нас было два таких «тестовых» набора.
Затем этот «пилот» стал полноценной магистратурой «Вычислительные системы и ЭКБ». Она создана в рамках передовой инженерной школы МИЭТ, направленной на подготовку кадров для проектирования микросхем, создания САПРов и оборудования для производства микроэлектроники, например литографов. Это партнерская магистратура с YADRO, но не думайте, что на программу принимают только тех, кто работает или хочет работать в этой компании. Она открыта для всех желающих, кто готов пройти классический конкурсный отбор в вуз.
От общего к частному: что в основе новой магистерской программы
Первый семестр первого курса мы называем «выравнивающим». На нем преподаватели МИЭТ, в числе которых сотрудники YADRO, дают студентам основы RTL, топологического проектирования, верификации. Так мы закладываем общую базу. Потому что, например, ребята, которые учились на направлениях, связанных с топологией, понимают физику микроэлектроники и проектирование схемотехники, но ничего не знают про RTL-проектирование. И наоборот, те, кто обучался RTL и разбирается в архитектуре процессоров, может даже не представлять, чем занимаются топологи.
Со второго семестра мы возвращаемся к специализации — появляются дисциплины, связанные конкретно с одним из трех направлений. Выстраиваем и улучшаем образовательные курсы так, чтобы заполнять пробелы в знаниях студентов. Но, естественно, только на теоретических блоках и лабораторных работах цельного специалиста не вырастить. Поэтому у нас есть важная практическая составляющая: все магистранты работают над одним проектом.
Проект мы выполняем в рамках производства интегральных схем по системе MPW (Multi-Project Wafer) — мультипроектного размещения интегральных схем в едином кадре. Это бесплатная для российских образовательных организаций программа запуска производства спроектированных чипов на отечественных фабриках. Среди них — «Микрон», «Светлана-Рост», «ЗНТЦ» и ряд других фабов. С 2023 года НИУ МИЭТ стал оператором единственного в России вузовского технологического сервиса MPW. Это значит, что он собирает проекты интегральных схем с разных вузов и организовывает их запуски на производствах.
Для исследовательских и образовательных команд из университетов это уникальная возможность довести до прототипа учебный проект и увидеть, что получится в реальности. Ведь российские фабрики не готовы к работе с образовательными организациями. С другой стороны, тем же фабрикам будет проще развивать производство совместно с вузами, выпускники которых уже будут знакомы с техпроцессами фабов и проектированием под них. Получается win-win коллаборация индустрии и вузов.
Наша цель — сделать так, чтобы каждый магистрант нашей программы поучаствовал в тейпауте (выпуске на фабрике) одной или нескольких микросхем. Причем прошел этот путь полностью: от составления спецификаций до верификации полученного с фабрики образца.
Чему обучают магистрантов
Ранее я упомянул, что мы готовим RTL-разработчиков, верификаторов, топологов. Синим в таблице ниже выделены базовые курсы, которые читаются всем студентам магистратуры, вне зависимости от специализации. Далее — по колонкам можно посмотреть, какие знания получают ребята на разных профессиональных «маршрутах».
Большинство технологий и инструментов, необходимых разработчикам микроэлектроники, сейчас в магистратуре освещены. Безусловно, всегда есть моменты, которые можно улучшить либо добавить. Например, мы работаем над продвинутым курсом по DFT (design-for-testability) — созданию тестопригодных схем при проектировании СнК, для улучшения проверки при серийном производстве.
«Нулевой шаг» магистратуры
Тогда команда бакалавров (будущих магистрантов программы), инженеров и преподавателей совместной лаборатории YADRO и МИЭТ, созданной на базе Института микроприборов и систем управления (МПСУ), разработала тестовый микроконтроллер. Костяк лаборатории — это инженеры, совмещающие деятельность по проектированию и преподавание профильных дисциплин в бакалавриате и магистратуре. Все они решают реальные индустриальные задачи от партнеров и заказчиков, так что преподаватели здесь — не просто теоретики, а практики с большим опытом, востребованным в компаниях.
Для тестового микроконтроллера взяли процессорное ядро компании Syntacore, написали дополнительный RTL-код, все верифицировали и собрали топологию.
Характеристики у микроконтроллера следующие:
- процессор SCR1 на открытой архитектура RISC-V,
- тактовая частота 85 МГц,
- ОЗУ 128 КБ,
- интерфейсы UART, SPI, I2C, CAN, JTAG,
- таймеры.
Мы не замахивались на что-то очень сложное и большое. Цель была — собрать микроконтроллер для встраиваемых систем самых простых конфигураций, который в некоторой степени перекликается с коммерческим чипом «Амур». Наш чип чуть быстрее по скорости, в нем больше оперативной памяти. Но в нем нет таких компонентов СнК, как встраиваемые ЦАП и АЦП (цифро-аналогового преобразователя и аналого-цифрового преобразователя соответственно), PLL (phase-locked loop) и постоянной памяти (ПЗУ). Время на проектирование микроконтроллера было ограничено, поэтому этот проект — именно прототип, а не продукт, который можно изготавливать серийно.
Прототип помог нам сделать самый первый запуск MPW. На нем мы отрабатывали нюансы работы с фабрикой «Микрон». Как сотрудники лаборатории мы раньше ничего на ней не выпускали, поэтому прежде чем масштабировать опыт на магистрантов, нужно было пройти этот путь самим.
Первый проект, полностью созданный магистрантами
Летом этого года мы выпустили первых магистров. Командный проект ребят — микросхема размером 7,5×7,5 мм — уже отдан на фабрику «Микрон». В начале 2025 года мы получим физическое воплощение результата их работы. К сожалению, тестировать готовый СнК будут уже не они. Сейчас мы думаем, как оптимизировать программу обучения так, чтобы студенты смогли еще и проверить разработанный ими чип в железе.
Спецификация их проекта была такой:
- процессор SCR1 от Syntacore,
- объем SRAM-памяти — 128 КБ,
- частота — 85 МГц.
В число периферийный интерфейсов вошли SPI, UART, GPIO, JTAG. Также они добавили встроенный АЦП и тактовый генератор. Все это, кроме процессора, спроектировали магистранты под менторством преподавателей. То есть с нуля спроектировали DMA, Interconnect и другие блоки — это колоссальная работа.
Маршрут проектирования микросхемы, который проходят студенты
Если сильно упрощать маршрут и описывать его в одном предложении, то на входе у нас есть спецификация для разрабатываемой микросхемы, а на выходе — топология микросхемы в виде послойных схем. Они пойдут на фабрику, где изготовят фотошаблон.
В индустрии существуют открытые маршруты проектирования. Мастодонты здесь — компании Cadence и Synopsys, которые занимают большую часть рынка САПР для проектирования микроэлектроники. Для обучения магистрантов мы используем маршрут Cadence — так они получают опыт, приближенный к стандартам, используемым в промдизайне компаний.
Основные задачи, которые стоят перед студентами в рамках проекта:
- разработка системы сборки,
- разработка документации на IP-блоки,
- разработка и верификация IP-блоков,
- интеграция этих блоков на топ,
- логический синтез,
- FPGA-прототипирование,
- физический синтез,
- системная верификация.
Рассмотрим некоторые задачи подробнее.
Составление спецификации
Все начинается со спецификации. Каждому новому набору магистрантов мы предлагаем придумать и проработать спецификацию микроконтроллера либо иной микросхемы, которую они будут проектировать. Они описывают, какими характеристика будет обладать микросхема, какие блоки и интерфейсы нужно добавить и так далее. Конечно, «учебная» спецификация не такая подробная и серьезная, как в коммерческой разработке. Но это важный шаг к тому, чтобы ребята понимали: в разработке микроэлектроники документация первична. Дизайн — на втором плане, поскольку он лишь отображает придуманную спецификации.
Разработка IP-блоков
Этапов разработки всегда несколько, и это итеративный процесс. Ты получаешь результат, проверяешь, соответствует ли он спецификации, верифицируешь и возвращаешь на доработку при необходимости. Именно о разработке подробно говорить мы не будем, это тема отдельной статьи. Важно запомнить, что проверка, верификация, результата есть на каждом этапе, она пронизывает весь маршрут разработки.
Верификация
Верификация позволяет отлавливать критические баги. При этом отверифицировать видеокарту или многоядерный процессор на 100% невозможно, поэтому специалисты концентрируются на том, чтобы найти критические проблемы в приемлемое для этого время. Проверять какой-то дизайн годами — не очень оптимально.
Существуют разные методы верификации, и магистранты практикуют их все:
Функциональная верификация (LEC) — проверка устройства на соответствие заявленной спецификации: выполняет ли оно все заложенные в него функции и ведет ли себя полностью предсказуемо.
Cтатический временной анализ (STA) — оценка, укладываются ли задержки элементов в те частоты, которые мы хотим получить. Допустим, мы указали в спецификации, что процессорное ядро внутри микроконтроллера должно работать на частоте 85 МГц. STA сообщает, укладываемся ли мы в этот показатель. Если нет, нужно что-то перепроектировать.
Физическая верификация (DRS/LVC) — это проверка корректности топологии и ее соответствия изначальной схеме. К этому же методу относится проверка правил проектирования, которые выставляет фабрика. Производство, как правило, указывает допустимые метрики рисунка топологии, которые нужно обеспечить.
Один из основных инструментов функциональной верификации цифровых схем — это моделирование проектируемой системы. На входы схемы подаются тестовые воздействия, а с ее выходов снимаются результаты обработки, которые затем сравниваются с ожидаемыми результатами эталонной модели (golden reference model, GRM). Существует три основных подхода к моделированию схем: симуляция, эмуляция и прототипирование на ПЛИС.
Симуляция — это программный способ моделирования схемы. Он позволяет моделировать поведение схемы на различных уровнях абстракции: поведенческом (behavioral), уровне регистровых передач (RTL), уровне логических вентилей. Метод предоставляет высокую точность моделирования и возможность учета временных задержек, но его производительность значительно снижается с увеличением количества элементов схемы. Несмотря на это, симуляция остается наиболее гибким способом моделирования и позволяет интегрировать верификационное окружение со средствами автоматизации тестирования.
Эмуляция и прототипирование на ПЛИС — это аппаратные способы моделирования схемы. Время моделирования не зависит от количества вентилей в схеме, так как она воспроизводится в железе и не требует вычислений состояния всех внутренних сигналов.
Эмуляция требует дорогостоящих специализированных устройств (эмуляторов) и позволяет смоделировать схему на уровне логических вентилей с точностью до такта (cycle-accurate модель). Метод хорошо подходит для тестирования больших схем, включая их взаимодействие с внешними устройствами, такими как драйверы, и работу ПО. Но использование эмуляторов может существенно увеличить стоимость процесса верификации.
Прототипирование на ПЛИС представляет собой реализацию проектируемой схемы на программируемой логической интегральной схеме. Подход не требует специализированных устройств — достаточно самой ПЛИС и интерфейсного оборудования для тестовых воздействий и считывания результатов. Метод быстр в реализации, что делает его особенно полезным для раннего тестирования производительности системы в реальном времени. Но у него есть ограничения:
- Сложно проанализировать внутренние состояния схемы, так как доступ к внутренним сигналам ограничен.
- Непросто интегрировать ПЛИС с верификационным окружением, используемым при симуляции и эмуляции.
- Подготовка прототипа (синтез, размещение, трассировка) занимает значительное время, к тому же нужно учитывать ограничения ресурсов ПЛИС.
Физическое проектирование
Проектирование топологии — один из ключевых этапов в разработке интегральных схем. Это перенос электрической схемы в набор фотошаблонов, нормы проектирования которых предоставляет фабрика. При этом у каждой фабрики свои нормы, и просто прийти на другую фабрику с фотошаблонами, сделанными для другой, нельзя.
Тополог, как художник, «рисует» геометрические фигуры в творческом поле и в зависимости от типа электрической схемы переносит ее в фотошаблоны — например, кремний или металлы.
При создании топологий есть два параметра верификации — проверки на соответствие. Первый из них — это DRC (design rule check). Это первичная проверка на соответствие технологическим нормам, которые предоставляет фабрика. Если расположить металлы слишком близко друг к другу, фабрика просто не сможет произвести такую микросхему из-за недостаточной точности оборудования. Тополог должен это поправить и после этого провести еще одну верификацию — LVS (layout versus schematic) — на соответствие электрической схемы с топологией. Все, что будет произведено в кремнии, должно соответствовать тому, что спроектировано на транзисторном уровне.
После верификации идет этап экстракции, входящий в проектирование топологии. Здесь устраняются ранее возникшие недочеты. Например, сделали длинный провод — набежала дополнительная емкость на подложку, сделали тонкий провод — появилось дополнительное сопротивление. Это сильно влияет на характеристики схемы, на время переключения из единицы в ноль и наоборот.
Исправленные параметры заново вносятся в схему, после чего она корректируется и в виде набора фотошаблонов передается на фабрику. По факту топология — заключительный этап в создании микросхем.
Кто поступает в магистратуру
Как правило, студентов можно поделить на две группы.
У первых есть бэкграунд в виде направления подготовки в бакалавриате. Чаща всего оно так или иначе связано с высшей математикой, информатикой, вычислительной техникой, наноэлектроникой, радиофизикой.
Вторые — получили какой-то практический опыт на стажировках или при написании дипломной работы. У этих ребят, как правило, есть четкое понимание, зачем они идут в магистратуру. При этом отсутствие такого опыта не снижает шансы студента на поступление.
Прошлые два года мы набирали до 10 человек. В этом году увеличили набор до 14−15 студентов. В следующем году тоже будут изменения в квоте на поступление.
Как поступить в магистратуру
Вступительное испытание в магистратуру похоже на собеседование с приемной комиссией. Это не просто ответ на билет с теорией. Мы говорим про опыт, который абитуриент получил в рамках бакалаврского диплома, какие знания у него есть и как он их умеет применять. Понимает ли, в какую магистратуру идет и зачем. Здорово, если абитуриент уже где-то стажируется или работает в компании по профилю. Это показывает, что он уже начал закреплять полученные знания на практике и лучше понимает, что его ждет во время и после обучения.
Зачем идти в магистратуру, если можно просто начать работать
Многие ребята, в том числе мои студенты, которые уже получили реальный опыт работы, начинают думать, что они все знают и умеют. Но это обманчивая мысль: даже двухлетний опыт работы на полставки не сделает из стажера готового специалиста, способного самостоятельно решать задачи.
Магистратура позволяет студентам закрывать пробелы в знаниях практическими навыками, которые они пока не смогли получить на работе. Помимо этого, программа развивает кругозор, который пригодится для карьерного роста.
Есть еще один важный момент, почему магистратура важна. Здесь вы напишете магистерский диплом — работу, которая отличается от бакалаврского. Последний — это инженерно-квалификационная работа, в которой студенту ставится конкретная задача для решения. Пришел начальник — сказал тебе сделать вот так. Получил результат — молодец.
Магистерский же диплом включает элементы научного исследования и обоснования своего решения. Научный руководитель ставит более широкую задачу. Чтобы ее решить, нужно сформулировать подходы, которые будут применяться при ее решении, и обосновать их. Затем — развернуто описать проделанную работу и ее результаты, а также защитить, то есть обосновать свой исследовательский выбор.
Получаются, магистрант учится читать научные статьи, выдвигать и обосновывать гипотезы, грамотно излагать мысли в тексте и защищать свои идеи. Это как раз те навыки, которые нужны ведущим инженерам, руководителям команд. Конечно, этому можно научиться на работе или самостоятельно. Но это часто более долгий процесс, ведь у тебя нет ни ментора, ни структуры обучения. А еще — твои знания никто не верифицирует, пока сама жизнь не подскажет, что ты делаешь что-то неправильно.
Это не значит, что все поголовно должны идти в магистратуру. Но если хочется шагнуть дальше, вырасти в карьере выше, то это крайне желательно.
Планы развития магистратуры
В сентябре к нам пришли новые ребята, сейчас у них проходит первый — выравнивающий — семестр. Начиная со второго семестра они начнут составлять спецификацию микросхемы, которая станет их общим проектом.
Магистратура продолжит развиваться. Есть дисциплины, которые мы уже полностью «упаковали», а есть курсы на доработке, которые мы улучшаем и дополняем материалами. Поскольку образовательных курсов по верификации в России вообще не существовало либо они читались усеченно, мы улучшаем программу с каждым годом и семестром, в ходе обучения ребят.
Часть материала, который мы преподаем в магистратуре, хотим перенести в бакалавриат. Видим, что некоторые знания востребованы ребятами на более ранних курсах, когда они уже ищут стажировки в компаниях.
Вместо заключения
Команда преподавателей, которая создала и развивают магистратуру «Вычислительные системы и ЭКБ», также читают лекции в открытой «Школе синтеза цифровых схем». Она проводится ежегодно с 2020 года, и стать студентом может любой желающий. Мы хотим сделать образование в сфере электроники более доступным и понятным для нынешних абитуриентов. Еще пять лет назад мало кто из ребят, которые поступали в бакалавриат МИЭТ, понимали на младших курсах, что такое RTL-проектирование: чем занимается RTL-дизайнер и как им стать. Сейчас этот «тренд» постепенно исправляется благодаря Школе синтеза и другим инициативам, поддерживаемым YADRO.
Верификация — следующее направление, которое мы хотим сделать более доступным. Поэтому перенесли часть разработанных образовательных программ по верификации в Школу и бакалаврскую программу МИЭТ. А еще уже несколько лет это направление представлено в инженерном хакатоне SoC Design Challenge, созданном совместно с YADRO. Анализируя поведение бакалавров, мы видим, что все больше ребят выбирают верификацию на должности стажера или младшего специалиста.
Такую же популяризацию мы планируем организовать для топологического проектирования. Чтобы этим занимались мотивированные и талантливые ребята, которые как можно раньше узнают про возможные треки своего развития в профессии.
Хочется, чтобы как можно больше молодых специалистов видели свое будущее в сфере проектирования микросхем. Но это не значит, что все должны стремиться туда, как сейчас происходит с рынком труда в программировании. Проектированием микросхем не должен заниматься каждый, но им должны заниматься те, кому очень интересно. Лучше быть увлеченным своей работой и стать профессионалом, чем слепо следовать за трендами.