- PVSM.RU - https://www.pvsm.ru -

Как мы провели Зимнюю школу «Цифровые встраиваемые системы» в Красноярске

image

С 7 по 9 ноября в Институте космических и информационных технологий Сибирского федерального университета прошла I Зимняя школа «Цифровые встраиваемые системы». Участниками школы были студенты и аспиранты СФУ.

Меня зовут Алина, и я тружусь, занимаясь разработкой встраиваемых систем управления ответственного назначения для космической техники. Ещё я аспирант кафедры «Вычислительная техника» в Сибирском федеральном университете. Я люблю учиться новому, поэтому узнав, что в Новосибирске со 2 по 5 октября пройдет Школа по основам цифровой схемотехники, архитектуры и использования Verilog [1], я тут же записалась туда. Вместе со мной туда отправились двое коллег — Борис Дудкин и Дмитрий Власов, который даже был ассистентом на школе. Программа была интересная и насыщенная, школа мне понравилась настолько, что по окончанию я задала вопрос нашему преподавателю Станиславу Жельнио (SparF [2]): как провести подобную школу в Красноярске? Станислав не думая ответил, что мы и сами сможем её организовать и провести.

В ходе организации школы мы поняли, что для СФУ и предприятия, где мы трудимся проведение таких совместных мероприятий пусть и новая, но не трудная задача. У школы появилось «красноярское» имя — Первая региональная зимняя школа «Цифровые встраиваемые системы».

День 1

В день открытия возможность вещать представилась мне. Вот о чем я рассказала сначала:

• Язык описания аппаратуры и зачем он нужен
• Что такое ПЛИС
• Основы комбинационной логики
• Базовые логические элементы и их описание на Verilog
• Тестовое окружение (Testbench)
• Проверка работы комбинационной схемы с использованием симулятора ( Modelsim)
• Синтез комбинационной схемы, графический интерфейс Intel Quartus
• Во что синтезируется комбинационная схема при реализации на ПЛИС
• Программирование отладочной платы
• Проверка работы проекта на отладочной плате
• Основы Makefile и работа в non-project mode
• Мультиплексор и способы его описания на Verilog HDL
• Демультиплексор и способы его описания на Verilog HDL
• Практический пример: работа с 7-сегментными индикаторами
• Условная компиляция в Verilog HDL

image

В работе школы принимали участие совершенно разные студенты, здесь были магистранты, и учащиеся бакалавриата, и аспиранты. Поэтому внимание основам уделялось особенно тщательно. Сначала слушатели комментировали подаваемый материал словами «мы этим занимались 3 семестра», «здесь всё просто», «мы умеем в квартус» и подобными «плавали, знаем», но после получения первого практического задания ребята втянулись и с тех пор начались комментарии и вопросы по делу.

День 2

На второй день рассказчиком был Борис Дудкин- инженер-программист, который пишет реальные проекты для FPGA и ASIC. Вот о чем он рассказывал:

• Комбинационные схемы и время распространения сигнала
• Тактовый сигнал и последовательностные схемы
• Различные типы присваиваний в Verilog HDL
• D-триггер и его реализация на Verilog в различных вариациях: асинхронный и синхронный сбросы, порт разрешения записи
• Во что синтезируется последовательностная схема при реализации на базе ПЛИС
• Регистр и его реализация
• Счетчик и его реализация
• Динамическая и статическая дисциплина
• Метастабильность и синхронизатор
• Нежелательная защелка, последствия и способы избежать
• Конечные автоматы (Мура и Мили)
• Представление автомата в виде диаграммы переходов
• Реализация автомата на Verilog HDL
• Общий подход проектирования сложных автоматов
• Пошаговая реализация интерфейсного модуля УЗ датчика расстояния на Verilog

image

Так же во 2 день мы выдали задание для самостоятельной работы:

• Реализация интерфейсного модуля клавиатуры 4х4 для ПЛИС
•Реализация калькулятора на ПЛИС

Тут уже было слышно, как скрипят мозги [3] у ребят. Были вопросы, была радость в глазах от первых результатов, были досадные восклицания по поводу того, что схема работает не так, как нужно.

День 3

В третий день началось все самое интересное, на мой взгляд. В этот день преподавал Дмитрий Власов, инженер, котрый закончил ВУЗ только в 2018 году. Дмитрий участвовал уже в 3 подобной школе. В первый раз (в Томске) он был участником, во второй (в Новосибирске) он ассистировал, а теперь в Красноярске Дмитрий рассказывал о реализации процессора schoolMIPS. В 3 день у нас были:

• Основы конвейеризации
• Архитектура и микроархитектура
• Основы написания программ на MIPS ассемблере
• Работа с симулятором MARS (MIPS)
• Проектирование простейшего однотактного процессора на примере schoolMIPS
• Тракт данных и устройство управления
• Компиляция программы, запуск процессора в симуляторе и на отладочной плате
• Самостоятельная работа. Добавление поддержки новой инструкции в процессор
image

Материалы

