Это все ещё вопрос?

Возможен ли современный чип‑дизайн без использования покупных 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 (подставьте любой известный бренд), то купим столько‑то, наверное».

После нескольких итераций переговоров, стенаний, воззваний к здравому смыслу и заклинаний на отечественность мы имеем на столе некоторое количество вводных, на основании которых надо принимать решение о том, идти в проект или нет.

Каковы эти вводные (включая, но не ограничиваясь):

  1. примерное ТЗ на чип, очень верхнеуровневое;

  2. сравнение с аналогами;

  3. примерный бюджет проекта;

  4. план‑график проекта на весь срок жизни чипа с прогнозом производства и продаж;

  5. некая оценка рынка, нашего места на нем, в какой объем продаж мы сами верим, по какой цене;

  6. состав инженерной команды, ее загрузка, компетенции;

  7. очень примерная схема партнерств в рамках проекта (в том числе где возьмем те самые IP);

  8. любая другая полезная информация, которая может помочь нашему «безнадежному» делу.

При этом п.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)


  1. nerudo
    20.09.2024 11:54
    +5

    Можно сразу банк национализированных IP


    1. Armmaster
      20.09.2024 11:54
      +3

      Кстати, это вполне стоящая обсуждения идея. Главная тут проблема, что к банку национализированных IP должна прилагаться национализированная фаба с нормальным техпроцессом, а вот с этим проблема))


      1. SIISII
        20.09.2024 11:54
        +2

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


  1. SIISII
    20.09.2024 11:54
    +2

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

    А вот насчёт качества покупных IP вопросы имеются. Всем известны Эрраты известных производителей, в которых даже для простых микроконтроллеров иногда насчитывается несколько десятков багов разной степени мерзопакостности -- в том числе в покупных компонентах. Хотя про сроки выпуска на рынок не поспоришь: своё сделать можно и получше, но только в каком-нибудь уж очень светлом будущем, а продукция нужна, как обычно, ещё вчера, так что неидеальный, но, в общем и целом, уже работающий готовый блок явно предпочтительней.


  1. Matilda_T
    20.09.2024 11:54
    +6

    даже для простых микроконтроллеров иногда насчитывается несколько десятков багов разной степени мерзопакостности -- в том числе в покупных компонентах

    своё сделать можно и получше

    Вот что "свое" будет и сразу прям лучше - на этот счет большие сомнения. Делать свое IP, может и надо, но по имеющемуся обычаю "смочь любой ценой" - обеспечит весьма предсказуемый результат.


    1. SIISII
      20.09.2024 11:54
      +1

      Полностью согласен. Просто любят у нас кидаться в крайности: то "зачем своё, продадим нефть и купим, что надо", то "только отечественное, аналоговнет"...

      Хотя, честно говоря, удивляет, откуда в некоторых МК такое количество багов в весьма простых контроллерах типа USART и I2C берётся... Вот такое, думается, лучше уж своё разработать -- благо, протестировать на ПЛИС можно весьма тщательно без изготовления заказной микросхемы, там всё ж не те частоты, чтоб аналоговые вещи пёрли из всех щелей, как, скажем, в контроллере DDR4.


      1. Armmaster
        20.09.2024 11:54

        И это простые, покупные и отлаженные на десятках проектах UART/I2C.

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


      1. amartology
        20.09.2024 11:54

        Вот такое, думается, лучше уж своё разработать -- благо, протестировать на ПЛИС можно весьма тщательно без изготовления заказной микросхемы, там всё ж не те частоты, чтоб аналоговые вещи пёрли из всех щелей, как, скажем, в контроллере DDR4.

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


        1. SIISII
          20.09.2024 11:54

          Угу. Просто, учитывая баги в означенных контроллерах, с которыми приходилось реально сталкиваться, у меня стойкое ощущение, что они допущены именно на уровне RTL -- во всяком случае, изрядная их часть.


          1. MuHeP
            20.09.2024 11:54

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

            Такая вот логическая (без эмоций) игра по максимизации вероятности получения микросхемы как продукта.


      1. unreal_undead2
        20.09.2024 11:54

        протестировать на ПЛИС можно весьма тщательно

        Пока одни тщательно тестируют, другие захватывают рынок изделиями уровня good enough. И так везде.


  1. Matilda_T
    20.09.2024 11:54

    такое количество багов в весьма простых контроллерах

    Причинно-следственная связь вполне очевидная: простой контроллер -> дорого не продашь -> мизерные бюджет и сроки разработки.


  1. amartology
    20.09.2024 11:54
    +1

    Чувствуется очень много боли в тексте. А уважения к тем, кто допекает вопросами про закладки в импортных IP - не чувствуется)


    1. krote
      20.09.2024 11:54

      Так ведь хотелка "чтоб без закладок" должна быть оплачена.


      1. amartology
        20.09.2024 11:54

        Она не может быть оплачена, потому что она нереализуема


        1. vanxant
          20.09.2024 11:54

          ну дратути, когда это нереализуемость чего-либо останавливала попил бюджета?


  1. andi123
    20.09.2024 11:54
    +2

    Этому тексту остро не хватает эпигафа: "Добро пожаловать в реальный мир..."


  1. johnfound
    20.09.2024 11:54

    И тут на сцену выходит его величество IP. Что такое IP с управленческой точки зрения?

    IP, это «internet protocol». Я правильно понял?


    1. amartology
      20.09.2024 11:54
      +3

      Intellectual property, так в микроэлектронике называют готовые блоки микросхем


  1. e-zig
    20.09.2024 11:54
    +2

    А есть ли смысл дискутировать на эту тему при отсутствии доступа к современным фабрикам?


    1. vanxant
      20.09.2024 11:54
      +2

      Байкал Электроникс пытается запустить линию по корпусировке чипов. Это значит, что источник пластин с этими чипами а) найден б) (по понятным причинам) не хочет афишировать своё существование.


  1. Pavia00
    20.09.2024 11:54

    Хотелось бы, всё таки услышать, про отечественные блоки. Просто еще 10 лет назад в России уже были все свои блоки и PCI,USB, ARM да и каких только не было.


    1. heavyrail
      20.09.2024 11:54

      В России были отечественные блоки PCI, включая PHY? Можно с этого момента поподробнее?


      1. SIISII
        20.09.2024 11:54

        Не удивлюсь, если аналоговнет :)