-
Notifications
You must be signed in to change notification settings - Fork 28
Problem 08: CPU v2
Перейдите в каталог problems/08_cpu_v2
в вашей локальной копии репозитория. Для синхронизации локального репозтория используется команда git pull
.
С помощью симулятора архитектуры набора команд RISC-V посмотрите, как должна работать тестовая программа test_v2.s
.
В модуль control
добавьте логику обработки инструкции SW и управления сигналом разрешения записи в память mem_we
.
В модули core
и cpu_top
добавьте логику управления шинами адреса mem_addr
и данных mem_data
. Не забудьте также про mem_we
.
Подсказка:
С помощью Icarus Verilog проверьте правильность значений на шинах mem_addr
, mem_data
, mem_we
в модуле cpu_top
.
В модуле mem_ctrl
опишите отображение выходного регистра data_out
на адрес 0x20
. Другими словами, в этот регистр должны записываться нижние 16-бит данных, сохраняемых по адресу 0x20
.
Подсказка:
Соедините шины mem_addr
, mem_data
, mem_we
с модулем mem_ctrl
.
С помощью Icarus Verilog проверьте, что данные остаются в регистре data_out
после выполнения инструкции SW.
В модуле top
соедините микропроцессор с драйвером 7-сегментного дисплея.
Запустите получившийся код на FPGA, проверьте что отображается правильное число.