Commit Graph

47 Commits

Author SHA1 Message Date
Andrei Solodovnikov
12bbbbfe0f ЛР14. Изменение точки входа конечного автомата
Ранее после сброса, программатор сразу же отравлял начальное сообщение.
Подобное поведение неудобно, поскольку требует сперва запустить скрипт
прошивки, и только после этого делать сброс.
Теперь же программатор ждет начальной команды и только после этого,
отправляет сообщение по UART.
2024-01-30 15:55:08 +03:00
Andrei Solodovnikov
7208184af8 ЛР12. Замена копирайтной пикчи. 2024-01-30 14:22:43 +03:00
Andrei Solodovnikov
d0bf82df6c ЛР2. Обновление изображений, указание источников
Перерисованы изображения, взятые из Цифровой схемотехники, и добавлена
ссылка в конце лабы.
2024-01-26 15:57:19 +03:00
Andrei Solodovnikov
1374a14e93 ЛР15. Добавление методички 2023-12-31 20:52:10 +03:00
Andrei Solodovnikov
961613f267 Обновление иллюстраций к лабам 2023-12-25 21:43:13 +03:00
Andrei Solodovnikov
37b354b5bc Обновление иллюстрации к описанию ЛР13 2023-12-24 12:36:41 +03:00
Turamys
43ada76eeb upgrate picture (#35)
* upgrate picture

* upgrate picture

* upgrate picture
2023-12-24 12:25:13 +03:00
Andrei Solodovnikov
a608ba831a ЛР12. Исправление карты памяти VGA 2023-12-19 12:01:21 +03:00
Andrei Solodovnikov
425d9bb4ac Добавление методички 14ой лабы и пустого ридми 15-ой 2023-12-17 21:28:30 +03:00
Andrei Solodovnikov
0b50931ac3 ЛР10-11. Исправление бага в микроархитектуре
В случае перехвата во время исполнения LOAD/STORE инструкции,
программный не менялся.

Closes #31.
2023-12-12 20:42:36 +03:00
Andrei Solodovnikov
2c7ea597cc ЛР5. Исправление описания операций в таблице 2023-12-06 01:00:50 +03:00
Andrei Solodovnikov
4795862e41 ЛР12. Обновление описания цветовой палитры VGA 2023-12-02 13:23:06 +03:00
Andrei Solodovnikov
1722950b07 ЛР12. Исправление диапазона адресов VGA-модуля 2023-12-02 12:06:29 +03:00
Andrei Solodovnikov
746fb2794e ЛР8. Добавление сигнала сброса на вход LSU 2023-11-28 14:43:43 +03:00
Andrei Solodovnikov
0f433e1b25 ЛР12. Добавление сигнала сброса 2023-11-28 14:43:43 +03:00
Andrei Solodovnikov
19bc1afcbf ЛР12. Убрано использование ready 2023-11-28 11:17:49 +03:00
Andrei Solodovnikov
9bbbe0c820 ЛР12. Обновление методички 2023-11-27 00:22:01 +03:00
Andrei Solodovnikov
80c4b5ea2f ЛР5. Исправление значения func7 для mret в сводной таблице 2023-11-26 15:20:45 +03:00
Andrei Solodovnikov
0c72f3a0c0 ЛР10. Уточнение принципа работы регистра mtvec 2023-11-23 16:21:52 +03:00
Andrei Solodovnikov
8ee7df7656 ЛР6. Изменение разрядности wb_src_sel на схеме
Выход декодера двухразрядный, в будущих лабах это будет использовано.

Closes #23
2023-11-14 19:38:34 +03:00
Andrei Solodovnikov
522dd525b3 ЛР10-11. Исправление микроархитектуры
Логика генерации нового значения PC содержала ошибку.

Fixes #25
2023-11-14 18:00:14 +03:00
Andrei Solodovnikov
fdc9d8c664 ЛР6. Разрыв общего сигнала rst_i между ядром и столлом
Студентов сбивал с толку общий сигнал, терялось понимание направления
сигналов.
2023-11-14 11:30:10 +03:00
Andrei Solodovnikov
2790eb87f1 ЛР6. Исправление схемы
Один из выходных сигналов декодера имел неверное имя.
2023-11-14 11:28:32 +03:00
Andrei Solodovnikov
8feee4531b ЛР11. Обновление микроархитектуры ядра 2023-11-07 15:14:08 +03:00
Andrei Solodovnikov
8b870423c9 Update README.md 2023-11-07 15:05:45 +03:00
Andrei Solodovnikov
154f212562 ЛР10. Обновление методички
- Упрощен контроллер прерываний и логика генерации mcause.
- Обновлен код примера обработчика перехвата.
2023-11-02 13:10:57 +03:00
Andrei Solodovnikov
505b5c5818 ЛР10. Переработка mcause
Приведение генерации причины перехвата в соответствие с машин модом.
Это необходимо для проверки проца с помощью spike.
2023-10-16 22:42:06 +03:00
Andrei Solodovnikov
8ab6419fbc ЛР10-11. Исправление микроархитектуры
Ранее, для того чтобы не маскировать сигналы, отвечающие за изменение
архитектурного состояния процессора, инструкция исполнялась до конца, а
уже после происходил перехват инструкции с записью в mepc следующего
значения PC.

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

Таким образом, логика перехвата была изменена: маскируются все
управляющие сигналы, а в mepc записывается адрес текущей инструкции.
2023-10-13 17:14:54 +03:00
Andrei Solodovnikov
4ebfae228c ЛР8. Исправление схемы 2023-10-13 12:59:33 +03:00
Andrei Solodovnikov
17c3756092 ЛР6. Исправление схемы 2023-10-08 20:23:29 +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
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
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
17c57634d9 ЛР11.Исправление схÐмикрсхемы ядраÐ 2023-10-02 08:31:25 +03:00
Andrei Solodovnikov
e16cb09099 ЛР12. Обновление методички 2023-09-24 10:49:29 +03:00
Andrei Solodovnikov
9febccbd1f ЛР12. Обновление схемы 2023-09-18 21:59:25 +03:00
Andrei Solodovnikov
3769cdb972 ЛР10-11. Добавлена методичка по прерываниям 2023-09-14 21:58:27 +03:00
Andrei Solodovnikov
e266b76927 ЛР8. Добавлены исходники для таблицы 2023-09-14 13:29:00 +03:00
Andrei Solodovnikov
d665991ba3 ЛР5. Обновление методички
Добавлена поддержка инструкций CSR + mret, чтобы в последствии не
возвращаться к этому модулю.
2023-09-14 13:28:30 +03:00
Andrei Solodovnikov
73c615b558 ЛР8. Добавление методички 2023-09-10 21:09:14 +03:00
Andrei Solodovnikov
182a848b43 Обновление структуры лаб 2023-09-10 21:09:13 +03:00
Andrei Solodovnikov
edb6b5a7d0 ЛР3. Переделка
Возврат к истокам: 32-разрядные ячейки памяти.
2023-09-10 20:57:14 +03:00
Andrei Solodovnikov
64483f7080 ЛР6. Исправление программы и микроархитектуры
В программе осуществлялся невыровненный доступ в память, использовался
непонятный лейбл, инструкция ветвления прыгала на следующую инструкцию,
что затруднит проверку результата ветвления.
В микроархитектуре была ошибка с генерацией разрешения записи в
регистровый файл.
2023-09-08 11:19:57 +03:00
Andrei Solodovnikov
f4c0960704 Initial commit 2023-09-07 17:06:55 +03:00