Перенос drawio-изображений в svg-формат

This commit is contained in:
Andrei Solodovnikov
2024-01-29 15:51:31 +03:00
parent 7208184af8
commit 0ede1572f7
159 changed files with 396 additions and 127 deletions

View File

@@ -31,9 +31,9 @@
Модуль загрузки и сохранения (**Load/Store Unit** **LSU**) служит для исполнения инструкций типа `LOAD` и `STORE`: является прослойкой между внешним устройством памятью, и ядром процессора. **LSU** считывает содержимое из памяти данных или записывает в нее требуемые значения, преобразуя 8- и 16-битные данные в знаковые или беззнаковые 32-битные числа для регистров процессора. В процессорах с **RISC** архитектурой с помощью **LSU** осуществляется обмен данными между регистрами общего назначения и памятью данных.
![../../.pic/Labs/lab_08_lsu/fig_01.drawio.png](../../.pic/Labs/lab_08_lsu/fig_01.drawio.png)
![../../.pic/Labs/lab_08_lsu/fig_01.drawio.svg](../../.pic/Labs/lab_08_lsu/fig_01.drawio.svg)
_Рисунок 1. Место LSU в микроархитектуре RISC-процессора_
_Рисунок 1. Место LSU в микроархитектуре RISC-процессора._
### Интерфейс процессора и блока загрузки/сохранения
@@ -177,11 +177,11 @@ _Рисунок 1. Место LSU в микроархитектуре RISC-пр
- стать равным единице в тот же такт, когда пришел сигнал `core_req_i`
- удерживать это значение до тех пор, пока не придет сигнал `mem_ready_i`, но не менее 1 такта (т.е. даже если сигнал `mem_ready_i` будет равен единице, `core_req_i` должен подняться хотя бы на 1 такт).
Для реализации подобного функционала вам потребуется вспомогательный регистр `stall_reg`, каждый такт записывающий значение выхода `core_stall_o` и следующая таблица истинности для этого выхода:
Для реализации подобного функционала вам потребуется вспомогательный регистр `stall_reg`, каждый такт записывающий значение выхода `core_stall_o` и таблица истинности для этого выхода, представленная на _рис. 2_.
![../../.pic/Labs/lab_08_lsu/fig_02.png](../../.pic/Labs/lab_08_lsu/fig_02.png)
_Рисунок 2. Таблица истинности выхода `core_stall_o`_
_Рисунок 2. Таблица истинности выхода `core_stall_o`._
---
@@ -215,9 +215,9 @@ module riscv_lsu(
```
![../../.pic/Labs/lab_08_lsu/fig_03.drawio.png](../../.pic/Labs/lab_08_lsu/fig_03.drawio.png)
![../../.pic/Labs/lab_08_lsu/fig_03.drawio.svg](../../.pic/Labs/lab_08_lsu/fig_03.drawio.svg)
_Рисунок 3. Структурная схема модуля `riscv_lsu`_
_Рисунок 3. Структурная схема модуля `riscv_lsu`._
---
@@ -234,4 +234,3 @@ _Рисунок 3. Структурная схема модуля `riscv_lsu`_
2. Для запуска симуляции воспользуйтесь [`этой инструкцией`](../../Vivado%20Basics/Run%20Simulation.md).
3. Перед запуском симуляции убедитесь, что в качестве top-level модуля выбран корректный (`tb_lsu`).
4. Во время симуляции, вы должны прожать "Run All" и убедиться, что в логе есть сообщение о завершении теста!