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

Коллектив разработки в электронной компании - это двухмерная структура. С одной стороны, есть отделы: архитектуры, моделирования, логического проектирования, верификации, физического проектирования, post-silicon отладки итд. С другой стороны, каждый компонент (процессор, графический процессор, сетевой чип) состоит из пары десятков блоков, и вокруг каждого блока есть небольшие группы по пять-семь человек из всех этих отделов.

Можно попробовать дать школьникам представление о том, как выглядит совместная разработка и отладка с помощью проекта на нескольких макетных платах с микросхемами малой степени интеграции. А потом перенести это на SystemVerilog и FPGA платы. Например вот такого: сделать сумматор чисел бесконечной разрядности:

С помощью:

  1. Побитового последовательностного сумматора (bit-serial adder, микросхема CMOS 4032).

  2. Двух параллельно-последовательных сдвиговых регистров (parallel-to-serial, микросхемы 4014), которые кормят побитовый сумматор каждый такт битами слагаемых.

  3. Последовательно-параллельного сдвигового регистра (serial-to-parallel, микросхема 4015), который превращает биты результата в то, что можно показать на семисегментном индикаторе.

  4. Двух плат для ввода чисел, на каждой тумблеры для битов, семисегментный индикатор и микросхема 4511, которая преобразовывает двоичное число в биты сегментов индикатора.

  5. Всю конструкцию можно сравнить с параллельным каскадным сумматором на двух микросхемах 4008, каждая из которых складывает 4-битные числа, с учетом переноса из нижних разрядов и генерацией переноса в верхние разряды. Хотя для начала можно сделать демо только для четырехбитных чисел на одной 4008.

Итого требуется спроектировать размещение компонентов, собрать на беспаечных макетных платах, а потом спаять на эквивалентных PCB пять или семь плат:

  1. Побитовый сумматор 4032 (1) + SIPO (Serial In, Parallel Out) 4015 (3) + драйвер 4511 + семисегментный индикатор.

  2. Две или четыре для ввода. Их можно переподключать между двумя вариантами реализации сумматора: побитовым последовательностным и комбинационным параллельным.

  3. Плату для двух PISO (Parallel In, Serial Out) 4014.

  4. Плату для параллельного сумматора + драйвер 4511 + семисегментный индикатор.

За прошедшие три недели на мои встречи по воскресеньям в клубе Hacker Dojo зашло больше 40 человек (школьников и их родителей), из которых несколько сделали платы всерьез (четверо с высоким качеством). Поэтому реализовать такой проект к Technology Showcase 30 июля должно быть нетрудно. Technology Showcase - это мероприятие торговой палаты города Маунтин-Вью, Калифорния. Там будет стенд у Verilog Meetup, нашего клуба по созданию отрытых примеров на верилоге для FPGA плат, я вот решил таким образом расширить его на школьников.

Если вы живете или проездом в Области Сан-Францисского Залива, то заходите в воскресенье 19 и/или 26 июля в Hacker Dojo, 855 Maude Ave, Mountain View, с 11.00 до 14.00. Помимо описанного проекта, есть много других которые я хочу показать:

  1. Приоритетный энкодер на CMOS 4532.

  2. Универсальный логический элемент на 4048.

  3. FIFO на CMOS 40105.

  4. ALU на 40181.

  5. Ну и разумеется проекты на FPGA платах.

Все что сделаем покажем на Technology Showcase:

В викенды 2 и 9 августа меня в Hacker Dojo не будет, так как я лечу в отпуск в Грузию. Но с 16 августа продолжим.

Комментарии (14)


  1. Alex283
    16.07.2026 18:12

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

    А в чем была неувязка? Книга про того как заставить отдельных индивидуалистов работать, как в СССР?


    1. solderman
      16.07.2026 18:12

      Ключевое слово - ЗАСТАВИТЬ !


      1. dimone73
        16.07.2026 18:12

        А мало примеров самоорганизации коллективов при работе в НЕбольших иностранных компаниях например при написании компьютерных игр? Они пахали день и ночь без палки!


        1. Lizdroz
          16.07.2026 18:12

          Маленькая заряженная команда может самоорганизоваться, но масштабировать это на отдел из 500 инженеров без жестких процессов просто невозможно..


      1. YuriPanchul Автор
        16.07.2026 18:12

        По американски правильно говорить "мотивировать"!


    1. Lizdroz
      16.07.2026 18:12

      Корпоративная командная работа строится на экономических стимулах и KPI. Советская же модель больше опиралась на идеологию и план сверху)


      1. YuriPanchul Автор
        16.07.2026 18:12

        Я не согласен. По опыту работы в Samsung, Juniper Networks, MIPS Technologies могу сказать что большую роль играет и интерес инженеров к своему проекту, и желание успеха группы - особенно микрогруппы на уровне блока проектирования. Людей мотивирует хорошоя роль в новом проекте (делать что-то интересное, определять фичи а не доделывать за другими), а не чисто планировать, как это повысит зарплату. И для этого нужна кооперация, в частности между проектировщиками и верификаторами.


  1. ylianakom
    16.07.2026 18:12

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


    1. hren_sobachiy
      16.07.2026 18:12

      Зачем кого-то заинтересовывать, да ещё обязательно школьников? На сегодняшнем рынке полно безработных специалистов из смежных сфер. Только позови, с радостью переквалифицируются хоть в схемотехнику.


      1. YuriPanchul Автор
        16.07.2026 18:12

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

        Дать школьникам, у которых более гибкий мозг, идею как работает последовательностная логика - это значит что в 17-18 лет они будут легко оперировать микроархитектурными конструкциями типа FIFO и конвейеров. Что расширить возможности стать топовым архитектором чипа или применить эти знания в другой области - например в проектировании гетерогенных систем, смеси из софтвера и специализированного хардвера.


        1. hren_sobachiy
          16.07.2026 18:12

          Ну да, как будто нет многопоточного программирования, как будто нет декларативного программирования. Инженер на то и инженер, он ко всему адаптируется. Просто не всем это интересно - ну так силом же никто не заставляет тянуть.


    1. YuriPanchul Автор
      16.07.2026 18:12

      У меня набралось достаточное количество школьников которые разобрались, так что процесс идет. Я подведу итоги 31 июля.


  1. Lizdroz
    16.07.2026 18:12

    Идея классная, но найти столько школьников, готовых добровольно ковырять логику на 4000-й серии это фантастика. Им сейчас подавай питон и ботов для дискорда)


    1. YuriPanchul Автор
      16.07.2026 18:12

      Во-первых, 4000 серия школьникам через несколько дней делания таких схем надоедает. Тогда их стоит пересаживать на FPGA.

      Во-вторых, никакое количество питона не научит проектировать цифровые схемы. Примерно как никакое количество езды на автомобиле не научит проектировать его двигатель. Конечно на питоне можно написать код, который моделирует D-триггер, но это менее наглядно чем просто втыкать провода в плату с 4013.

      Вообще у меня есть слайды про разницу между программированием и схемотехникой на ASIC и FPGA. Например на вопрос "FPGA - это Ардуино?" Я отвечаю так "нет, Ардуино - это плата с уже сделанным микроконтроллером, а FPGA - матрица ячеек с изменяемой логической фунцией, функцию которых можно определить конфигурируя память конфигурации. Внутри FPGA можно построить схему, эквивалентную чипу AVR в Ардуино, но программирование Ардуино (или Расберри Пай) не ведет к пониманию, как построить такую схему":