Введение
Целью Практикума является разработка узлов подключения компонентов (Flash, ADC) и интерфейсов (AHB, SPI, I2C) для обеспечения подключения готовой периферии или цифровых устройств собственной разработки к вычислительному ядру RISC-V.
В рамках Практикума предусмотрено знакомство с архитектурой ядра RISC-V и его периферийными устройствами на готовом свободно распространяемом ядре SCR1 от Syntacore, которое может быть синтезировано для платформы ПЛИС, и средствами синтеза и моделирования цифровых схем, разбор демонстрационных примеров и самостоятельное выполнение индивидуальных заданий с последующим оформлением материалов и защитой проекта в форме устного доклада с презентацией.
В качестве индивидуальных заданий предлагается разработать цифровое устройство (например, контроллер доступа к serial FLASH через интерфейс QSPI) или переходник (мост) с AXI на Wishbone.
В процессе выполнения заданий совершенствуются навыки проектирования цифрового оборудования, разработки цифровых схем на языке (System)Verilog, моделирования и отладки разработанных устройств, разработки тестового окружения и простейшего программного обеспечения.
Отдельное внимание уделяется вопросам формализации поставленной задачи, верификации и тестирования готовой схемы, защиты проектных решений и документирования (разработка спецификаций), что позволяет формировать системный подход к разработке и повышать общий инженерный уровень обучающегося.
Календарный план практикума предполагает 64 аудиторных часа, разбитых на 10 тем (примерный календарный план приведен в таблице 1), 16 недель, по 4 часа в неделю.
| Номер занятия | Неделя | Тема занятия |
|---|---|---|
| 1 | 1 | Обзор архитектур вычислительных ядер и интерфейсов, обзор средств макетирования: состав тренировочных плат, параметры и особенности ПЛИС. |
| 2 | 2 | Сборка ядра на ПЛИС, знакомство с САПР, уточнение параметров проекта, сборка и загрузка проекта в ПЛИС |
| 3 | 3 | Обзор возможностей ПО для верификации, синтеза. Самостоятельная отработка элементарных навыков на готовом проекте |
| 4 | 4 | Разбор демонстрационного примера, ознакомление с требованиями и соглашениями разработки, выдача индивидуальных заданий, обсуждение индивидуальных заданий |
| 5 | 5-8 | Проектирование алгоритма работы узла/устройства, формируется описание в виде спецификации |
| 6 | 9-10 | Синтез для выбранной платформы реализации |
| 7 | 11-12 |
Автономная отладка:
|
| 8 | 13-14 | Доработка тестовой платформы с учетом системного окружения, проведение верификации. Консультирование по вопросам подготовки отчетных материалов |
| 9 | 15 | Разработка и запуск программного обеспечения |
| 10 | 16 | Защита проекта |
По мере накопления опыта проведения занятий календарный план рекомендуется уточнить в части распределения времени между обзорными и практическими занятиями.
В процессе обучения студентов старших курсов хорошо зарекомендовала себя практика самостоятельной подготовки обучающимися небольших сообщений, поэтому авторы рекомендуют начинать каждое занятие с кратких (5-7 минут) выступлений обучающихся с сообщениями на темы, приведенные в подразделе "Вопросы для самостоятельной работы" в конце каждого раздела.