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

Это конечно ерунда полная. Школьники знают про арифметический перенос из того что их учили складывать столбиком числа во втором классе. Такт - это просто период между миганиями лампочки на модуле тактового генератора. Сдвиговый регистр они понимают по движению лампочек которое отображает его содержимое. А семисегментный индикатор они могут прощупать втыканием провода в пины идущие к каждому из светодиодов.

Но предоставим слово самим школьникам. Я сделал видео, но которых попросил трех школьников показать, что они выучили и смогли смастерить после двух-трех сессий на викенды. Некоторые проекты они делали при мне, некоторые дома. Младшему, Матвею, дома помогал отец, но на одном из видео Матвей паяет проект при мне, на видео - так что это довольно чистый эксперимент.

На видео: Тимофей обсуждает счетчик; Тимофей и Нил отлаживают сдвиговый регистр; Матвей обсуждает комбинационный сумматор; Матвей обсуждает логический элемент XOR; Матвей сравнивает паяльники.

Причем все это только начало - они начали с базовых компонент, но я обсудил с ними план до конечных автоматов, ALU, FIFO и перехода на FPGA платы с языком описания аппаратуры SystemVerilog и последующей реализацией микросхемы ASIC с помощью сервиса Tiny Tapeout.

Могут начаться реплики “все неправильно, а где резисторы?” В схеме с платой XOR нет резисторов, так как мы:

  1. Используется специальные 5V-толерантные светодиоды.

  2. Используются кнопки с встроенными подтягивающими резисторами.

  3. Используется блок питания который выдает стабильные 5 вольт.

Я также не заставляю детей собирать схему из 555 и конденсаторов, так как это было актуально при Брежневе, а сейчас неактуально, так как в смартфонах 2030 года (за проектирование 2нм чипа в которых мне сейчас платят зарплату) ничего такого нет. Пэтому я даю школьникам уже собранный модуль на 555 с АлиЭкспресса.

Так как в разных регионах (Россия, США, Украина) используются разные видео-хостинги, я залил все на YouTube, TikTok, Вконтакте и на Rutube:

Часть 1:

Rutube:

Часть 2:

ТикТок:

Rutube:

Вконтакте:

Какой же план для продолжения? Он есть у меня:

Приквел для FPGA и ASIC с помощью микросхем малой степени интеграции

Полноценный набор упражнений

Юрий Панчул, 2026-07-23

Идеально для школьников, но полезно и для студентов, чтобы они не пытались “программировать” на верилоге, а строили верилоговским кодом аппаратные структуры.

Годно чтобы учить детей концентрироваться над решением технических задач на полянке в глухом лесу, без доступа к интернету и ИИ. Только даташиты на микросхемы, макетные платы, батарейки на 9 вольт, ручка и листы бумаги.

Для этих упражнений я рекомендую использовать светодиоды, рассчитанные на напряжение 5 вольт, кнопки со встроенными подтягивающими резисторами (pull-down), стабильный блок питания для макетки на 5 вольт и уже собранный модуль генератора тактовых сигналов на основе микросхемы 555.

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

По той же причине я исключил транзисторы, SR-защелки, JK-триггеры итд, поскольку современный RTL-проектировщик (RTL = Register Transfer Level) не сталкивается с этим на рабочем месте.

Цель - провести школьников от логических элементов И/ИЛИ/НЕ и D-триггеров к микроархитектуре, поэтому мы стараемся не выходить за рамки двух абстракций: комбинационной/последовательностной логики и (потом, когда дойдем до FPGA) статического анализа тайминга внутри такта.

Итак:

Базовые элементы

Демонстрация работы микросхем: 4081 (И), 4071 (ИЛИ), 4069 (НЕ), 4070 (Исключающее ИЛИ).

Демонстрация D-триггера (DFF) 4013 с асинхронным сбросом.

Демонстрация счетчика 4029.

Демонстрация сдвигового регистра 4015 с последовательным входом и параллельным выходом (SiPo - serial input / parallel output).

Изучение работы одноразрядного семисегментного индикатора с общим катодом и управление им с помощью микросхемы 4511.

Демонстрация 4-разрядного комбинационного сумматора 4008. Использование трех микросхем 4511 для отображения операндов и результата на трех семисегментных индикаторах.

Функциональные узлы

Демонстрация реконфигурируемого логического элемента 4048.

Демонстрация сдвигового регистра 4014 с параллельным входом и последовательным выходом (PiSo - parallel input / serial output).

Демонстрация 4-разрядного комбинационного компаратора 4063.

