Упражнения
-
Доработайте распознаватель, созданный с помощью fsm2sv, так, чтобы он поддерживал числа от 1 до 8.
Для подключения дополнительных светодиодов используйте FloorPlanner. Для Mega 138k необходимо использовать модуль PMOD_LEDx8. Прочитайте небольшой гайд, как искать нужные пины. -
Изучите инструменты и отчёты Gowin EDA. Инструменты можно найти в разделе "Tools" на верхней панели. Отчёты, доступные для проекта, можно изменив вид левой панели с "Design", в котором отображаются файлы проекта, на "Process". Ответьте на следующие вопросы.
-
На сколько увеличилось потребление ресурсов при расширении поддержки диодов с 6 до 8? Потребление каких типов ресурсов выросло? Почему? Потребление каких ресурсов осталось неизменным?
-
Какова частота, на которой сможет работать платка с разработанной логикой? Изменилась ли она при переходе от 6 диодов к 8?
-
Сколько LUT-ячеек требуется для реализации автомата, управляющего диодами?
-
-
Реализуйте модуль-счётчик. При нажатии на кнопку число на семисегментном индикаторе должно увеличиваться.
-
В нашем распоряжении есть модуль с двумя семисегментными индикаторами (PMOD_DTx2). По умолчанию горит только правый индикатор, чтобы переключиться на левый, нужно подать сигнал на пин "SEL". Подумайте как можно сделать так, чтобы можно было выводить двузначные числа. Как можно выводить числа от 0 до 255?
-
Кнопок у нас больше чем одна, попробуйте реализовать другие арифметические операции.
-
Отдельно, в качестве задачи со звёздочкой предлагается настроить взаимодействие с хостом по PCIe.
-
Сгенерируйте и подключите IP-ядра SerDes и SGDMA. Вам может пригодиться пример файла конфигурации IP-ядра (
.ipc). -
Доработайте модуль свёртки, реализованный в упражнении 7, и подключите его к SGDMA-контроллеру.
-
Изучите код драйвера и добавьте его в свой проект. При необходимости внесите изменения. Изучите код хост-программы и обратите внимание:
-
какой минимальный размер блока данных (
block_size) используется при передаче; -
где хранится адрес, по которому устройство должно вернуть результат передачи.
-
-
Реализуйте хост-программу, которая отправляет буфер данных на устройство и считывает результат свёртки обратно.