Commit Graph

715 Commits

Author SHA1 Message Date
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
Andrei Solodovnikov
e013ab2995 Update rv32i.md 2023-10-02 20:30:17 +03:00
Andrei Solodovnikov
e5250cfecc ЛР3. Выделение требования о делении на 4 2023-10-02 14:21:35 +03:00
Andrei Solodovnikov
221ba1a282 Merge pull request #8 from gr33nka/master
Обновление раздела мотивации
2023-10-02 11:42:52 +03:00
Andrei Solodovnikov
d193da2d00 Стилистические правки в мотивации 2023-10-02 11:42:22 +03:00
Andrei Solodovnikov
3888f38f86 Merge pull request #10 from Nekkit6/master
Правка тб дек
2023-10-02 08:34:22 +03:00
Andrei Solodovnikov
17c57634d9 ЛР11.Исправление схÐмикрсхемы ядраÐ 2023-10-02 08:31:25 +03:00
Nekkit6
2475e50613 Правка тб 2023-10-02 08:27:55 +03:00
Andrei Solodovnikov
d23141f03b Merge pull request #9 from Nekkit6/master
Правки тб декодера
2023-10-02 08:25:46 +03:00
Nekkit6
15b3251979 Правки тб декодера 2023-10-02 00:31:51 +03:00
Andrei Solodovnikov
70c8d9b5f8 ЛР4. Исправление примера в теории по ИЗ 2023-10-01 22:58:35 +03:00
Andrei Solodovnikov
4b33ab5da8 Update How FPGA works.md 2023-10-01 13:28:05 +03:00
Mikhail Popov
403cac502e Merge branch 'MPSU:master' into master 2023-09-29 03:01:49 +03:00
gr33nka
7e467c62c7 добавил недостающие разделы мотивации 2023-09-29 02:00:05 +02:00
Andrei Solodovnikov
23a3119824 Исправление опечатки в списке литературы 2023-09-28 13:03:13 +03:00
Andrei Solodovnikov
63426e8459 ЛР4. Обновление демо-программы под 32-битные ячейки памяти 2023-09-27 14:09:37 +03:00
Andrei Solodovnikov
7d12c5ce05 ЛР3. Удаление дубликата слова.md 2023-09-25 16:00:16 +03:00
Andrei Solodovnikov
12e6125c71 ЛР3. Исправление опечатки и сложной формулировки.md 2023-09-25 15:40:18 +03:00
Andrei Solodovnikov
7d23ab2fb9 ЛР2. Удаление ссылок на лекции.md 2023-09-25 15:37:00 +03:00
Andrei Solodovnikov
533b816acb ЛР4. Исправление программы
Программа обновлена под 32-разрядные ячейки памяти инструкций
2023-09-25 00:07:18 +03:00