Это все ещё вопрос?
Возможен ли современный чип‑дизайн без использования покупных IP‑блоков — взгляд директора дизайн‑центра.
Вот уже несколько лет на совершенно разных площадках разгораются холивары о том, что пора бы прекращать использование в отечественном чип‑дизайне иностранных IP‑блоков. Как‑то следовало бы сделать свои персональные, ну или, на худой конец, отечественные, использовать только их, давать баллы отечественности за площадь кристалла, занятую своими IP и т. д.
Будучи частым участником таких вот дискуссий, я решил высказаться на данную тему.
Сразу скажу, что статья не претендует на инженерную точность, является частным, субъективным и предвзятым мнением автора. Вопрос наличия «закладок» тоже рассмотрен тут не будет.
Для начала немного терминологии.
IP block — в некоторой степени готовая часть дизайна, как правило являющаяся законченным функциональным блоком, например, процессорное ядро, сенсор температуры, контроллер интерфейсов и т. д. Важно разделять Soft IP и Hard IP.
Soft IP — IP block, поставляемый в формате RTL, чаще всего в открытом виде, доступный для изменений и конфигурации. Конечно же, в комплект поставки входит не только сам код, но и очень много чего вокруг, правда нам сейчас это не так важно.
Hard IP — IP block, поставляемый в виде готовой части GDS‑файла, который можно интегрировать в свой дизайн. По сути это уже готовый к производству компонент кристалла. В таком виде, как правило, поставляются наиболее сложные в разработке аналоговые части высокоскоростных интерфейсов, такие как DDR, USB, PCI‑E и т.д, а также некоторые вспомогательные, но не менее важные компоненты типа PLL, PVT‑сенсоров и т. д.
Теперь давайте представим, что мы с командой обсуждаем старт нового проекта.
Мы примерно прикинули облик чипа и прошлись по своим основным клиентам, использующим похожие чипы. А также по тем компаниям, которые покупают оборудование, построенное на этих чипах. Вопрос у нас простой: «Мы хотим сделать такой‑то чип, сколько и за сколько вы купите таких прекрасных чипов у нас?»
Ответ, как правило, будет примерно такой: «Если сделаете за (впишите любой неприемлемый срок, лучше быстрее 1 года) и желательно дешевле, чем Intel, AMD, Huawei (подставьте любой известный бренд), то купим столько‑то, наверное».
После нескольких итераций переговоров, стенаний, воззваний к здравому смыслу и заклинаний на отечественность мы имеем на столе некоторое количество вводных, на основании которых надо принимать решение о том, идти в проект или нет.
Каковы эти вводные (включая, но не ограничиваясь):
примерное ТЗ на чип, очень верхнеуровневое;
сравнение с аналогами;
примерный бюджет проекта;
план‑график проекта на весь срок жизни чипа с прогнозом производства и продаж;
некая оценка рынка, нашего места на нем, в какой объем продаж мы сами верим, по какой цене;
состав инженерной команды, ее загрузка, компетенции;
очень примерная схема партнерств в рамках проекта (в том числе где возьмем те самые IP);
любая другая полезная информация, которая может помочь нашему «безнадежному» делу.
При этом п.1 всегда стремится к росту, утянув за собой бюджет, себестоимость и сроки. Увеличенные сроки ведут к снижению объема продаж, росту затрат на персонал и т. д., а главное — к тому, что через 5 лет иностранные конкуренты уже выйдут с новыми поколениями чипов, и мы уже не будем ни лучше, ни дешевле, заклинания на отечественность тут уже не помогут и получится «нафига козе баян».
То есть ТЗ надо разумно, но нерадикально, ограничить. Понимать, что команда имеет ограничения и иногда хочет в отпуск и спать. А время выхода на рынок с выполненным ТЗ является критически важным.
И тут на сцену выходит его величество IP. Что такое IP с управленческой точки зрения? Это уже готовые, упакованные и гарантированно качественные человеко‑месяцы инженерного труда. И покупая IP, я по сути покупаю именно эти самые человеко‑месяцы.
И конечно же, при проработке проекта, см. ограничения выше, я, как правильный управленец, должен купить с рынка в виде готовых блоков все, что можно купить. Если такая логика непонятна, то начните ремонт в квартире с самостоятельного изготовления, например, унитаза.
Важно понимать, что IP — это ни разу не кубики LEGO, а такие себе очень сложные компоненты с сотнями параметров. Интеграция всего этого в единую работающую машину, с небольшой площадью и потреблением, хорошей частотой и т. д. — это сложнейшая инженерная работа. Ее точно нельзя купить нигде, и поэтому нужно освободить инженерам время для нее, дав им максимум качественных, проверенных компонентов в руки.
Итак, предположим, что мы решили‑таки делать относительно не очень сложный чип, имеющий на борту 4 ядра, 1 канал памяти DDR-4, 1 контроллер PCI‑E gen4 8 lanes, display port и USB 3.0. Произвести все это великолепие, чтобы не отставать от иностранных коллег, мы хотим по fin‑FET техпроцессу на пластинах 300мм.
Предположим, что ядра на архитектуре RISC‑V и шину к ним мы лицензировали в одной питерской «облачной берлоге». Они отечественные — тут мы молодцы.
Но надо где‑то взять еще DDR (контроллер и PHY), PCI‑E, USB, DP, pll, pvt и там остального на сдачу.
Срок проекта, как мы помним, у нас ограничен. И очень желательно уложить дизайн в 2 года до выхода семплов, то есть реально на дизайн у нас — 1,5 года, или 18 месяцев.
Также предположим, что мы имеем мощную команду инженеров (по отечественным меркам) в составе 100 человек, которые займутся непосредственно разработкой чипа. Итого мы можем на проект потратить 18*100 = 1 800 человеко‑месяцев, и это теоретический максимум. Реально выйдет меньше.
Какие из перечисленных компонентов я успею разработать указанным ресурсом, не привлекая внимания санитаров? И не нанеся вред основному проекту? Компоненты должны быть готовы и проверены до запуска в производство основного чипа, то есть тут времени совсем мало. А что если они не получатся с первого раза? Тогда о результатах можно просто забыть. А в случае провала проекта за что с меня спросят? За свое IP или за чип на рынке? Конечно же, за второе, и поэтому единственное рациональное решение тут: купить все готовое и много раз проверенное, чтоб, ну точно, работало.
«Нууу, Семеен Семееныч, — скажет мне эксперт с дивана. — Ты бы подумал наперед, выделил часть ресурсов на разработку IP заранее, делал его аккуратно лет 10, и столица бы переехала в Нью‑Васюки! Элементарно! И вообще, IP еще и продавать можно, вон глянь на ARM, Synopsys и Cadence — озолотишься».
Все оно так, да не так. Снова считаем наших прекрасных высших эльфов, то есть инженеров. Их у нас 100, как мы помним, и какую‑то часть нам надо отрядить на разработку IP. Предположим, мы определили 20 героев и решили, что не пройдет и 5 лет, как они сделают нам чудеснейший PCI‑E gen 4 + PHY. То есть на этот проект мы выделили 20*12*5= 1 200 человеко‑месяцев в теоретическом максимуме. А реально не более 1 000. При этом отобрав 20% инженерных сил на 5 лет.
Хватит ли нам 1000 человеко‑месяцев на такой проект? На контроллер предположим да, тут мы уверены.
А как быть с PHY? Имеем мы опыт построения высокоскоростных аналоговых компонентов — нет. Мы уже делали PHY gen-1, gen-2, gen-3? Нет.
Мы вообще понимаем, как такие штуки делаются? Ну да, в теории. А есть вообще в стране люди, которые реально делали такое? Нет.
А что‑то хотя бы похожее? Ну да, но они заняты, и это было не совсем точно такое и т. д. А на это вообще хватит 1 000 человеко‑месяцев? Никто не знает…
А сколько раз нам надо будет запустить наш PHY на фабрике, пока он не заработает как надо? Нет ответа… Это аналоговый компонент, поэтому может быть и 10 запусков, особенно с учетом отсутствия опыта.
То есть мы имеем проект с непонятными перспективами, с неизвестным бюджетом, результатом которого через 5 лет возможно станет то, что можно купить прямо сейчас готовое. Однозначно гарантированный результат проекта — минус 20% персонала на основных проектах.
Раскинув мозгами, мы невольно приходим к тому, что унитаз правильнее купить в магазине, а не лепить самому.
Про продажу IP я вовсе молчу. Просто посмотрите, как Intel пытается выделить из себя фаб, и примерно поймете сложность такого бизнеса. Ну или продайте в магазине слепленный своими руками унитаз.
А теперь серьезно. IP‑дизайн появился не от хорошей жизни, а как ответ на чрезвычайное усложнение отрасли. В мире просто нет столько свободных человеко‑месяцев инженерного труда, чтобы каждый раз все делать заново самим. А уж у нас в стране тем более. Чип‑дизайн движется по пути постоянного углубления системы разделения труда, только благодаря этому постоянному движению мы имеем все наше цифровое великолепие. И противостоять этому невозможно. Если мы хотим иметь современные, конкурентоспособные чипы, то мы должны использовать покупное IP.
Можно рассуждать о том, у кого его покупать, не сделать ли банк национального IP, с кем сотрудничать и кому доверять и т. д., но это уже следующий разговор.
Автор — Евдокимов А.С.
Комментарии (24)
SIISII
20.09.2024 11:54+2Ну, насчёт сложнейшей задачи интеграции
кубиковготовых IP автор перегнул: если это -- сложнейшая задача, то какой эпитет применять к разработке этих самых IP, включая высокоскоростные аналоговые части? Всё ж превосходная степень сравнения прилагательных -- на то и превосходная, чтоб её никто не превосходил :)А вот насчёт качества покупных IP вопросы имеются. Всем известны Эрраты известных производителей, в которых даже для простых микроконтроллеров иногда насчитывается несколько десятков багов разной степени мерзопакостности -- в том числе в покупных компонентах. Хотя про сроки выпуска на рынок не поспоришь: своё сделать можно и получше, но только в каком-нибудь уж очень светлом будущем, а продукция нужна, как обычно, ещё вчера, так что неидеальный, но, в общем и целом, уже работающий готовый блок явно предпочтительней.
Matilda_T
20.09.2024 11:54+6даже для простых микроконтроллеров иногда насчитывается несколько десятков багов разной степени мерзопакостности -- в том числе в покупных компонентах
своё сделать можно и получше
Вот что "свое" будет и сразу прям лучше - на этот счет большие сомнения. Делать свое IP, может и надо, но по имеющемуся обычаю "смочь любой ценой" - обеспечит весьма предсказуемый результат.
SIISII
20.09.2024 11:54+1Полностью согласен. Просто любят у нас кидаться в крайности: то "зачем своё, продадим нефть и купим, что надо", то "только отечественное, аналоговнет"...
Хотя, честно говоря, удивляет, откуда в некоторых МК такое количество багов в весьма простых контроллерах типа USART и I2C берётся... Вот такое, думается, лучше уж своё разработать -- благо, протестировать на ПЛИС можно весьма тщательно без изготовления заказной микросхемы, там всё ж не те частоты, чтоб аналоговые вещи пёрли из всех щелей, как, скажем, в контроллере DDR4.
Armmaster
20.09.2024 11:54И это простые, покупные и отлаженные на десятках проектах UART/I2C.
А теперь представьте трудоёмкость разработки и верификации чего-нибудь более сложного, например, процессорного ОоО ядра. Причём начнём с того, сколько в России вообще людей, которые имеют понятие, как такие ядра разрабатывать.
amartology
20.09.2024 11:54Вот такое, думается, лучше уж своё разработать -- благо, протестировать на ПЛИС можно весьма тщательно без изготовления заказной микросхемы, там всё ж не те частоты, чтоб аналоговые вещи пёрли из всех щелей, как, скажем, в контроллере DDR4.
Между протестированным на ПЛИС и заведомо хорошо работающим RTL и работающим в кремнии блоком находится физдизайн. Там тоже могут быть проблемы и баги, поэтому опытные физдизайнеры сейчас дороже, чем на вес золота. И это действительно еще до момента, когда в уравнении появляются аналоговые высокоскоростные куски.
SIISII
20.09.2024 11:54Угу. Просто, учитывая баги в означенных контроллерах, с которыми приходилось реально сталкиваться, у меня стойкое ощущение, что они допущены именно на уровне RTL -- во всяком случае, изрядная их часть.
MuHeP
20.09.2024 11:54Причём, обратите внимание, что, хотя это и баги, но не критичные. Продукт из блоков с такими багами можно сделать. А вот из блока, разработанного собственными силами с нуля, ещё не факт - нет подтверждения, что в блоке нет критических багов.
Такая вот логическая (без эмоций) игра по максимизации вероятности получения микросхемы как продукта.
unreal_undead2
20.09.2024 11:54протестировать на ПЛИС можно весьма тщательно
Пока одни тщательно тестируют, другие захватывают рынок изделиями уровня good enough. И так везде.
Matilda_T
20.09.2024 11:54такое количество багов в весьма простых контроллерах
Причинно-следственная связь вполне очевидная: простой контроллер -> дорого не продашь -> мизерные бюджет и сроки разработки.
amartology
20.09.2024 11:54+1Чувствуется очень много боли в тексте. А уважения к тем, кто допекает вопросами про закладки в импортных IP - не чувствуется)
krote
20.09.2024 11:54Так ведь хотелка "чтоб без закладок" должна быть оплачена.
andi123
20.09.2024 11:54+2Этому тексту остро не хватает эпигафа: "Добро пожаловать в реальный мир..."
johnfound
20.09.2024 11:54И тут на сцену выходит его величество IP. Что такое IP с управленческой точки зрения?
IP, это «internet protocol». Я правильно понял?
amartology
20.09.2024 11:54+3Intellectual property, так в микроэлектронике называют готовые блоки микросхем
e-zig
20.09.2024 11:54+2А есть ли смысл дискутировать на эту тему при отсутствии доступа к современным фабрикам?
vanxant
20.09.2024 11:54+2Байкал Электроникс пытается запустить линию по корпусировке чипов. Это значит, что источник пластин с этими чипами а) найден б) (по понятным причинам) не хочет афишировать своё существование.
Pavia00
20.09.2024 11:54Хотелось бы, всё таки услышать, про отечественные блоки. Просто еще 10 лет назад в России уже были все свои блоки и PCI,USB, ARM да и каких только не было.
nerudo
Можно сразу банк национализированных IP
Armmaster
Кстати, это вполне стоящая обсуждения идея. Главная тут проблема, что к банку национализированных IP должна прилагаться национализированная фаба с нормальным техпроцессом, а вот с этим проблема))
SIISII
Не обязательно национализированная фаба в смысле принадлежащая государству -- но обязательно доступная здесь и сейчас.