Сколковская школа синтеза цифровых схем на Verilog

Мероприятие пройдет в онлайн формате в рамках деловой программы ChipEXPO-online.

Организатор выставки ChipEXPO - 2020 (15 - 17 сентября 2020 года, Инновационный Центр «Сколково»,Технопарк) приглашает студентов младших курсов и старших школьников познакомится с тремя технологиями, которые сделали возможным наш мир смартфонов, быстрого интернета и беспилотных автомобилей. Это технологии цифрового проектирования чипов: язык описания аппаратуры Verilog, логический синтез, и реконфигурируемые микросхемы ПЛИС. Они возникли еще в 1980-х, повысили производительность труда инженеров на два порядка, и также позволили создавать прототипы чипов без изготовления их на фабрике. Эти технологии сейчас используют все: как американские Apple, NVidia,Tesla, так и российские компании ЭЛВИС и НИИСИ, которые проектируют процессоры для космических кораблей и камер для распознавания лиц. Технологии цифрового синтеза позволяют создавать очень сложные устройства, но базовые принципы их вполне доступны для продвинутого школьника. Из-за короновируса мероприятие будет проводится в режиме онлайн, в рамках деловой программы выставки ChipEXPO-online поэтому принять участие в нем смогут не только школьники Москвы, но и школьники всей России, Украины, Казахстана, Калифорнии и других стран и регионов.

Историческая справка:

Verilog HDL (Hardware Description Language) - это язык текстового описания аппаратуры. Он используется для проектирования, моделирования, верификации цифровых микросхем, плат и систем.

Язык Verilog был разработан в 1984-1985 году Филом Морби (Phil Moorby) во время его работы в компании Gateway Design Automation. Тогда же появился первый Верилог симулятор: Verilog-XL. Позже компанию Gateway купила Cadence Design Systems и в 1990-м сделала Verilog HDL публичным достоянием. В стандартом IEEE-1364-1995, IEEE Standard Hardware Description Language Based on the Verilog(R) Hardware Description Language.

Позднее появилась "расширенная" версия языка - это SystemVerilog, разрабатываемый Accellera (www.accellera.org).

В SystemVerilog упор сделан на верификацию проектов, язык содержит элементы объектно-ориентированного программирования.

Как научиться проектировать, моделировать и верифицировать схемы на Verilog?

Главная проблема изучения этого языка для людей, которые уже умеют программировать: Verilog требует другой ментальной модели вычислений. Не цепочки инструкций, как в классических языках программирования, а параллельно работающие облака комбинационной логики, которые хранят состояния в регистрах последовательностной логики.

Чем раньше мозг подсаживается на Verilog - тем лучше. Это как с игрой на скрипке или профессиональным спортом - виртуозы и олимпийские чемпионы занимаются этим с детства. Но как сделать Verilog интересным для школьника? Простые упражнения с мигающими огоньками на платах ПЛИС/FPGA быстро надоедают, упражнения посложнее, типа конструирования процессоров, требуют слишком многих вложений внимания перед тем, как стать интересными. Упражнения с сенсорами типа датчика освещения сводятся к конструированию конечного автомата для протоколов SPI или I2C на ПЛИС и не показывают все аспекты проектирования схем.

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

Автором и энтузиастом проведения таких экспериментов стал Юрий Панчул, - в настоящее время Staff ASIC RTL Design Engineer в компании Juniper Networks (США), а вообще классный специалист в технологиях микросхем. Он регулярно приезжает в Россию и проводит в Зеленограде школы проектирования на Verilog с упражнениями на платах реконфигурируемой логики ПЛИС. Мы связались с Юрием и предложили совместно организовать и провести трехдневную школу цифрового проектирования на Verilog в дни проведения выставки ChipEXPO-2020 в Сколково (15-17 сентября). В этом проекте могут участвовать школьники старших классов (от 9-го и выше) и, если захотят, студенты младших курсов. Школьники до 9-го класса, как правило, недостаточно воспринимают последовательностную логику, хотя мы готовы попробовать с более младшими школьниками, если они пройдут упражнения онлайн-курса, созданного Юрием вместе с РОСНАНО. К реализации проекта приглашены МИЭТ, ВШЭ МИЭМ, ИТМО, МФТИ, ряда университетов и компаний, а в качестве помощников - студенты, аспиранты и учащиеся физико-математических школ, которые уже принимали участие в зеленоградских школах.

Мы планируем заранее написать инструкции для всех, кто будет вести занятия и помогать в их проведении. Мы планируем прежде всего привлекать учеников физико-математических школ и победителей олимпиад, но готовы принять и любых школьников и младших студентов, которые пройдут три части теоретического курса от РОСНАНО перед практическими упражнениями в Сколково, под общим названием "Как работают создатели создатели умных наночипов": «От транзистора до микросхемы», «Логическая сторона цифровой схемотехники», «Физическая сторона цифровой схемотехники». Этот курс необходим, чтобы участники понимали, что они делают, так как время практического курса на мероприятии ограничено, а информация такого рода сразу в голову не укладывается. По предъявлению сертификата об окончания онлайн-курса, мы, организаторы мероприятия, будем готовы бесплатно раздать ограниченное количество FPGA плат, с которыми участники смогут работать дома, до, во время и после мероприятия в Сколково. Для всех остальных, которые захотят пройти курс в "Школе...." мы разместим информацию о том, где можно приобрести платы самостоятельно

