Как стать автором
Обновить
174.34

Из FPGA-дизайнера в ASIC: четыре личных истории и анонс курса переподготовки от YADRO Microprocessors

Время на прочтение8 мин
Количество просмотров6.4K

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

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

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

— Для начала давайте познакомимся. Расскажите, пожалуйста, о себе, о вашем образовании и опыте. 

Григорий Чигирёв, инженер по проектированию систем на кристалле: Я окончил СПбГУАП, и ещё во время учебы начал заниматься схемотехникой и программированием. Постепенно стал специализироваться именно на FPGA-дизайне. Занимался этим тринадцать лет — в основном в области разработки бортовой авиационной техники различного назначения, вырос от обычного сотрудника до руководителя отдела. В YADRO я переквалифицировался и разрабатываю подсистему камеры для ASIC, предназначенного для клиентских устройств, здесь оказались очень востребованы мои навыки работы с мультимедиа.

Кирилл Есеньков, инженер по проектированию систем на кристалле: Я учился в МИФИ, на кафедре микро- и наноэлектроники, где был курс цифровой электроники с лабораторным практикумом по проектированию на FPGA. Мне очень повезло с ментором, который его вёл: он сумел меня направить и вдохновить. В обучении (да и в любом деле) ты больше всего разбираешься в том, до чего дошёл полностью сам, и это была одна из таких вещей. Это послужило стимулом и дало уверенность в себе. Я успел позаниматься криптографией, спутниковой связью, а потом видеообработкой. То, что я делал в FPGA, выглядело так: это был математический алгоритм, реализованный как блок-схема, статья или код на высокоуровневом языке, и я реализовывал его в аппаратуре. То есть я уже занимался RTL разработкой, просто раньше это был FPGA, а сейчас — системы на кристалле. В YADRO я ровно год, этого времени достаточно, чтобы подвести промежуточные итоги.

Сергей Кожевников, инженер по проектированию систем на кристалле: Я окончил МИФИ, кафедру микро- и наноэлектроники, и основным предметом была физика полупроводников, мы подробно её изучали. У нас был курс по описанию аппаратуры на соответствующих языках, и после него я попал на практику по этому направлению. Понравилось, остался. Когда я выбирал, чем заняться, в нашей стране традиционно чаще работали с FPGA-чипами, потому что их легче купить (а не выделять ресурсы на исследования, и договариваться с заводами) и я 8 лет проработал именно FPGA-дизайнером. 

Евгений Больнов, инженер по проектированию систем на кристалле: Я учился на 4 курсе ЛЭТИ, нужно было поступать в магистратуру и, кроме того, мне уже хотелось работать. Знакомый пригласил меня на предприятие из военно-промышленного комплекса. Там я познакомился с FPGA. Так я выбрал и направление в магистратуре, и будущую профессию, в которой развиваюсь уже 12 лет (и с февраля 2022 — работаю в YADRO).

— Какие знания понадобились для перехода к работе с системами на кристалле? Есть ли что-то, что обязательно нужно прочесть и изучить? Что было нового для вас, помогал ли прошлый опыт? 

Григорий: Есть много материалов об ASIC-проектировании на английском языке — статьи, лекции и даже книги, но мне не попадались такие, чтобы всё полностью было понятно. Мне кажется, самый верный путь — это начинать работать и, если нужно, просить помощи у более опытных коллег. 
Я заранее представлял себе маршрут разработки ASIC. Из нового для меня — это довольно интересный подход к тестированию чипов: до и во время производства. С этим я не сталкивался, в FPGA это встроенный инструментарий, и он скрыт от разработчика: чип из печки вынули, упаковали в корпус и прислали тебе готовый продукт. Здесь все инструменты тестирования уже должны быть внутри, разработчик добавляет инструментарий для тестирования в виде дополнительных схем, наряду с функциональными.

Кирилл: В целом глобальных новых открытий не было. Да, нужно было изучать другие программы и инструменты, тонкости работы с RTL. Разработка системы на кристалле более строгая: нельзя использовать неоднозначные конструкции, полагаясь на то, что тебя правильно поймет САПР. Раньше мне удавалось избежать тесной работы с констрейнами, здесь с этим более серьезно. Это логично: изменился масштаб проекта, и ты адаптируешься. 

Сергей: Мне помогал прошлый опыт. Например, знакомство с семейством шин AMBA было полезным и в FPGA-разработке, и в разработке под ASIC. Какими-то вещами делились коллеги, приходилось и вместе налаживать процессы проектирования, и созваниваться с поставщиками IP и инструментов, учиться вместе со всеми в ходе работы и на внешних курсах, куда отправляла учиться компания.
Некоторые принципы работы специфичны именно для ASIC: по доменным переходам, деревьям тактовых сигналов. Пришлось изучать всевозможные инструменты автоматизации. В FPGA обычно есть инструмент от вендора, готовая IDE, на которой можно запускать симуляцию. Для ASIC готовой системы нет, приходится настраивать всё вручную, и я как раз сейчас этим занимаюсь. 

Евгений: В моей работе нет ни одного программного пакета, который я бы раньше использовал. Это пришлось изучать. Сейчас мне помогает мой давний интерес к различным языкам программирования: я уже знал Tcl, Python, Bash и Make. Это то, что пригождается каждый день. Ну и Verilog, конечно. 