Демонстрация мультиплексоров (MUX) на базе микросхем 4051, 4052, 4053, 4019.

Демонстрация дешифратора 4028. Он будет использоваться в проектах для замены мультиплексора комбинацией дешифратора и селектора на элементах И и ИЛИ.

Демонстрация приоритетного шифратора 4532 (8 в 3). Использование 4511 для отображения выходного сигнала в десятичном виде.

Демонстрация десятичного счетчика 4017 с дешифрированными выходами.

Демонстрация FIFO-буфера 40105.

Демонстрация работы регистрового файла 4x4 40108.

Демонстрация 4-разрядного АЛУ 40181.

Мини-проекты для повторения

Полный сумматор на базовых логических элементах.

2-разрядный комбинационный сумматор, использующий полный и полусумматор.

Замените мультиплексор 4051 эквивалентной схемой на базе дешифратора 4028 и селектора, построенного на элементах AND и OR.

Замените мультиплексор 4051 эквивалентной схемой на базе дешифратора 4028 и селектора, использующего элемент 4086 (AND-OR-NOT) и инвертор 4069.

Замените мультиплексор 4052 эквивалентной схемой на базе дешифратора 4555 и селектора, построенного на элементах AND и OR.

Замените мультиплексор 4052 эквивалентной схемой на базе дешифратора 4555 и селектора, использующего элемент 4086 (AND-OR-NOT) и инвертор 4069.

Продемонстрируйте работу селектора данных 4019, выполняющего объединение двух битовых векторов по маске. Сравните это решение с эквивалентной реализацией на базовых логических элементах.

Счетчик Джонсона на базе сдвигового регистра 4015 и инвертора 4069.

Проекты

Демонстрация побитового последовательностного сумматора 4032. Объединение его с двумя сдвиговыми регистрами 4014 (параллельный вход / последовательный выход), одним сдвиговым регистром 4015 (последовательный вход / параллельный выход) и тремя драйверами индикаторов 4511 для отображения операндов и результата. Сравните этот способ сложения с методом, использующим комбинационный сумматор 4008.

Замените микросхему 4032 эквивалентной схемой на базе логических элементов (AND, NAND, OR, NOR, NOT, XOR) и D-триггера (DFF) для хранения бита переноса.

Объедините три FIFO-буфера 40105 с сумматором 4008 для сложения чисел, поступающих в разных тактах, и организуйте контроль потока данных (data flow control with backpressure).

Разработайте конечный автомат для распознавания последовательностей битов (нажиманий на кнопку). Реализуйте его на базовых логических элементах и ​​D-триггерах. Вместо 4013 можно использовать D-триггеры 4076 и 40174.

Постройте побитовый последовательностный компаратор в виде конечного автомата на базовых логических элементах и ​​D-триггерах. Сравните его с комбинационным компаратором, выполненным на микросхеме 4063.

См. также:

Из обучения школьников цифре на макетке нужно выкинуть все резисторы и вставить микросхемы с FIFO

Можно ли тренировать разработчиков микросхем на 3 нанометра упражнениями с 130 нм? А упражнениями с 20000 нм?

Как обучить школьников работать в группах проектирования с помощью многоплатных проектов

Хроники занятий микросхемами с русскими школьниками не в замке во Франции, а в хакерском клубе в Калифорнии

Список компонентов и проектов

Заседания по таким проектам в Silicon Valley проходят по воскресеньям в 11.00-14.00 по адресу Hacker Dojo, 855 Maude Ave, Mountain View. При этом 2 и 9 августа меня не будет, так как я улетаю в отпуск на Кавказ.

Школьники будут показывать свои проекты в следущий четверг на мероприятии торговой палаты города Маунтин-Вью, Калифорния:

