- PVSM.RU - https://www.pvsm.ru -
Детей недостаточно учить только питону и ардуине. Нужно еще и цифровой схемотехнике, причем не на симуляторе, так как он для ребенка неубедителен, а на микросхемах малой степени интеграции, лучше которых для иллюстрации функции D-триггера никто с 1968 года ничего не придумал.
Но учить канонично по книжкам 1970-х [1] не обязательно. Например, ну зачем ребенку руками собирать генератор тактового сигнала на микросхеме 555, если его теорию он все равно не поймет, а для понимания функции D-триггера понимание работы генератора нерелевантно? Генератор на 555 можно купить уже собранным на AliExpress.
Также можно заменить батарейку на 9 вольт на питание от USB на 5 вольт; поставить толерантные к 5 вольтам светодиоды, не требующие дополнительных резисторов и поставить кнопочки, не требующие подтягивающих резисторов. В результате все сведется к самой сути - логическим элементам и D-триггерам, откуда уже можно переходить на ПЛИС / FPGA. Вот сравните схему сдвигового регистра. Что вы по этому поводу думаете?
Было:

Стало:

Таким макаром можно учить не только:
логическим элементам И, ИЛИ, НЕ
D-триггеру
сдвиговому регистру
счетчику
драйверу 7-сегментного индикатора
но еще и:
мультиплексорам разной ширины с разным количеством каналов: 8, 4, 2
декодерам
приоритетным энкодерам
сумматорам на основе cmos 4008
компараторам
побитовым сумматорам
итд
Интересно что я использую на интервью задачку написать на верилоге побитовый сумматор с переносом с valid и ready [2], и куча студентов американских вузом пишут их с ошибками (это после того как их родители потратили на их обучение сотни тысяч долларов - вообще сумасшедший дом).
Ну короче подготовленных таким образом детей можно переводить на платы ПЛИС, например вот такую, которую я недавно описал [3] и обсудил ее с товарищами из Бразилии, Швейцарии и КНР [4]:

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



Автор: Юрий Панчул / Yuri Panchul
Источник [5]
Сайт-источник PVSM.RU: https://www.pvsm.ru
Путь до страницы источника: https://www.pvsm.ru/verilog/392462
Ссылки в тексте:
[1] канонично по книжкам 1970-х: https://www.dropbox.com/scl/fi/gndykza5nhfn9kuedxyta/TronixBook2.pdf?rlkey=hppondttbkvgs6qjlkf8w5lg0&st=fccriice&dl=0
[2] задачку написать на верилоге побитовый сумматор с переносом с valid и ready: https://github.com/yuri-panchul/systemverilog-homework/blob/main/02_sequential_basics/02_04_serial_adder_with_vld.sv
[3] недавно описал: https://verilog-meetup.com/2024/06/21/a-new-platform-for-fpga-seminars-based-on-gowin-tang-nano-9k-adding-sound-graphics-and-microarchitecture-labs/
[4] обсудил ее с товарищами из Бразилии, Швейцарии и КНР: https://verilog-meetup.com/2024/06/26/can-gowin-beat-xilinx-and-altera-in-the-educational-market/
[5] Источник: https://habr.com/ru/articles/825564/?utm_source=habrahabr&utm_medium=rss&utm_campaign=825564
Нажмите здесь для печати.