Commit Graph

260 Commits

Author SHA1 Message Date
Andrei Solodovnikov
b9dfcd2201 ЛР12. Уточнение формулировок в методичке 2023-11-16 17:05:00 +03:00
Andrei Solodovnikov
8104d4ddec ЛР10. Обновление комментария о считывании нелегальной инструкции 2023-11-16 17:01:56 +03:00
Andrei Solodovnikov
786e255fa0 Переименование тестбенча для модуля vector_abs 2023-11-15 23:25:39 +03:00
Andrei Solodovnikov
a6f73fc142 ЛР10. Изменение формулировки о количестве поддерживаемых источников прерываний 2023-11-15 23:23:46 +03:00
Andrei Solodovnikov
dd5a0f9090 ЛР11. Добавление сторожевого таймера для завершения тб 2023-11-15 23:15:12 +03:00
Andrei Solodovnikov
a47e4d441c ЛР3,7,12. Убрано использование магических констант при работе с памятью
Данная логика не используется в реальных проектах и добавляет большие
мультиплексоры, отрицательно сказывающиеся на таймингах схемы.
2023-11-15 17:59:41 +03:00
Andrei Solodovnikov
1da4ed0173 Перевод Verilog-кода на SystemVerilog 2023-11-15 14:47:47 +03:00
Andrei Solodovnikov
1b4f666e25 Удаление неинформативных строк из шапки модуля с комментариями 2023-11-15 14:34:03 +03:00
Andrei Solodovnikov
4be66525d6 Удаление timescale из всех предоставляемых модулей
Поскольку студентам не рассказывается что это за конструкция и зачем
она используется, они не прописывают таймскейл в своих модулях.
Смесь модулей с таймскейлом и без него приводит к появлению множества
предупреждений, забивающих лог.
2023-11-15 14:32:42 +03:00
Andrei Solodovnikov
ca6171cd54 ЛР11. Добавлена задержка перед завершением тб
Тестбенч не успевал вернуться в бесконечный цикл после возврата из
обработчика прерывания.
2023-11-14 21:53:05 +03:00
Andrei Solodovnikov
188389d8ba ЛР10. Добавлены адреса инструкций в листинге 2023-11-14 21:52:18 +03:00
Andrei Solodovnikov
12ed407140 ЛР10. Обновление обновление комментариев в листинге программы 2023-11-14 19:45:46 +03:00
Andrei Solodovnikov
f5dce97e58 ЛР10. Изменение формулировки в описании CSR-контроллера
Fixes #24
2023-11-14 19:45:04 +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
c7a6569eed ЛР11. Добавление тестбенча 2023-11-14 16:07:15 +03:00
Andrei Solodovnikov
c53e555a44 ЛР10. Исправление листинга программы
Изменены адреса указателей на стеки и глобальную область данных
(указаны реальные адреса памяти).
Добавлен вызов ecall.
2023-11-14 15:13:24 +03:00
Andrei Solodovnikov
fdc9d8c664 ЛР6. Разрыв общего сигнала rst_i между ядром и столлом
Студентов сбивал с толку общий сигнал, терялось понимание направления
сигналов.
2023-11-14 11:30:10 +03:00
Andrei Solodovnikov
68c009a040 ЛР6. Исправление опечатки в листинге программы 2023-11-14 11:28:56 +03:00
Andrei Solodovnikov
2790eb87f1 ЛР6. Исправление схемы
Один из выходных сигналов декодера имел неверное имя.
2023-11-14 11:28:32 +03:00
Andrei Solodovnikov
683f609f25 ЛР10. Добавление тб для контроллеров 2023-11-14 11:12:52 +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
1fb51df793 Исправление опечаток в Further readings.md 2023-11-02 13:11:02 +03:00
Andrei Solodovnikov
154f212562 ЛР10. Обновление методички
- Упрощен контроллер прерываний и логика генерации mcause.
- Обновлен код примера обработчика перехвата.
2023-11-02 13:10:57 +03:00
Andrei Solodovnikov
c67ed216cf ЛР10. Исправление опечатки 2023-11-01 21:19:05 +03:00
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