• Все материалы курса (слайды, скрипты, исходники, литература) доступны онлайн (github [4], дополнительные материалы [5]). Слайды оформлены в сомнительном стиле, когда на них много текста, в надежде, что это упростит ознакомление с материалами offline.
• Практические и самостоятельные задания выполнялись на платах Terasic DE10-Lite c ПЛИС Intel MAX10 на борту.
• Книга «Цифровая схемотехника и архитектура компьютера», которая бесплатно доступна в электронном виде (ссылка [6]), либо может быть приобретена в бумаге (ссылка [7]). Читается легко, увлекает как художественная литература. Имеет низкий порог входа – какие-то особенные знания для того, чтобы начать ее читать, не нужны. Недавно к вышло дополнение по архитектуре ARM (ссылка [8]); К книге доступны примеры кода, а также слайды (английская и русская версии), которые можно использовать для построения собственного курса (ссылка [6]).

Благодарности

• Спасибо Станиславу Жельнио (SparF [2]) и Юрию Панчулу (YuriPanchul [9]), которые поддержали наши потуги, помогли советами, прислали отладочные платы и вообще всячески подбадривали нас в проведении этого мероприятия.
• Отдельно хочу отметить предприятие Информационные спутниковые системы имени академика М.Ф. Решетнёва. Мы с коллегами трудимся там и высшее начальство организации, а так же наше непосредственное руководство поддержало нас в нашем начинании и всячески содействовало.
• Организатор мероприятия от СФУ – Олег Владимирович Непомнящий, который будучи заведующим принимающей нас кафедры, утрясал бюрократические моменты в ВУЗе. Кроме того, занятия проводились на базе лаборатории «РобоЛаб», развернутой в рамках реализации проекта APPLE, в котором Олег Владимирович является координатором. Так же в проведении школы нам очень помогла Сиротинина Наталья Юрьевна, доцент, руководитель НУЛ «Микропроцессорные системы», исполнитель по проекту APPLE. И Хантимиров Антон Геннадьевич, ассистент НУЛ «Микропроцессорные системы», исполнитель по проекту APPLE.
• Большое спасибо моим коллегам Дмитрию Власову и Борису Дудкину, что согласились мне помочь и катались каждый день из Железногорска в Красноярск и обратно!
• Ну и студентам тоже большое спасибо! Вы нам понравились и оказались сообразительными и веселыми. Приходите к нам работать, когда закончите ВУЗ.

Отзывы о Школе

Александр Калашников:
За эти три дня был проведён краткий экскурс в мир FPGA. Сложность росла по нарастающей, но возникал по-настоящему детский восторг, когда всё получалось. Перестраивается картина мира, когда узнаёшь о параллельных процессах, происходящих в ПЛИС. «Потрогав» микроархитектуру, удалось даже добавить свою команду, затем мой первый код на ассемблере… Данная школа была прекрасной возможностью завести новые знакомства, получить опыт общения с поистине интересными людьми, которые смогли зажечь искру. Надеюсь, она не угаснет и перерастёт в огонь. Спасибо!

Светлана Лещенко:
Спасибо большое за такой интересный и огромный опыт. На самом деле интересно было услышать именно замечания и опыт производственников, потому что наши преподаватели в большинстве теоретики. Именно поэтому мы ни разу не использовали, например, Visual Code, что оказалось очень удобно.
В качестве отзыва могу сказать только то, что в этой школе я научилась многому и надеюсь продолжить в дальнейшем изучение. Ваши занятия действительно подарили мне интерес к программированию под ПЛИС.

Антон Хантимиров:
Впечатления от школы положительные, постараюсь перенять как можно больше для своей работы.
Такие погружения — полезны для понимания различных не очевидных аспектов разработки.
Большое спасибо организаторам.

Горева Вероника:
Мне все понравилось, спасибо вашей команде за проделанную работу, круто было бы иметь в нашем институте таких преподавателей)

П.С. APPLE [10] — Applied curricula in space exploration and intelligent robotic systems. Прикладные учебные программы по освоению космоса и интеллектуальным робототехническим системам. Это международный проект в задачи которого входит:
• модернизация существующих учебных планов в целевой области с учетом требований Болонского процесса и на основе передовых практик ведущих европейских университетов;
• интеграция в учебный процесс методических разработок европейских партнеров по консорциуму;
• создание учебной лаборатории интеллектуальных робототехнических систем космического применения RoboLab;
• повышение квалификации преподавателей;
• активное сотрудничество в научной и практической деятельности в целевой прикладной области.

Автор: fillina

Источник [11]


Сайт-источник PVSM.RU: https://www.pvsm.ru

Путь до страницы источника: https://www.pvsm.ru/verilog/303365

Ссылки в тексте:

[1] Школа по основам цифровой схемотехники, архитектуры и использования Verilog: https://habr.com/post/427285/

[2] SparF: https://habr.com/users/sparf/

[3] мозги: http://www.braintools.ru

[4] github: https://github.com/zhelnio/ddec

[5] дополнительные материалы: https://yadi.sk/d/AdwMQB3MLS24iQ

[6] ссылка: https://yadi.sk/d/AdwMQB3MLS24iQ/03_ddca

[7] ссылка: https://dmkpress.com/catalog/electronics/circuit_design/978-5-97060-522-6/

[8] ссылка: https://dmkpress.com/catalog/electronics/circuit_design/978-5-97060-650-6/

[9] YuriPanchul: https://habr.com/users/yuripanchul/

[10] APPLE : https://www.facebook.com/SibFU.APPLE/

[11] Источник: https://habr.com/post/433750/?utm_campaign=433750