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

С помощью:
Побитового последовательностного сумматора (bit-serial adder, микросхема CMOS 4032).
Двух параллельно-последовательных сдвиговых регистров (parallel-to-serial, микросхемы 4014), которые кормят побитовый сумматор каждый такт битами слагаемых.
Последовательно-параллельного сдвигового регистра (serial-to-parallel, микросхема 4015), который превращает биты результата в то, что можно показать на семисегментном индикаторе.
Двух плат для ввода чисел, на каждой тумблеры для битов, семисегментный индикатор и микросхема 4511, которая преобразовывает двоичное число в биты сегментов индикатора.
Всю конструкцию можно сравнить с параллельным каскадным сумматором на двух микросхемах 4008, каждая из которых складывает 4-битные числа, с учетом переноса из нижних разрядов и генерацией переноса в верхние разряды. Хотя для начала можно сделать демо только для четырехбитных чисел на одной 4008.
Итого требуется спроектировать размещение компонентов, собрать на беспаечных макетных платах, а потом спаять на эквивалентных PCB пять или семь плат:
Побитовый сумматор 4032 (1) + SIPO (Serial In, Parallel Out) 4015 (3) + драйвер 4511 + семисегментный индикатор.
Две или четыре для ввода. Их можно переподключать между двумя вариантами реализации сумматора: побитовым последовательностным и комбинационным параллельным.
Плату для двух PISO (Parallel In, Serial Out) 4014.
Плату для параллельного сумматора + драйвер 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. Помимо описанного проекта, есть много других которые я хочу показать:
Приоритетный энкодер на CMOS 4532.
Универсальный логический элемент на 4048.
FIFO на CMOS 40105.
ALU на 40181.
Ну и разумеется проекты на FPGA платах.
Все что сделаем покажем на Technology Showcase:

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

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

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

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

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

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

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

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




Alex283
А в чем была неувязка? Книга про того как заставить отдельных индивидуалистов работать, как в СССР?
solderman
Ключевое слово - ЗАСТАВИТЬ !
dimone73
А мало примеров самоорганизации коллективов при работе в НЕбольших иностранных компаниях например при написании компьютерных игр? Они пахали день и ночь без палки!
Lizdroz
Маленькая заряженная команда может самоорганизоваться, но масштабировать это на отдел из 500 инженеров без жестких процессов просто невозможно..
YuriPanchul Автор
По американски правильно говорить "мотивировать"!
Lizdroz
Корпоративная командная работа строится на экономических стимулах и KPI. Советская же модель больше опиралась на идеологию и план сверху)
YuriPanchul Автор
Я не согласен. По опыту работы в Samsung, Juniper Networks, MIPS Technologies могу сказать что большую роль играет и интерес инженеров к своему проекту, и желание успеха группы - особенно микрогруппы на уровне блока проектирования. Людей мотивирует хорошоя роль в новом проекте (делать что-то интересное, определять фичи а не доделывать за другими), а не чисто планировать, как это повысит зарплату. И для этого нужна кооперация, в частности между проектировщиками и верификаторами.