mirror of
https://github.com/MPSU/APS.git
synced 2025-09-15 09:10:10 +00:00
File diff suppressed because one or more lines are too long
Before Width: | Height: | Size: 75 KiB After Width: | Height: | Size: 357 KiB |
18
ERRATA.md
18
ERRATA.md
@@ -2,6 +2,24 @@
|
||||
|
||||

|
||||
|
||||
**22.05.2025**: Исправлено несоответствие в названиях модулей в ЛР10-12.
|
||||
|
||||
- `irq_controller` следует читать как `interrupt_controller`;
|
||||
- `processor_unit` следует читать как `processor_system`.
|
||||
|
||||
В рисунке II.12-3 добавлена разрядность сигнала `irq_ret_o` (должна быть 16 бит).
|
||||
|
||||
<details>
|
||||
<summary> Обновлённый рисунок </summary>
|
||||
|
||||

|
||||
|
||||
_Рисунок II.8-3. Структурная схема блока приоритетных прерываний._
|
||||
|
||||
</details>
|
||||
|
||||
---
|
||||
|
||||
**13.05.2025**: Исправлен рисунок II.8-3 — исправлена опечатка в названии нижнего сигнала (`mem_wd_i` → `mem_wd_o`).
|
||||
|
||||
<details>
|
||||
|
@@ -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`, который также пока не будет использован.
|
||||
|
@@ -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`.
|
||||
|
||||

|
||||
|
||||
@@ -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, что в процессе интеграции ничего не сломалось.
|
||||
|
Reference in New Issue
Block a user