IP or not IP?
Это все еще вопрос?
Возможен ли современный чип-дизайн без использования покупных 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, USD, 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, с кем сотрудничать и кому доверять и т.д., но это уже следующий разговор.
Автор — Евдокимов А.С.