mirror of
https://github.com/MPSU/APS.git
synced 2025-09-16 09:40:10 +00:00
Раньше в вивадо была проблема с использованием mem-файлов. Они нормально моделировались, но при этом не использовались в синтезе, пока им не выставишь тип "Memory Initialization File". Однако с выставлением этого типа файл нельзя было открыть в вивадо (и даже поменять тип этого файла). Поэтому, все файлы в курсе носили расширение .txt, чтобы их можно было легко открыть в любом другом редакторе, а в вивадо выставлялся злополучный тип "Memory Initialization File" вручную. Сейчас же, судя по всему, вивадо нормально выполняет синтез и с "Memory File" тоже, а значит нет нужды в каком-либо изменении типов, лишь бы файлы носили расширение .mem. При этом файлы этого типа можно открывать и редактировать в редакторе вивадо.
25 lines
2.2 KiB
Markdown
25 lines
2.2 KiB
Markdown
# Лабораторная работа 11 "Интеграция подсистемы прерываний"
|
||
|
||
После реализации подсистемы прерываний, её необходимо интегрировать в процессорную систему. Для этого необходимо обновить модуль `riscv_core` по приведенной ниже схеме:
|
||
|
||

|
||
|
||
<details>
|
||
<summary>Схема без выделения новых частей относительно старой версии модуля</summary>
|
||
|
||

|
||
|
||
</details>
|
||
|
||
## Задание
|
||
|
||
Интегрировать модули `csr_controller` и `irq_controller` в модуль `riscv_core`.
|
||
|
||
## Порядок выполнения работы
|
||
|
||
1. Интегрируйте модули `csr_controller` и `irq_controller` в модуль `riscv_core`.
|
||
1. Обратите внимание, что что в модуле `riscv_core` появились новые входные и выходные сигналы: `irq_req_i` и `irq_ret_o`. Эти сигналы должны быть использованы при подключении `riscv_core` в модуле `riscv_unit`.
|
||
1. Ко входу `irq_req_i` должен быть подключен провод `irq_req`, другой конец которого пока не будет ни к чему подключен (в следующей лабораторной это будет изменено).
|
||
2. К выходу `irq_ret_o` необходимо подключить провод `irq_ret`, который также пока не будет использован.
|
||
2. После интеграции модулей, проверьте процессорную систему с помощью [программы](irq_program.mem), текст которой [был представлен](../10.%20Interrupt%20subsystem#пример-обработки-перехвата) в ЛР10 с помощью предоставленного [тестбенча](tb_irq_unit.sv).
|