Сколковская школа синтеза цифровых схем на 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. Открытие мероприятия, приветствие от организаторов.
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 на своем
компьютере мы рекомендуем участникам за неделю до мероприятия использовать инструкцию из бесплатного фрагмента книги Цифровой синтез: практический курс / под общей редакцией А. Ю. Романова, Ю. В. Панчула.
Удобнее воспользоваться ссылкой на весь комплект курсов в одном месте
 
Участники, которые решили не проходить курс от РОСНАНО (это необходимо для получения бесплатных плат), могут заранее заказать платы в следующих интернет-магазинах:
https://aliexpress.ru/item/32747454526.html (базовая конфигурация)
 
Если Вы не хотите (или не можете) стать участником "Школы", можно просто посетить лекции и практические занятия.
Для таких посетителей установлена льготная цена на посещение 200 рублей.
Зарегистрироваться и оплатить льготный билет для посещения "Школы" можно здесь:   https://chipexpo.ticketforevent.com/
 
Контактные данные

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

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