
Оказывается, школьницы стран бывшего СССР умеют ваять цифровые схемы на CMOS 4000 ничуть не хуже школьников, причем не только русскоязычных школьников, но и школьников из Индии и Китая. Под конец нашей месячной «Школы не в Замке, а в Клубе Хакеров по викендам» образовалась такая теплая компашка:
Майя — сделала схему которая сравнивает числа поступающие из двух источников (простого счетчика и счетчика Джонсона) и показывает лампочками «больше/меньше/равно».
Света — сделала вариант ALU, который для вычитания использует тот факт что «‑ A == ~ A + 1», то бишь чтобы сконструировать отрицательное число в дополнительном коде, нужно инвертировать его биты и прибавить единицу. Это был один из вопросиков на собеседование в процессорную компанию MIPS Technologies в 2009 году.
Тимофей и Нил — сконструировали несколько дизайнов, в том числе вариант конечного автомата светофора из счетчика с декодированным (one‑hot) выводом 4017 и комбинационной логики после него.
Матвей — сериализацию/десериализацию со сдвиговыми регистрами, сейчас вставляет в схему побитовый сумматор (полный однобитный сумматор + сохранение переноса в D‑триггере).
Аржун — школьник индийского происхождения, он только что вы пустился и поступил в унверситет Иллинойса. Сконструировал на микросхемах малой степени интеграции полный CPU, потом перенес его в FPGA.
Грант — школьник китайского происхождения, сконструировал демо многофункционального ALU на CMOS 40 181 и вариант демо с интеграцией FPGA и датчика радиации.
Для тех, кто говорит «о, сейчас все перешли на Ардиуно и Расберри Пай»:
Ардуино/Расберри Пай — это вообще не о проектировании электронных схем (по крайней мере не о проектировании чипов), а о программировании микроконтроллеров / встроенных процессоров и немного о проектировании систем (комбинировании микроконтроллера с сенсорами и актуаторами). Говорить что школьники якобы изучают микроэлектронику при работе с Ардуиной — это как говорить что человек может научиться проектировать автомобильный двигатель с помощью уроков вождения авто по улицам.
Сколько Ардуино не программируй, основные идеи проектирования цифровых схем на уровнях комбинационной и последовательностной логики, уровне регистровых передач (Register Transfer Leveд — RTL), уровне микроархитектуры (конвейеры и FIFO) — не появятся. Программист Ардуино никогда не сможет спроектировать сам чип Ардуино, если он не освоит перечисленные уровни.
Видео где школьники рассказывают о своих проектах — на YouTube и на RuTube:
Майя:
Света на русском:
Света на английском:
Тимофей и Нил:
Китайский школьник Грант:
Список проектов в конце постов: на русском и на английском
В четверг школьники будут демонстрировать эти проекты на мероприятии в Маунтин‑Вью, прошу распостранить следующую информацию:
Come to the Verilog Meetup booth at the Technology Showcase event hosted by the City of Mountain View and sponsored by Google. School students, starting from 10-year‑olds, are going to demonstrate digital designs implemented using small‑scale integration circuits: variants of ALUs, comparators, bit‑serial arithmetic with parallel‑to‑serial and serial‑to‑parallel conversion, simple finite‑state machines (FSMs) and other building blocks.
While modern 2nm designs in smartphones and AI accelerators are certainly faster than those 50-year‑old 20 micron chips, they still use functionally equivalent sub‑blocks constructed using logic synthesis tools and ASIC libraries. So these exercises provide a clear path for a mathematically inclined child toward future research or a profession: they can move from such exercises to SystemVerilog and FPGAs, ASIC shuttle using Tiny Tapeout, exercises in microarchitecture and building RISC‑V CPUs.
This is different from exercises with Arduino and Raspberry Pi, which essentially offer microcontroller / embedded programming and some system integration, but not digital design itself. No matter how much a kid programs Arduino he will not be exposed to the work of the CPU core inside the Arduino microcontroller and therefore could not design such a core. Just like a car driver does not learn how to build a car by simply driving it on the streets.
The Technology Showcase:
Thursday, July 30, 2026
Exhibits 11–3 pm Panel 4–6pm Center of Performing Arts, 500 Castro St, Mountain View Free to attend, registration not required
В четверг школьники будут демонстрировать эти проекты на мероприятии в Маунтин‑Вью, прошу распостранить следующую информацию:

