-
Notifications
You must be signed in to change notification settings - Fork 35
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.