Верификация систем на кристалле
Репозиторий дисциплины образовательной программы «Информатика и вычислительная техника» (бакалавриат), 1–2 модули 2026/2027 учебного года (осенний семестр). Московский институт электроники и математики им. А. Н. Тихонова, департамент компьютерной инженерии.
| № | Раздел | Содержание раздела |
|---|---|---|
| 1 | Наименование дисциплины | Верификация систем на кристалле |
| 2 | Семестр | 1 — 1–2 модули 2026/2027 учебного года (осенний семестр) |
| 3 | Форма промежуточной аттестации | Экзамен во 2 модуле (письменная работа с защитой) |
| 4 | Трудоемкость | 6 з.е., 228 час.: лекции — 30, практические занятия — 32, самостоятельная работа — 166 |
| 5 | Цель дисциплины | Сформировать знания и практические умения верификации цифровых устройств и систем на кристалле: от тестбенча отдельного блока до проверки СнК на софт-процессоре RISC-V моделированием и на ПЛИС. |
| 6 | Пререквизиты | Цифровая схемотехника и язык описания аппаратуры Verilog; Архитектура ЭВМ и организация процессоров; Программирование на C/C++; Работа в ОС Linux: терминал, make, Git. |
| 7 | Кореквизиты | Проектирование на ПЛИС; Встраиваемые системы. |
| 8 | Постреквизиты | Проектирование систем на кристалле; Проектная работа и производственная практика; Выпускная квалификационная работа по направлению СнК и ПЛИС. |
| 9 | Профессиональные компетенции | ППК-Р1, ППК-Р2, ППК-Р3, ИП-ДРС-1 (индикаторы ППК-Р1.7, ППК-Р2.1, ППК-Р2.2, ППК-Р2.3, ППК-Р3.1, ППК-Р3.2, ИП-ДРС-1.1, ИП-ДРС-1.4) |
| 10 | Основные профессиональные результаты обучения | Строит тестовые окружения на Verilog, C++ (Verilator) и Python (cocotb); разрабатывает тестовые последовательности и тестовые программы; локализует и исправляет дефекты; подключает IP-блоки к шине Wishbone; пишет и отлаживает bare-metal программы для RISC-V; проверяет СнК моделированием и на ПЛИС. |
| 11 | Вклад в профессиональную роль | Готовит к роли «инженер-программист» в области «разработка системного программного обеспечения и верификация цифровых устройств»: проверка работоспособности и исправление дефектов (ППК-Р2), интеграция модулей и проверка выпусков (ППК-Р3), отладка кода (ППК-Р1.7), низкоуровневое ПО процессорных систем (ИП-ДРС-1). |
| 12 | Связь с другими дисциплинами | Опирается на цифровую схемотехнику, архитектуру ЭВМ и программирование на C/C++; дает методическую и инструментальную базу для проектирования СнК, проектной работы и ВКР. |
| 13 | Практические форматы | Практические занятия — 32 ч: работы № 1–2 (тестбенч UART и PicoSoC в Icarus Verilog) выполняются на занятиях, работы № 3–5 (тестовое окружение интерфейса в Verilator, верификация софт-процессора PicoRV32, верификация памяти и двухъядерной системы) защищаются по критериям. Домашнее задание в бригаде из 2–3 человек: регрессионные тесты UART на cocotb (практико-ориентированное задание с паспортом) и проект по одному из 14 вариантов. Контроль на лекциях: 17 заданий по восьми лекциям. |
| 14 | Использование материалов индустрии | Открытые промышленные инструменты: Verilator, Icarus Verilog, cocotb, riscv-gnu-toolchain, PicoRV32, verilog-wishbone. Партнер дисциплины — YADRO: учебник серии «Книжная полка истового инженера», материалы YADRO в лекциях 5 и 6, карьерный трек «Импульс», ядро SCR1 компании Syntacore. Подробнее — в КРМ.md. |
| 15 | Универсальные компетенции | Системное мышление и внимательность к деталям при планировании проверки; самостоятельный поиск и чтение технической документации; аргументация результата на защите; работа в бригаде с индивидуальной ответственностью за свой набор тестов. |
| 16 | Профессиональный результат и артефакты | Репозиторий практических работ и домашнего задания: тестбенчи на Verilog, C++ и cocotb, скрипты сборки, прошивки для PicoRV32, отчеты о верификации с планом проверки и журналом дефектов, проект СнК, проверенный на ПЛИС. |
Взаимодействие с индустриальным партнером
| Элемент | Содержание | Где в курсе |
|---|---|---|
| Учебник курса | Уилкокс П., Романов А. Ю. «Профессиональная верификация» (ДМК Пресс, 2025) — серия «Книжная полка истового инженера», издается при поддержке YADRO; книга подготовлена МИЭМ НИУ ВШЭ. | Лекции 1–8, экзамен |
| Материалы YADRO в лекциях | Схема совместной симуляции и тесты системы команд RISC-V из материалов YADRO. | Лекции 5 и 6 |
| Карьерный трек | Летняя стажировка YADRO «Импульс» (edu.yadro.com/impulse) представлена студентам как продолжение курса. | Лекция 1 |
| Открытое ядро Syntacore | Вариант домашнего задания с заменой PicoRV32 на ядро SCR1 компании Syntacore (входит в группу YADRO). | Домашнее задание |
Планируемое развитие (формат участия согласуется с партнером):
- Тесты системы команд RV32I в практической работе № 4 — обязательный прогон тестов ISA до прикладной программы — по аналогии с материалами YADRO лекции 5.
- Ядро SCR1 как альтернативный вариант практической работы № 4 — перенос варианта домашнего задания в практикум.
- Гостевая лекция инженера YADRO по промышленной верификации процессорных ядер — по согласованию с партнером.
- Темы домашних проектов по задачам партнера и участие его представителя в защите — по согласованию с партнером.