ЛР11-12. Согласование названий модулей

Closes #109.
This commit is contained in:
Andrei Solodovnikov
2025-05-22 12:32:51 +03:00
parent 934660ba36
commit 5982c55d98
4 changed files with 29 additions and 872 deletions

View File

@@ -17,7 +17,7 @@ _Рисунок 2. Схема без выделения новых частей
## Задание
Интегрировать модули `csr_controller` и `irq_controller` в модуль `processor_core`. При этом у модуля `processor_core` будет обновлённый прототип (поскольку добавился вход `irq_req_i` и `irq_ret_o`):
Интегрировать модули `csr_controller` и `interrupt_controller` в модуль `processor_core`. При этом у модуля `processor_core` будет обновлённый прототип (поскольку добавился вход `irq_req_i` и `irq_ret_o`):
```Verilog
module processor_core (
@@ -46,7 +46,7 @@ module processor_core (
## Порядок выполнения работы
1. Замените файл `program.mem` в `Design Sources` проекта новым файлом [program.mem](program.mem), приложенном в данной лабораторной работе. Данный файл содержит программу из _листинга 1_ ЛР№10.
2. Интегрируйте модули `csr_controller` и `irq_controller` в модуль `processor_core`.
2. Интегрируйте модули `csr_controller` и `interrupt_controller` в модуль `processor_core`.
1. Обратите внимание, что что в модуле `processor_core` появились новые входные и выходные сигналы: `irq_req_i` и `irq_ret_o`. Эти порты должны быть использованы при подключении `processor_core` в модуле `processor_system`.
1. Ко входу `irq_req_i` должен быть подключён провод `irq_req`, другой конец которого пока не будет ни к чему подключён.
2. К выходу `irq_ret_o` необходимо подключить провод `irq_ret`, который также пока не будет использован.

View File

@@ -69,8 +69,8 @@ _Рисунок 2. Структурная схема блока приорите
## Задание
- Реализовать модуль `daisy_chain`.
- Интегрировать `daisy_chain` в модуль `irq_controller` по схеме, представленной на _рис. 3_.
- Отразить изменения в прототипе сигнала `irq_controller` в модулях `riscv_core` и `riscv_unit`.
- Интегрировать `daisy_chain` в модуль `interrupt_controller` по схеме, представленной на _рис. 3_.
- Отразить изменения в прототипе сигнала `interrupt_controller` в модулях `processor_core` и `processor_system`.
![../../.pic/Labs/lab_12_daisy_chain/fig_03.drawio.svg](../../.pic/Labs/lab_12_daisy_chain/fig_03.drawio.svg)
@@ -86,8 +86,8 @@ _Рисунок 3. Структурная схема блока приорите
2. Формирование нижнего массива элементов И можно сделать с помощью одного непрерывного присваивания посредством операции побитовое И.
2. Проверьте модуль `daisy_chain` с помощью верификационного окружения, представленного в файле [`lab_12.tb_daisy_chain`](lab_12.tb_daisy_chain.sv). В случае, если в TCL-консоли появились сообщения об ошибках, вам необходимо [найти](../../Vivado%20Basics/05.%20Bug%20hunting.md) и исправить их.
1. Перед запуском моделирования, убедитесь, что у вас выбран корректный модуль верхнего уровня в `Simulation Sources`.
3. Интегрируйте модуль `daisy_chain` в модуль `irq_controller` по схеме, представленной на _рис. 3_.
1. Не забудьте обновить разрядность сигналов `irq_req_i`, `mie_i`, `irq_ret_o` в модуле `irq_controller`.
3. Интегрируйте модуль `daisy_chain` в модуль `interrupt_controller` по схеме, представленной на _рис. 3_.
1. Не забудьте обновить разрядность сигналов `irq_req_i`, `mie_i`, `irq_ret_o` в модуле `interrupt_controller`.
2. Также не забудьте обновить разрядность сигналов `irq_req_i`, `irq_ret_o` в модулях `processor_core` и `processor_system`.
3. Кроме того, теперь вам нужно использовать старшие 16 бит сигнала `mie` вместо одного при подключении модуля `irq_controller` в модуле `processor_core`.
3. Кроме того, теперь вам нужно использовать старшие 16 бит сигнала `mie` вместо одного при подключении модуля `interrupt_controller` в модуле `processor_core`.
4. Проверьте с помощью верификационного окружения из ЛР№11, что в процессе интеграции ничего не сломалось.