image

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

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

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

День 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


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

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

image

Материалы


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

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


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

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


Александр Калашников:

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

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

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

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

Мне все понравилось, спасибо вашей команде за проделанную работу, круто было бы иметь в нашем институте таких преподавателей.
П.С. APPLE — Applied curricula in space exploration and intelligent robotic systems. Прикладные учебные программы по освоению космоса и интеллектуальным робототехническим системам. Это международный проект в задачи которого входит:

  • модернизация существующих учебных планов в целевой области с учетом требований Болонского процесса и на основе передовых практик ведущих европейских университетов;
  • интеграция в учебный процесс методических разработок европейских партнеров по консорциуму;
  • создание учебной лаборатории интеллектуальных робототехнических систем космического применения RoboLab;
  • повышение квалификации преподавателей;
  • активное сотрудничество в научной и практической деятельности в целевой прикладной области.

Комментарии (6)


  1. progchip666
    25.12.2018 21:36

    молодцы


    1. fillina Автор
      26.12.2018 06:27

      Спасибо


  1. arcman
    26.12.2018 17:42

    Название вводит в заблуждение — ожидал увидеть Embedded Linux или хотя бы MCU с RTOS, а тут цифровая схемотехника и Verilog.


    1. Prototik
      26.12.2018 23:59
      +1

      Как-то да, почти всё это (кроме verilog) студенты проходили на 2-3 курсе, не совсем ясно, что для них тут нового.


      1. fillina Автор
        27.12.2018 05:07

        Конечно, основы студенты проходили, но не освежить их в памяти и сразу начать с чего-то серьёзнее было бы странно. Да и у преподовательского состава вопросов к программе не было.


    1. fillina Автор
      27.12.2018 04:59

      То есть FPGA и MIPS процессор это ни разу ни встраиваемая штука?