Для российских школьников олимпиадного типа прохождение такого рода упражнений поможет им например для учебы на очередной Школе Синтеза Цифровых Схем (синтез на FPGA и ASIC, основы микроархитектуры), которая начинается в октябре.

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


  1. iganiv
    23.07.2026 19:07

    Много лет я пытаться освоить FPGA с полного нуля. Изучал онлайн-уроки, покупал литературу. Результатов ноль. Да, я не самый умный и быстро схватывающий человек, но причина здесь не в моей тупости. А в том, что НИКТО не смог нормально составить план обучения. Например, тот же Фрэнк Бруно первую треть книги втирает читателю, что такое FPGA и ASIC, их историю и другую фигню. Далее, «выполняем наш первый пример». «… добавляем constraints…”… что? Какие нахрен “constraints”?!!! o_O Я в душе не знаю, что такое «constraints”, зачем я должен их добавлять? И так далее. Ругаются какими-то непонятными констрейтами, слайсами и лутами. Мы же только что историю изучили, нет? ИМХО, это трэш полный. В итоге, вырвав все волосы на заду, я хоть немного въехал в тему и могу поделиться тем, как я вижу план обучения FPGA для новичка с полного нуля. Не знаю, поможет ли это Вам в вашей практике, но все равно поделюсь:

    1. Логические элементы. Теория. Таблицы истинности.

    2. Триггеры и защелки

    3. Логика в железе, серия 74 и тому подобное. Соединение элементов между собой проводами на макетной плате.

    4. Язык Verilog или VHDL. Описание принципа соединений элементов между собой. Сопоставление описания схемы на макетке из предыдущей главы на языке Verilog или VHDL.

    До этого этапа вообще не должно быть ни одного упоминания матершинного слова “FPGA”.

    5. FPGA как термин. FPGA как замена этой самой макетки. История FPGA, если нужно.

    6. Характеристики FPGA. Основные термины (слайс, LUT) и подобное.

    7. IDE-среды для работы с FPGA. Здесь должны быть ОБЯЗАТЕЛЬНО подробно описаны все термины, которых нет в словаре Даля. Особенно всякие «constraints”.

    8. Verilog или HDL как язык описания схемы для FPGA.

    Далее, идёт все остальное, что Вы считаете нужным.

    К сожалению, слишком много мусора я перечитал и только забили голову. Видите незнакомый термин без описания что это такое - сразу бросайте читать и ищите другой источник. Прояснять ситуацию начали только уроки по Verilog с сайта Марсоход. Но самое хорошее, благодаря чему я начал понимать что к чему, это канал на ютубе с названием «плисоводство». Вот там реально можно именно понять, а не тупо скопировать. Модераторам, которые захотят удалить мой комментарий, якобы, за рекламу, могу сказать, что никакого отношения ни к какому каналу я не имею. Я всего лишь поделился опытом. Подумайте дважды, если вам не пофигу на развитие отрасли в нашей стране - с обучением FPGA реально очень туго. С уважением.


    1. YuriPanchul Автор
      23.07.2026 19:07

      А в том, что НИКТО не смог нормально составить план обучения.

      Мы с сотоварищами сделали более-менее работающий план на Школе Синтеза Цифровых Схем:

      https://engineer.yadro.com/chip-design-school/

      Далее, «выполняем наш первый пример». «… добавляем constraints…”… что? Какие нахрен “constraints”?!!! o_O Я в душе не знаю, что такое «constraints”, зачем я должен их добавлять?

      Constraints нужны когда вы понимаете что такое static timing analysis. Для начинающего нужен только 1 (один) constraint в его первый год обучения - это период 1 (одного) тактового сигнала на его плате. Несколько clock-ов и всякие PLL-ли можно вводить только если рука хорошо набита на дизайне с одним clock-ом.

      Constrains на пины вообще не должны появляться в рамках учебного курса по HDL/RTL, потому что это vendor-specific шаманство с бубном, которое не имеет отношение к цели - обучить человека методологии проектирования на уровне регистровых передач, применимой и к FPGA, и к ASIC.

      В примерах для Школы Синтеза мы это все изолировали от пользователя для поддержки разных тулчейнов (Xilinx, Altera, Gowin, Lattice).

      Франку Бруно за его книжку скорее всего просто Xilinx заплатил, вот он туда и сует Vivado-specific фигню чтобы приковать преподавателей к Xilinx. Это называется "vendor lock". Так как я знаю менеджеров образовательных программ лично, то я не удивлен от слова "совсем".

      1. Триггеры и защелки

      Я против введения защелок в первый год обучения. Я считаю, что нужно начинать с D-триггера как черного ящика и вводить D-защелки только когда человек уже набил руку на базовом проектировании (включая конвейеры, FIFO итд). Потому что D-защелка нужно в трех ипостясях:

      1. Clock gaters для экономии динамического энергопотребления.

      2. Latch array (экономит несколько процентов энергопотребления по сравнению с регистровым файлом на D-триггерах).

      3. Time borrowing (продвинутый материал для старших инженеров NVidia с 10-летним опытом).

      SR-защелка не появляется в жизни ASIC и FPGA дизайнера никогда, а JK-триггер и T-триггер - практически никогда, хотя я знаю два исключения, подтверждающие правило. Это все хлам, который тянут в вводные курсы люди, которые копируют методички 1990-х годов, написанные людьми, которые обучались в 1970-е годы.

      Человек который знает разные виды защелок и констрейны на пины, но не может написать обычный модуль на верилоге с D-триггерами типа как задачи по ссылке ниже - для электронной компании бесполезен.

      https://github.com/chipdesignschool/systemverilog-homework/tree/main/04_more_sequential


      1. iganiv
        23.07.2026 19:07

        Судя по всему, Вы идёте по правильному пути. Желаю Вам успехов! Послежу за Вашим каналом


        1. YuriPanchul Автор
          23.07.2026 19:07


          1. iganiv
            23.07.2026 19:07

            Если бы лишняя информация была единственной проблемой этой книги, ещё бы куда ни шло… но там, как минимум, жестко нарушена последовательность повествования. Буквально, после истории ASIC, он сразу предлагает не самый простой проект на Vivado. Раздел «знакомство с FPGA”… 2 страницы. Собственно, чуть дальше него я и дочитал, когда он начал материться всякими констрейтсами. На этом изучение книги закончил. Пожалел, что деньги на нее потратил. Ты бы хоть объяснил, чем Vivado от Vitis отличается, для начала…


    1. YuriPanchul Автор
      23.07.2026 19:07

      FPGA как термин. FPGA как замена этой самой макетки. История FPGA, если нужно.

      Рассказывать как были PLA, PAL, GAL, PLD - это научпоп, даже инфотейнмент. Его можно упомянуть если есть время, но им нельзя замещать критические вещи, с которыми плохо даже у американских студентов после вузов: 1) набивание руки на реализации последовательностной логики и 2) микроархитектурные конструкции (конвейеры и FIFO).

      IDE-среды для работы с FPGA

      В профессиональной разработке, особенно ASIC design, инженеры мало используют IDE. Чаще все делается на скриптах в терминале и любимом редакторе инженера. В примерах для Школы Синтеза мы сделали режим когда студенты используют VS Code в комбинации с запуском скрипта синтеза в терминале.

      Проблема IDE - они кривые и у каждого вендора разные. Разумеется Xilinx и Altera проталкивают свои IDE в вузы, чтобы получить vendor lock - то есть чтобы преподаватель сидел на нем 20-30 лет.

      Прояснять ситуацию начали только уроки по Verilog с сайта Марсоход.

      Создателя Марсохода я уважаю, это да. Кстати поддержка марсоходовских плат есть и в репозитории примеров ддля Школы Синтеза:

      https://github.com/chipdesignschool/basics-graphics-music/tree/main/boards


      1. iganiv
        23.07.2026 19:07

        А вот насчёт IDE я с Вами не согласен! Да, кривые, да, вендор лок… но если бы мне на этапе «какие нахрен constraints?” еще и консоль со скриптами подсунули, я бы вообще себе мозг вывихнул и бросил это навсегда. Open Source человек должен выбирать осознанно, сам к нему придти. Но начинать надо с чего-то простого, не отвлекаясь на что-то побочное (настройка того же Linux и всех этих консолей). Именно IDE дает возможность максимально сконцентрироваться на процессе понимания логики работы, не отвлекаясь вообще ни на что.

        P.S. Microchip, горите в аду со своим MPLab X :)))


        1. YuriPanchul Автор
          23.07.2026 19:07

          Так ничего настраивать не надо, только в дополнение от пакета от вендора установить git и скачать репозиторий. В примерах репозитории уже стоят все скрипты и они работают под Windows, Linux и MacOS. Нужно просто открыть один подтерминал и запускать там один скрипты двумя клавишами "вверх-ввод":

          вот https://docs.google.com/presentation/d/e/2PACX-1vSvtu1KA49aFnO7PfP4XxA8-Sd4laUrkQy1SxCZjSBLivTEtCV_YS9H-eh4FULqZ3xakYBNKHM7YGyB/pub?start=false&loop=false&delayms=60000

          .

          .

          Хотя если нравится IDE - можно и так, просто он мешает, если зоопарк плат от четырех вендоров.

          P.S. Microchip, горите в аду со своим MPLab X :)))

          Да, MPIDE и MPLab X у меня в жизни были :-)


  1. AeYronu
    23.07.2026 19:07

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

    П.с. пожалуйста рекламу своих "курсов" публикуйте в стране проживания. Для США это будет самое то.


    1. YuriPanchul Автор
      23.07.2026 19:07

      А чем вы собственно недовольны? Что у меня нет подтягивающих резисторов? Зато есть FIFO, ALU, регистровый файл и конечные автоматы. А в вашем курсе для детей с микросхемами малой степени интеграции они есть?