Come to the Verilog Meetup booth at the Technology Showcase event hosted by the City of Mountain View and sponsored by Google. School students, starting from 10-year‑olds, are going to demonstrate digital designs implemented using small‑scale integration circuits: variants of ALUs, comparators, bit‑serial arithmetic with parallel‑to‑serial and serial‑to‑parallel conversion, simple finite‑state machines (FSMs) and other building blocks.
While modern 2nm designs in smartphones and AI accelerators are certainly faster than those 50-year‑old 20 micron chips, they still use functionally equivalent sub‑blocks constructed using logic synthesis tools and ASIC libraries. So these exercises provide a clear path for a mathematically inclined child toward future research or a profession: they can move from such exercises to SystemVerilog and FPGAs, ASIC shuttle using Tiny Tapeout, exercises in microarchitecture and building RISC‑V CPUs.
This is different from exercises with Arduino and Raspberry Pi, which essentially offer microcontroller / embedded programming and some system integration, but not digital design itself. No matter how much a kid programs Arduino he will not be exposed to the work of the CPU core inside the Arduino microcontroller and therefore could not design such a core. Just like a car driver does not learn how to build a car by simply driving it on the streets.
The Technology Showcase:
Thursday, July 30, 2026
Exhibits 11–3 pm
Panel 4–6pm
Center of Performing Arts, 500 Castro St, Mountain View
Free to attend, registration not required
Комментарии (16)

Wesha
28.07.2026 04:32Главное — чтобы знали, как паяльник правильно держать.
А то знаем мы тех школьниц...