— Почему, как вам кажется, стоит от FPGA разработки двигаться к ASIC? 

Кирилл: FPGA — это почти всегда небольшие команды, где очень много ответственности лежит на одном разработчике. Ему приходится разрабатывать схему, верифицировать её, отвечать за сборку и проверку на устройстве. Разработка проекта может растянуться на всю жизнь: ты не успеваешь качественно протестировать и работу RTL, и работу итогового устройства, тем самым попадая в бесконечную спираль правок от заказчика. В YADRO мне нравится, что это большая компания с четко распределенными ролями: разработчики RTL, топологи, верификаторы, программисты. Ты можешь быть занят разработкой конкретно твоей задачи, на проекте с конкретными датами и целями. Здесь я перестал быть одиночкой. Все инженеры высоко мотивированы, получается вдохновляющая взаимопомощь, а не конкуренция. Все новые вещи мы проходим вместе, и в такой команде по-джентльменски не хочется халтурить. 

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

Сергей: В ASIC мы размещаем только необходимую логику, соответственно мы можем более эффективно использовать площадь кристала. Здесь больше простор для действий, и соответственно больше простор для ошибок (цена которых намного больше).
Сейчас все хотят производить свои чипы — и, соответственно, есть потребность в таких специалистах, и учитывая, что профессии смежные, в переквалификации из FPGA дизайнера в ASIC есть смысл. Ты получаешь гораздо более широкий круг возможностей для профессионального и карьерного роста — как внутри компании, так и в отрасли.

Евгений: В FPGA ты сам пишешь, отлаживаешь, верифицируешь, разбираешься ещё и в аналоговой схемотехнике. В ASIC более разветвленный подход к работе: написание кода, верификация, статические проверки, DFT — всё это область ответственности отдельных команд. Сейчас мой список задач более сфокусирован, что дает возможность для качественного роста в предметной области, я постоянно узнаю что-то новое, всё глубже погружаюсь в свою область знаний. Здесь другой уровень частот, больше вариантов для проектирования архитектуры (в отличие от FPGA, где функциональность реализуется на фиксированных LUT, интерконнекте и так далее), каждый день нужно использовать весь багаж знаний, который у тебя есть.

— Сейчас вы уже уверенно себя чувствуете в новой профессии. А если оглянуться назад, что бы вы пожелали себе из прошлого? Или, может быть, дадите совет тем, кто задумывается об ASIC разработке? 

Григорий: Конкретно себе я бы точно сказал, что бояться не стоит. Я даже не смотрел в сторону разработки ASIC, когда менял работу. А на деле оказалось, что это очень интересно. Это будет комфортный для вас переход, несмотря на различия в подходе к работе.

Кирилл: Когда ты работаешь с FPGA, кажется, что ничего в мире вокруг тебя не происходит. А ещё кажется, что ты менее квалифицированный специалист, чем разработчик системы на кристалле. Есть такой кризис идентичности. Но на самом деле, если чувствуешь в себе силы и мотивацию, команда тебя всегда вытянет. Я бы сказал себе из прошлого, что если веришь в себя, то всё получится. Работа будет знакома, некоторый труд нужно приложить только к адаптации.

Сергей: Если вы недавно начали свою карьеру, то главный совет — не бояться пробовать новое. Я, например, так и не освоил программирование на C, а это в принципе был бы полезный навык для меня. Боялся, что что-то не получится. Сейчас у меня есть много обязанностей, которые гораздо сложнее отодвинуть. Пробуйте, ничего страшного с вами точно не случится, а освоить сможете много полезного. Цена вашей ошибки, скорее всего, будет не очень высока.

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

Курс переподготовки инженеров из FPGA в ASIC от YADRO Microprocessors

Если вас вдохновили истории наших инженеров, у вас уже есть практический опыт по цифровому синтезу под FPGA, вы хотите пойти дальше и проектировать функциональные блоки для систем на кристалле, узнать больше о современных протоколах и интегрировать их в свое решение — приходите на наш профильный курс для переподготовки FPGA инженеров

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

  • Общий маршрут проектирования ASIC.

  • Процесс интеграции IP.

  • Построение деревьев синхронизации и сброса.

  • Статические проверки качества кода (Lint, CDC, RDC).

  • Статический временной анализ (STA).

  • Формирование констрейнов (.sdc).

  • Проведение LEC-анализа.

  • Проектирование схем с низким энергопотреблением (Power-Aware Design).

  • Методика совместной разработки на основе системы контроля версий GitLab+Git.

  • Вставка тестовых структур (DFT).

Курс затрагивает много аспектов нашего маршрута проектирования, поэтому является внутренним. Чтобы попасть на курс, нужно быть частью команды YADRO Microprocessors. Вот тут можно почитать о нём подробнее, а здесь — посмотреть наши вакансии. 

Теги:
Хабы:
Всего голосов 19: ↑16 и ↓3+16
Комментарии27

Публикации

Информация

Сайт
yadro.com
Дата регистрации
Дата основания
Численность
1 001–5 000 человек
Местоположение
Россия