ПЛИС и Verilog - естественная платформа для обучения будущего проектировщика процессоров, так же как Си и микроконтроллеры - естественная платформа для обучения будущего программиста встроенных систем.
И один, и другой путь начинается с мигания огоньками на недорогой плате, но дальше пути расходятся. Встроенный программист смотрит в сторону самоуправляющихся авто, с задачами на RTOS и распознаванием ситуации с помощью AI в GPU. Проектировщик микросхем на уровне регистровых передач смотрит в сторону групп, разрабатывающих CPU, GPU, NPU и сетевые чипы, но какие упражнения он может делать между миганием огоньками и трудоустройством в Интел?
С встроенным программированием понятно - студенты и школьники могут развлекаться и соревноваться в роботике. От простых роботов на Ардуине до продвинутых подводных роботов в коледже Харви-Мадд, где преподает Дэвид Харрис, автор известного учебника Харрис & Харрис (см. PDF с предисловием к новому изданию для RISC-V).
А как развлекаться и соревноваться юному схемотехнику? Конечно роботов можно строить и кодируя конечные автоматы в FPGA, но это более муторно, чем делать это программой на микроконтроллере. Можно задизайнить собственный процессор, но для этого нужно инвестировать много внимания в компьютерную архитектуру (ассемблер) и микроархитектуру (конвейеры, кэши), и кайф там получается сильно не сразу, скажем простейший однотактовый процессор мало кого впечатляет. Вот когда дело доходит до алгоритма Томасуло - там да, но до этого надо дойти.
Учить проектировать майнеры критповалюты? Это тоже не всем интересно и есть порог входа. Кроме этого, если мы скажем организуем десять команд хакатона по майнингу на FPGA, чем мы будем давать им призы? Подарочными картами "Эльдорадо"? А зачем, если они уже намайнили.
Этот вопрос уже лет пять обсуждается в МИЭТ, Роснано и вот сейчас на Сколковской Школе Синтеза Цифровых Схем. Пока мы нашли две темы, которые сложнее мигания и проще процессоров:
Создание видео-игр со спрайтами.
Распознавание и генерация звуков и мелодий.
Игры довольно простые, но фишка в том, что такая игра - это не программа, а схема, причем без процессора. Конечный автомат из логических элементов и D-триггеров. Игровые автоматы строили таким макаром в начале 1970-х, из микросхем малой степени интеграции (потом стали делать с процессором). Но то, что вы будете делать - это не ретрокомпьютинг/хоббизм/ностальгантство, а реализация таких схем современными методами. Проектировщик айфонов в Apple тоже синтезирует схемы из кода на языке описания аппаратуры Verilog.
До школы в Сколково мы делали такую школу в Зеленограде, и когда я показал видео с школьником, который спроектировал собственную игру, менеджеру образовательных программ компании Intel Ларри Ландису, у него была вот такая реакция:
Larry Landis / Ларри Ландис:
"Nice work by that kid, thats quite a bit of work, quite impressive! He looks like he is what maybe 14? Do you think he would be interested in an Intel internship :^) ?"
"Хорошая работа этого паренька, это довольно много работы, весьма впечатляюще! Похоже, ему лет 14? Как вы думаете, он будет заинтересован в стажировке в Intel: ^)?"
Если вы хотите посмотреть, как написать на языке описания аппаратуры Verilog код, который синтезируется в цифровую схему, которая конфигурируется в ПЛИС, вы можете просто заехать в эту субботу в 12 часов в Сколково. И не только посмотреть, но и поучаствовать - вам выдадут FPGA плату.
Сообщение от Александра Биленко, организатора ChipEXPO и Сколковской Школы Синтеза Цифровых Схем:
Уважаемые участники Сколковской школы синтеза цифровых схем !
Следующее занятие состоится 11 декабря в Технопарке Сколково,
Капсула № 2 с 12:00 до 15:00.(Информация для тех, кто не знает, как добираться в Сколково( платформа «Инновационный Центр»):
1.проще всего по МЦД-1 (с Белорусского вокзала обычные электрички каждые 5-10 минут(в пути 25 минут), экспресс каждые пол-часа (в пути 17 минут);
2. Пересадка на МЦД-1 на станциях метро Беговая, Славянский бульвар, Кунцево.
Далее пешком 10 минут до БЦ "Амальтея", пройти через БЦ до входа в Технопарк.)
Тема занятия:
Модульная графичеcкая игра со спрайтами.Спикеры:
Михаил Коробков, Команда проекта FPGA-Systems.ru
Сергей Иванец, Черниговский Технический Университет (удаленно)На этом занятии понадобится плата FPGA и монитор VGA, который будет подключаться к плате и на него будут выводиться результаты работы программ.Мы установим в Капсуле № 2 необходимое количество компьютеров для тех, у кого нет ноутбука (или для тех, кто не захочет привозить свой ноутбук). Также привезем необходимое количество мониторов (для этого я и хочу понять, сколько будет человек на занятии).
Для записи на занятие ОФФЛАЙН, пришлите на адрес info@chipexpo.ru свои Ф.И.О., а также наличие платы FPGA и ноутбука с установленным ПО. Получение каждого такого письма я буду подтверждать отправителю.
На 09 декабря уже получены заявки от 14 человек. В Капсуле №2 может разместиться 20 - 25 человек.
В этот раз мы опробуем несколько иную схему коммуникаций для ОНЛАЙН участников: всех онлайн участников мы приглашаем в конференцию ZOOM с регистрацией.
Заранее зарегистрируйтесь для участия в конференции:https://zoom.us/meeting/register/tJEkdeGpqT0sGNAlMRhyQe_66H04ep_Yvlyv
После регистрации вы получите электронное письмо с подтверждением, содержащим информацию о входе в конференцию.
Как и ранее, будет вестись прямая трансляция и запись на канале ChipEXPO в Youtube.
Ссылка на трансляцию в Youtube: https://www.youtube.com/watch?v=UQyshiP8B0g
Подписывайтесь на канал и присоединяйтесь к Школе !
И не забывайте о коварном COVID-2019!!!! Маски, дезинфекторы и дистанция - все это нужно соблюдать!!!!!
Итак, приступаем к формировании группы на 11 декабря !
А вот фрагмент позапрошлого занятия, с распознаванием и генерацией мелодий. Для него мы пригласили, помимо преподавателей МФТИ и МИРЭА, преподавательницу флейты Марию Беличенко (в инстаграмме). Вот как ее игра распознавалась FPGA платой:
Вот текущее расписание на следущие субботы:
30 октября 2021: 1. Введение в маршрут проектирования и упражнения с комбинационной логикой.
13 ноября 2021: 2. Архитектура: вид процессора с точки зрения программиста.
20 ноября 2021: 3. Последовательностая логика и конечные автоматы.
27 ноября 2021: 4. Разбор учебного проекта: распознавание и генерация звуков и мелодий.
4 декабря 2021: 5. Конвейеры и систолические массивы, с приложением для искуственного интеллекта.
11 декабря 2021: 6. Разбор учебного проекта: модульная графичеcкая игра со спрайтами.
18 декабря 2021: 7. Микроархитектура однотактового процессора.
25 декабря 2021: 8. Микроархитектура конвейерного процессора.
15 января 2022: 9. Проектирование процессорного кэша и измерение его производительности.
22 января 2022: 10. Стандартные блоки и приемы проектирования: очереди FIFO и кредитные счетчики.
29 января 2022: 11. Стандартные блоки и приемы проектирования: арбитры, банки и разделение памяти.
5 февраля 2022: 12. Пробуем маршрут RTL2GDSII: как разрабатываются массовые микросхемы. Часть I.
12 февраля 2022: 13. Пробуем маршрут RTL2GDSII: как разрабатываются массовые микросхемы. Часть II.
19 февраля 2022: 14. Имитиция собеседования на позицию проектировщика цифровых микросхем.
26 февраля 2022: 15. Разбор имитации интервью с вручением поощрительных призов.