Мероприятие состоит из трех частей:

  1. Элементарные упражнения с комбинационной и последовательной логикой, типа вывода надписи на динамический семисегментный индикатор с помощью контроля от сдвигового регистра.
  2. Создание видеоигры со спрайтами, с выводом из FPGA на VGA монитор.
  3. Построение простейшего процессора, на основе проекта schoolRISCV,адаптации процессора schoolMIPS, описанного в недавно вышедшем в ДМК-Пресс учебнике "Цифровой синтез".

Если говорить о степени владения компьютером, то это не так уж и важно, поскольку все будет показываться в интегрированной среде Intel FPGA / Altera Quartus под Линуксом или Windows. Конечно, если кто-то умеет программировать (например на питоне), то это плюс, но не обязательное условие. Мы планируем сделать трехдневную школу для одного состава, скажем 20 - 40 человек - или больше, если будет много помощников. Параллельно с этим мы можем делать каждый день обзорные лекции для широкой аудитории онлайн посетителей - вплоть до 200 человек, если столько наберется. Опыт таких лекций был подтвержден в университете Иннополис - см. Часть 1 и Часть 2

Предварительная программа мероприятия (возможны изменения и дополнения):

15 сентября
Из чего строится современная цифровая схема.
Модератор дня: Александр Михайлович Силантьев, преподаватель
Национального исследовательского университета «Московский институт
электронной техники» (МИЭТ).

15.00. Открытие мероприятия, приветствие от организаторов.
Приветствие участникам Сколковской школы цифрового синтеза от Арта 
Свифта, президента Esperanto Technologies, бывшего вице-президента MIPS 
Technologies, Sun Microsystems и Digital Equipment. Арт расскажет почему 
его компания выбрала архитектуру RISC-V для многоядерного кластера, 
оптимизированного для вычислений искуственного интеллекта. Также Арт 
прокомметирует покупку компании ARM компанией NVidia.

15.15-15.30. Мини-лекция: От Клода Шеннона до Apple iPhone: как
появилось проектирование цифровых схем и как оно выглядит в современных
компаниях.
Юрий Владимирович Панчул, проектировщик сетевых микросхем и
микропроцессорных ядер. Саннивейл, Калифорния.
15.30-16.00. Лекция: Комбинационная логика и ее описание на языке
Verilog. Теоретический материал переплетается с демонстрацией синтеза
для ПЛИС/FPGA в среде Intel® Quartus® Prime Lite Edition.
Александр Михайлович Силантьев.
16.00-16.30. Упражнение с логическими элементами
И/ИЛИ/НЕ/ИСКЛЮЧАЮЩЕЕ-ИЛИ, входы которых подсоединены к кнопкам, а выходы к светодиодам платы c ПЛИС.
16.30-17.00. Упражнение с выводом буквы на семисегментный индикатор.
17.00-17.30. Лекция: Последовательностная логика, которая вводит в схемы
память и повторения.
17.30-18.00. Упражнение со сдвиговым регистром.
18.00-19.00. Упражнение для плат ZEOWAA и OMDAZZ с Intel FPGA Cyclone
IV: Комбинируем сдвиговый регистр и вывод на семисегментный индикатор
буквы: получаем вывод на многоразрядный динамический семисегментный
индикатор слова (например имени ученика). Упражнение для платы Terasic
DE10-Lite с Intel FPGA MAX10: Комбинируем сдвиговый регистр и вывод букв
на статический семисегментный индикатор: получаем вывод бегущей строки
(например имени ученика).
19.00-21.00. Дополнительные упражнения и индивидуальные проекты
учеников, с помощью от студентов и аспирантов микроэлектроники от
участвующих университетов: МИЭТ, ВШЭ МИЭМ, Черниговского НТУ,
Самарского Университета.

16 сентября
Приемы и примеры цифрового проектирования на уровне регистровых передач.
Модератор дня: Сергей Анатольевич Иванец, декан факультета электронных
и информационных технологий, Черниговский национальный технологический
университет, Украина.

