Commit Graph

284 Commits

Author SHA1 Message Date
Andrei Solodovnikov
4ab28745d0 ЛР10. Исправление описки 2023-11-01 16:19:11 +03:00
Andrei Solodovnikov
228cb0cb48 Update Multiplexors.md 2023-11-01 16:04:53 +03:00
Andrei Solodovnikov
f8b62a1fb9 ЛР7. Исправление готового модуля 2023-11-01 14:05:26 +03:00
Andrei Solodovnikov
aa381fc84e ЛР8. Добавление тб и готового модуля 2023-10-30 21:38:28 +03:00
Andrei Solodovnikov
f667837c48 ЛР3. Обновление формулировки в теории 2023-10-26 12:53:33 +03:00
Andrei Solodovnikov
0e8565814a Исправление опечатки в Further readings.md 2023-10-26 11:45:58 +03:00
Andrei Solodovnikov
7edd3d9610 ЛР3. Исправление опечатки 2023-10-26 11:10:14 +03:00
Andrei Solodovnikov
326ceb5baf ЛР6. Исправление ссылки
Fixes #20
2023-10-25 09:05:24 +03:00
Andrei Solodovnikov
15d7b8ee3a ЛР6. Обновление тб
Для проверки реализации stall-а, используется иерархическое подключение. Оно накладывает требования на нейминг нескольких сигналов, однако куда проще наложить требование на название одного контретного модуля.
2023-10-22 20:41:25 +03:00
Andrei Solodovnikov
b7da6e5c20 Обновление декодера
В связи со способом генерации инструкций, за отведенное время тб не генерировал инструкции сдвига, что вело к не совсем полному покрытию.
2023-10-18 17:41:49 +03:00
Andrei Solodovnikov
8d5e4687e8 Исправение багов в готовом модуле декодера 2023-10-18 17:39:38 +03:00
Andrei Solodovnikov
6ef7c8828d Update lab_05.decoder.sv
UDP оказались не синтезируемой конструкцией.
2023-10-17 19:33:29 +03:00
Andrei Solodovnikov
d376b02a5e ЛР4. Исправление ссылки на конкатенацию 2023-10-17 12:16:27 +03:00
Andrei Solodovnikov
8dda14675d ЛР11. Исправление описки 2023-10-16 22:50:12 +03:00
Andrei Solodovnikov
505b5c5818 ЛР10. Переработка mcause
Приведение генерации причины перехвата в соответствие с машин модом.
Это необходимо для проверки проца с помощью spike.
2023-10-16 22:42:06 +03:00
Andrei Solodovnikov
91c4a73d60 Исправление ссылок на Verilog-файлы
.v->.sv
2023-10-16 20:51:27 +03:00
Andrei Solodovnikov
428419f7d4 ЛР3. Стилистические правки 2023-10-16 13:16:10 +03:00
Andrei Solodovnikov
c2d903da7c ЛР7. Добавление методички 2023-10-16 13:15:24 +03:00
Andrei Solodovnikov
70d703154e ЛР7. Хотфиксы готового модуля 2023-10-16 12:34:58 +03:00
Andrei Solodovnikov
53eb8f3bea Стилистические правки в rv32i.md 2023-10-16 00:25:05 +03:00
Andrei Solodovnikov
f9507694b9 ЛР6. Исправление прототипа riscv_unit 2023-10-15 10:51:51 +03:00
Andrei Solodovnikov
a923ff2ea8 ЛР5. Добавление готового модуля 2023-10-13 22:33:39 +03:00
Andrei Solodovnikov
8ab6419fbc ЛР10-11. Исправление микроархитектуры
Ранее, для того чтобы не маскировать сигналы, отвечающие за изменение
архитектурного состояния процессора, инструкция исполнялась до конца, а
уже после происходил перехват инструкции с записью в mepc следующего
значения PC.

Однако по спецификации, в mepc должен попадать адрес перехватываемой
инструкции (важно для проверки обработки исключений).

