diff --git a/Labs/05. Main decoder/README.md b/Labs/05. Main decoder/README.md index aa36f675..0dced20d 100644 --- a/Labs/05. Main decoder/README.md +++ b/Labs/05. Main decoder/README.md @@ -148,24 +148,24 @@ _Таблица 4. Значения сигнала `mem_size_o` при пере Управляющие сигналы на выходе декодера зависят от трех полей инструкции: `opcode`, `func3` и `func7`. Обратите внимание, что расположение этих полей одинаково для всех типов инструкций. Это сделано для удобства декодирования. При этом для некоторых инструкций поля `func3` и `func7` могут отсутствовать. -|Название сигнала| Пояснение | -|----------------|------------------------------------------------------------------------------------------------| -|fetched_instr_i |Инструкция для декодирования, считанная из памяти инструкций | -|a_sel_o |Управляющий сигнал мультиплексора для выбора первого операнда АЛУ | -|b_sel_o |Управляющий сигнал мультиплексора для выбора второго операнда АЛУ | -|alu_op_o |Операция АЛУ | -|csr_op_o |Операция модуля CSR | -|csr_we_o |Разрешение на запись в CSR | -|mem_req_o |Запрос на доступ к памяти (часть интерфейса памяти) | -|mem_we_o |Сигнал разрешения записи в память, «write enable» (при равенстве нулю происходит чтение) | -|mem_size_o |Управляющий сигнал для выбора размера слова при чтении-записи в память (часть интерфейса памяти)| -|gpr_we_o |Сигнал разрешения записи в регистровый файл | -|wb_sel_o |Управляющий сигнал мультиплексора для выбора данных, записываемых в регистровый файл | -|illegal_instr_o |Сигнал о некорректной инструкции (на схеме не отмечен) | -|branch_o |Сигнал об инструкции условного перехода | -|jal_o |Сигнал об инструкции безусловного перехода jal | -|jalr_o |Сигнал об инструкции безусловного перехода jalr | -|mret_o |Сигнал об инструкции возврата из прерывания/исключения mret | +|Название сигнала| Пояснение | На каких опкодах может принять ненулевое значение (см. таблицу 6)| +|----------------|------------------------------------------------------------------------------------------------|--------------------------------------------------| +|fetched_instr_i |Инструкция для декодирования, считанная из памяти инструкций | — | +|a_sel_o |Управляющий сигнал мультиплексора для выбора первого операнда АЛУ | На всех кроме `MISC_MEM` и `SYSTEM` | +|b_sel_o |Управляющий сигнал мультиплексора для выбора второго операнда АЛУ | На всех кроме `MISC_MEM` и `SYSTEM` | +|alu_op_o |Операция АЛУ | На всех кроме `MISC_MEM` и `SYSTEM` | +|csr_op_o |Операция модуля CSR | Только на `SYSTEM` | +|csr_we_o |Разрешение на запись в CSR | Только на `SYSTEM` | +|mem_req_o |Запрос на доступ к памяти (часть интерфейса памяти) | На `LOAD` и `STORE` | +|mem_we_o |Сигнал разрешения записи в память, «write enable» (при равенстве нулю происходит чтение) | Только на `STORE` | +|mem_size_o |Управляющий сигнал для выбора размера слова при чтении-записи в память (часть интерфейса памяти)| На `LOAD` и `STORE` | +|gpr_we_o |Сигнал разрешения записи в регистровый файл | На всех кроме `MISC_MEM` | +|wb_sel_o |Управляющий сигнал мультиплексора для выбора данных, записываемых в регистровый файл | На всех кроме `MISC_MEM` | +|illegal_instr_o |Сигнал о некорректной инструкции (на схеме не отмечен) | На всех кроме `JAL`, `LUI`, `AUIPC` | +|branch_o |Сигнал об инструкции условного перехода | Только на `BRANCH` | +|jal_o |Сигнал об инструкции безусловного перехода jal | Только на `JAL` | +|jalr_o |Сигнал об инструкции безусловного перехода jalr | Только на `JALR` | +|mret_o |Сигнал об инструкции возврата из прерывания/исключения mret | Только на `SYSTEM` | _Таблица 5. Описание портов основного дешифратора._