Vadimu
Если с Ардуино только поморгать светодиодами, то да - это в основном программирование микроконтроллеров. Но если делать законченную схему, с моторами/сервоприводами их драйверами, датчиками и их обвязкой, преобразователями интерфейсов, регуляторами и индикаторами, то если это не разработка электронных схем, тогда что это?
Сейчас электронные схемы делаются как раз с основой на микроконтроллерах, на одной логической рассыпухе схемы давно не делают.
И цифровая логика на рассыпухе - это только одна, довольно узкая ниша в электронных схемах, которая не требует высокого порога вхождения, как впрочем и Ардуино, для поморгать светодиодами.
... и да, школьницы ваяют схемы не хуже школьников, вот только соотношение двое школьниц на два десятка школьников (примерно). Отыскать девушек с аналитическим складом ума не просто, от слова совсем.
YuriPanchul Автор
Вы меня не поняли. Я вообще не пытаюсь научить детей рассыпухе ради рассыпухи. Рассыпуха для коммерческих изделий стала неактуальной в середине 1970-х годов, когда перешли с нее на PLA/PAL и микроконтроллеры.
Просто рассыпуха хорошо иллюстрирует концепции последовательностной логики, схем из D-триггеров и комбинационной логики (И/ИЛИ/НЕ). Из чего, по-вашему состоит ядро AVR в Ардуине? Из- тех же И/ИЛИ/НЕ и D-триггеров, просто синтезированных из языка описания аппаратуры SystemVerilog.
Вы считаете, что проектировщик чипа в Apple, NVidia, AMD итд не знает что такое D-триггер? Или что это не нужно для работы? А как же отчеты от Synopsys Fusion и Cadence Genus/Innovus? D-триггеры там есть. И как вы собираетесь показывать школьнику фунциональность D-триггера, если не на макетке с CMOS 4013? Ардуина ничего такого не показывает. Покупать за 6 миллионов долларов эмулятор Siemens Veloce или Synopsys Zebu, которые используют в Intel, Samsung итд?
Dozer88
Рассыпуха всегда была и будет актуальна. Как минимум для вспомогательных задач: буферы, преобразователи уровня, простейшая логика/триггеры в количестве 1-5 корпусов. То, что МК не умеет, а для ПЛИС - слишком просто
Vadimu
Я к тому, что Вы сказали, что Ардуино - это вообще не о проектировании электронных схем. Как раз электронные схемы сейчас так и проектируются: основа микроконтроллер и обвязка. А обучение только на микросхемах цифровой логики, хорошо для узкой ниши, а именно проектирование процессоров/контроллеров. В электронных схемах, где есть микроконтроллер все дешифраторы, сумматоры и т.д. спрятаны именно в нем, и знание цифровой логики заменено на знание программирования тех же микроконтроллеров.
YuriPanchul Автор
А как вы считаете, кто проектирует чипы в смартфонах, сетевых роутерах, ускорителях искуственного интеллекта на систолических массивах? Микросхемы для цифровой обработки сигналов? Графические процессоры, чипы для обработки видео? Инопланетяне? И этому не нужно учить детей?
Я как-раз пробую снизить порог входа в проектирование чипов по маршруту:
Микросхемы малой степени интеграции -> ПЛИС/FPGA -> ASIC design с помощью Tiny Tapeout.
Тогда это будет проектирование печатных плат. Это входит в курсы Ардуины для школьников? Я не был в курсе что школьникам сейчас преподают KiCad. Действительно?
Надеюсь вы хоть согласитесь, что Ардуино не всключает в себя проектирование цифровых чипов и разработку схем с помощью FPGA?
Vadimu
Не совсем понял, при чем здесь печатные платы и чего это нужно школьникам. Схемы собираются на тех же беспаечных макетках. Мы же не говорим про готовое изделие, а про проектирование, когда из контроллера и компонентов собирается нужная схема, а потом программированием и отладкой на контроллере и путем подбора и настройки компонентов добиваются нужного результата.
И здесь знаний одно только цифровой логики и программирования недостаточно, так как идет большой пласт аналоговой электроники в виде настройки датчиков и исполнительных устройств и электротехника в плане контактов и питания и защита от помех и прочее и прочее.
Проектирование цифровых чипов и FPGA - это Ваша область.
YuriPanchul Автор
Ну хорошо, я согласен, мне нужно было написать в более явной форме "Ардуино покрывает проектирование систем (то есть схем которые состоят из готовых компонент типа микроконтроллеров и сенсоров), но не покрывают кухню внутренности чипов, в которую можно войти через упражнения с микросхемами малой степени интеграции с последующим переходом в FPGA".
YuriPanchul Автор
Хорошо, переписал абзац так:
Для тех, кто говорит «о, сейчас все перешли на Ардиуно и Расберри Пай»:
Ардуино/Расберри Пай — это вообще не о проектировании электронных схем (по крайней мере не о проектировании чипов), а о программировании микроконтроллеров / встроенных процессоров и немного о проектировании систем (комбинировании микроконтроллера с сенсорами и актуаторами). Говорить что школьники якобы изучают микроэлектронику при работе с Ардуиной — это как говорить что человек может научиться проектировать автомобильный двигатель с помощью уроков вождения авто по улицам.
Сколько Ардуино не программируй, основные идеи проектирования цифровых схем на уровнях комбинационной и последовательностной логики, уровне регистровых передач (Register Transfer Leveд - RTL), уровне микроархитектуры (конвейеры и FIFO) - не появятся. Программист Ардуино никогда не сможет сконструировать сам чип Ардуино, если он не освоит перечисленные уровни.
Так хорошо?
Vadimu
Это Ваша точка зрения, Вам и решать. Ваша вселенная - это вычислительные схемы реализованные уже в железе, если сильно утрировать. В эту область вы и привлекаете молодежь. Но я же пытаюсь объяснить, что это не вся электроника.
YuriPanchul Автор
Я разумеется не приравниваю всю электронику проектированию цифровой части чипов. Она состоит и из проектирования и производства систем, плат итд итп. Вот слайд из презентации 2022 года:
Vadimu
Вопрос, зачем мне показывать школьнику функциональность D-триггера, если это можно заменить на программные команды? Это примерно, как Вы рассуждаете, зачем рассказывать школьникам про резисторы и закон Ома, если можно просто встроить резисторы в светодиоды и забыть про них как о страшном сне. ))
Например я работаю в отделе где 90% программисты из них те, кто может программировать на ассемблере, да даже кто видел, как это делается, можно пересчитать по пальцам одной руки. Даже с программированием среднего уровня вроде С++, сталкиваются где то половина. Остальные "витают в облаках фреймворков", и при этом не чувствуют какой то ущербности. ))
Знания переходят на более высокий уровень обобщения, впереди вайбкодинг, где надо объяснить ИИ какой процессор или какую программу ты хочешь получить, даже не зная ни цифровой ни программной логики.
YuriPanchul Автор
Как вы замените D-триггер на программые команды? Это звучит как "заменим шестеренку автомобиля на распечатку маршрута из дома в супермаркет".
Я не говорю, что их вообще нужно отменить. Я говорю что их нужно по возможности отменить в рамках курса цифровой логики, потому что это оттянет внимание и школьники пойдут оттуда в другую сторону - я видел как так доходили до распределения Ферми в кристаллической решетке. И не дойдут туда куда я хочу чтобы они дошли - сначала до уровня регистровых передач с SystemVerilog + FPGA, потом до микроархитектуры (конвейеры и FIFO) и статический анализ тайминга + ASIC design на Tiny Tapeout.
Обращаю внимание что я не предлагаю отменять программирование микроконтроллеров / Ардуино. У меня к Ардуино только две претензии:
Тетки из отделения Ардуино в Сан-Хосе вешали на моих глазах лапшу на уши городским чиновникам, что вся школьная технология - это Ардуино и что больше ничего нет и не бывает.
Ардуинщики не особо акцентируют внимание детей на прерывания и всякой многозадачности, которую имхо нужно в курсах микроконтроллеров показать, так как это часть префессионального программирования микроконтроллеров.
В идеальном мире за внимание школьника соревнуются несколько преподаватей: один расскажет про распределение Ферми и закон Кулона (физик), другой про проектирование печатных плат с KiCad, третий про программирование микроконтроллеров, и вот и моя ниша - уровень регистровых передач, языки описания аппаратуры, микроархитектура, FPGA, ASIC.
Ну так на вас же не заканчивается вся вселенная. Есть куча процессорных компаний (от ARM и AMD до компаний поменьше типа Andes) где ассемблер нужно знать куче людей - не только в отделе software stacks (для писания драйверов, поддержки компиляторов и ядер операционных систем), но для верификаторов, ну и разумеется архитекторов и микроархитекторов с RTL-проектировщиками на верилоге.
Vadimu
Дело вовсе не в Ардуино, как в торговой марке и маркетинге. Ардуино это удачная для обучения платформа, которую создали на вполне себе серьезных микроконтроллерах (по тем временам).
А дальше все пошло по обычной схеме для удачных идей и изделий. Сначала появились китайцы и сделали клоны за копейки с такой же надежностью, потом появились американцы и скупили все на корню включая и само название. Потом или где то между появились маркетологи которые начали проталкивать Ардуино и куда надо, но чаще, куда не надо, потом появились пафосные эксперты со своим "фи" по любому поводу, и "гуру" которые пытаются собирать на Ардуино все, от пылесоса до космического спутника ... ну и прочее.
И Ардуино стало именем нарицательным со слегка негативным оттенком.
Vadimu
Ну извернуться и эмулировать триггер помощью программирования можно,
Можно даже сделать в виде объекта с программными входами и выходами визуализацией и прочими рюшками. Именно этим и занимаются программы моделирования работы электронных схем, те же TINA-TI или Micro-Cap.
Но я не об этом, D-триггер, он же не сам по себе, он часть какой либо боле крупной системы, логику работы которой и можно запрограммировать на более высоком уровне абстракций. Как говорится, "Что не запаяем, то запрограммируем."
YuriPanchul Автор
Вот мои слайды на тему "Микроконтроллеры не растут на деревьях":