15.00-15.15. Мини-лекция: Как из простых схем строить сложные:
параллельность, конвейерность и конечные автоматы.
Юрий Владимирович Панчул.
15.15-15.30. Предисловие к примеру игры: рассказ про генерацию графики
на VGA.
Сергей Анатольевич Иванец.
15.30-16.00. Упражнение с рисованием на экране разноцветных квадратов и
других статических изображений.
16.00-16.30. Презентация примера графической игры с параллельно
вычисляемыми спрайтами и конечными автоматами для сценария игры.
Демонстрация запуска игры на плате Digilent Basys3 с Xilinx FPGA
Artix-7. Обсуждение модификации игры с помощью добавления новых
спрайтов и изменения сценария.
Михаил Коробков, fpga-systems.ru
16.30-17.00. Упражнение с запуском игры на платах ZEOWAA, OMDAZZ и
Terasic DE10-Lite.
Сергей Анатольевич Иванец.
17.00-17.30. Лекция: Использование Linear Feedback Shift Registers
(LFSR) для криптографии, передачи данных и генераторов случайных чисел.
Сравнение Verilog и VHDL на основе кода LFSR Фибоначчи и Галуа.
Демонстрация использования LFSR для генерации изображения на экране VGA
движущегося звездного неба из случайных звезд.
Илья Александрович Кудрявцев, декан Факультета электроники и
приборостроения Самарского Университета.
17.30-18.00. Упражнение с запуском примера движущегося звездного неба на
платах ZEOWAA, OMDAZZ и Terasic DE10-Lite.
Сергей Анатольевич Иванец.
18.00-19.00. Более подробная лекция про математику, моделирование и
использование LFSR для грубоко заинтересовавшихся.
Илья Александрович Кудрявцев.
18.00-21.00. Дополнительные упражнения и индивидуальные проекты учеников
по изменению игры, в том числе с помощью добавления в нее фона из
вижущегося звездного неба.
Ведут студенты и аспиранты пол специальности «микроэлектроника» участвующих университетов.

17 сентября
Первый шаг в архитектуру и микроархитектуру современных процессоров.
Модератор дня - Александр Юрьевич Романов,
к.т.н., доцент Московского института электроники и математики им. А.Н. Тихонова (МИЭМ),
Национальный исследовательский университет «Высшая школа экономики» (НИУ ВШЭ).

15.00-15.15. Мини-лекция: От ENIAC и МЭСМ, через IBM/360 и Cray-1 до
Intel, ARM и RISC-V: как появились, эволюционизировали и к чему пришли
программируемые процессоры общего назначения.
Юрий Владимирович Панчул.
15.15-16.30. Архитектура: вид процессора с точки зрения программиста.
Лекция об ассемблере RISC-V с одновременными упражнениями на симуляторе
процессора на уровне инструкций.
Никита Поляков, проектировщик микропроцессоров, преподаватель
Московского физико-технического института.
16.30-17.30. Микроархитектура: вид процессора с точки зрения
схемотехника. Лекция по аппаратной организации процессора schoolRISCV, с
вариантами одноцикловой и конвейерной микроархитектуры. Демонстрация
синтеза процессора и запуск его на платах.
Станислав Жельнио, разработчик микросхем в IVA Technologies.
17.30-17.30. Упражнение по добавлению в процессор инструкции и
верификации с помощью программного теста. Измерение максимальной
тактовой частоты получившегося варианта процессора.
Станислав Жельнио.
17.30-18.00. Заключительная лекция: Следующие шаги в освоении
проектирования цифровых схем, а также применение этих знаний для
проектирования встроенных систем и ускорителей вычислений искусственного
интеллекта.
Александр Юрьевич Романов.
18.00-21.00. Дополнительные упражнения и индивидуальные проекты учеников
по изменению процессора и интеграции его с периферийными устройствами.
Ведут студенты и аспиранты по специальности «микроэлектроника» участвующих университетов.

Для установки среды Intel® Quartus® Prime Lite Edition на своем
компьютере мы рекомендуем участникам за неделю до мероприятия использовать инструкцию из бесплатного фрагмента книги Цифровой синтез: практический курс / под общей редакцией А. Ю. Романова, Ю. В. Панчула.
Удобнее воспользоваться ссылкой на весь комплект курсов в одном месте
 
Для  решения вопросов по подготовке участников Школы , а также дискуссий,  в Google Groups  создана группа  DigitalDesignSchool2020.
В группе будут обсуждатся вопросы установки Quartus и Icarus под Linux и Windows,сообщения об ошибках, отладке схемы, где найти ресурсы итд.
 
Участники, которые решили не проходить курс от РОСНАНО (это необходимо для получения бесплатных плат), могут заранее заказать платы в следующих интернет-магазинах:
https://aliexpress.ru/item/32747454526.html (базовая конфигурация)
 
 
Если Вы не хотите (или не можете) стать участником "Школы", можно просто посетить лекции и практические занятия.
Для таких посетителей установлена льготная цена на посещение 200 рублей.
Зарегистрироваться и оплатить льготный билет для посещения "Школы" можно здесь:    http://chipexpo.ru/ticketonline
Контактные данные

Если Вы хотите только посетить "Школу", нужно заказать льготный билет по ссылке http://chipexpo.ru/ticketonline

Скопируйте ссылку. Нажмите ОТПРАВИТЬ. Перейдите по ссылке.