Таким образом, логика перехвата была изменена: маскируются все
управляющие сигналы, а в mepc записывается адрес текущей инструкции.
2023-10-13 17:14:54 +03:00
Andrei Solodovnikov
45d21be590 ЛР8. Объединение подзаголовков о пробрасываемых сигналах 2023-10-13 13:04:44 +03:00
Andrei Solodovnikov
4ebfae228c ЛР8. Исправление схемы 2023-10-13 12:59:33 +03:00
Andrei Solodovnikov
b58325fce2 ЛР6. Удаление упоминания о инициализации памяти
Поскольку память теперь 32-разрядная, этот раздел не актуален.
2023-10-13 12:54:27 +03:00
Andrei Solodovnikov
e8bc3c8e8a ЛР7. Добавление готового модуля 2023-10-12 09:21:49 +03:00
Andrei Solodovnikov
f8d15a2e8e Шаги имплементации. Обновление схемы 2023-10-11 14:38:07 +03:00
Andrei Solodovnikov
3ddc89235b ЛР5. Исправление формата сообщений в тб 2023-10-11 14:27:05 +03:00
Andrei Solodovnikov
892387e0f4 Merge pull request #17 from fhideous/master
Исправлено присваивание к несуществующему порту модуля
2023-10-09 23:31:54 +03:00
Vladislav
682cabfcb9 Исправлено присваивание к несуществующему порту 2023-10-09 23:27:01 +03:00
Andrei Solodovnikov
d3058e182a ЛР3. Исправление подключения рф в nexys-модуле
В модуле использовался старый прототип подключения регистрового
файла.

Closes #13.
2023-10-09 13:21:05 +03:00
Andrei Solodovnikov
d0441fd84f Update How FPGA works.md 2023-10-09 13:05:42 +03:00
Andrei Solodovnikov
17c3756092 ЛР6. Исправление схемы 2023-10-08 20:23:29 +03:00
Andrei Solodovnikov
f3500aeb36 Завершение работы над пакетами 2023-10-07 12:11:27 +03:00
Andrei Solodovnikov
bff1cfa565 ЛР6. Добавление прототипов модулей 2023-10-06 14:27:15 +03:00
Andrei Solodovnikov
33190117b1 ЛР6. Добавление сигналов на схему ядра 2023-10-06 10:51:50 +03:00
Andrei Solodovnikov
9751077e86 ЛР5. Обновление таблицы с описанием инструкций
Поскольку в методичке в явном виде сказано назначить illegal_instr
значение 1 при инструкциях ecall/ebreak, данное поведение было
отраежено и в таблице с описанием инструкций.
2023-10-05 12:09:10 +03:00
Andrei Solodovnikov
301ea3be2f ЛР5. Обновление тестбенча 2023-10-05 12:08:57 +03:00
Andrei Solodovnikov
58346759f9 Обновление пакетов
- parameter заменены на localparam, чтоб Vivado не кидал варнинги;
- добавлены недостающие пакеты и указания в методичках.
2023-10-05 12:02:26 +03:00
Andrei Solodovnikov
6ea395c761 ЛР5. Исправление опечатки
Исправлено слово "jump" в расшифровке инструкций jal/jalr.
2023-10-05 10:21:48 +03:00
Andrei Solodovnikov
44311a34ed ЛР5,10,11. Исправление микроархитектуры
Для повышения читаемости, приоритетный мультиплексор разбит на каскад
двухвходовых мультиплексоров.
2023-10-05 10:21:48 +03:00
Andrei Solodovnikov
429907bfd6 ЛР3. Добавление указаний по реализации логики приоритетов 2023-10-05 00:06:13 +03:00
Andrei Solodovnikov
9f0aabe284 ЛР11. Убрано упоминание об использовании обратного кейса
Для реализации логики приоритетного мультиплексора предлагалось
использовать case (1'b1).
В статье "SystemVerilog's priority & unique - A Solution to Verilog's
'full_case' & 'parallel_case' Evil Twins!" не рекомендуется подобная
практика.
2023-10-04 23:55:36 +03:00
Andrei Solodovnikov
1dab75418f Исправление микроархитектурной реализации jalr
Предыдущая реализация не выполняла требование спецификации по обнулению
младшего бита суммы, используемой в качестве нового значения
программного счетчика.

Подробнее см. RISC-V Unprivileged ISA V20191213 стр. 21

Closes #12
2023-10-04 22:23:09 +03:00
Andrei Solodovnikov
9c230e3bc6 ЛР11, ЛР5. Исправление поведения сигнала jalr на схеме 2023-10-04 14:02:05 +03:00
Andrei Solodovnikov
ba12b17096 ЛР5. Удаление проверки в ПЛИС из порядка выполнения работы 2023-10-03 17:45:23 +03:00
Andrei Solodovnikov
36edc08857 ЛР5. Исправление примера формирования сигналов
До этого пример был смешан из описания двух инструкций: lw и sw.
2023-10-03 17:45:16 +03:00
Andrei Solodovnikov
d70d39681e ЛР3. Исправление ссылки на nexys_riscv 2023-10-03 13:34:39 +03:00
Andrei Solodovnikov
56af7c4d3c ЛР3. Исправление тб памяти данных
Тестбенч не выполнял проверку на запись данных
2023-10-03 13:34:32 +03:00