40 Commits

Author SHA1 Message Date
Andrei Solodovnikov
6d72a7b2dc ЛР6. Исправление готового модуля 2025-04-22 13:19:28 +03:00
Andrei Solodovnikov
9739429d6e Синхронизация с правками публикуемого издания (#101)
* СП. Обновление предисловия

* СП. Обновление введения

* СП. Обновление лаб

* СП. Обновление доп материалов

* СП. Введение

* СП. Введение

* СП. ЛР№4, 15

* СП. Базовые конструкции Verilog

* Update Implementation steps.md

* СП. ЛР 4,5,7,8,14

* СП. ЛР№8

* Синхронизация правок

* СП. Финал

* Исправление ссылки на рисунок

* Обновление схемы

* Синхронизация правок

* Добавление белого фона .drawio-изображениям

* ЛР2. Исправление нумерации рисунка
2025-02-12 17:53:52 +03:00
Andrei Solodovnikov
07536d890f ЛР11. Исправление готового модуля 2024-12-13 19:21:23 +03:00
Andrei Solodovnikov
60a08481e1 Made up modules rename (#102)
* ЛР5. Обновление имени готового модуля

* ЛР8. Переименование готового модуля

* ЛР11. Переименование готового модуля
2024-12-02 13:03:32 +03:00
Andrei Solodovnikov
f6815409e2 ЛР8. Обновление имени готового модуля 2024-11-23 17:18:11 +03:00
Andrei Solodovnikov
e9665941f9 Обновление тестбенчей 2024-09-09 12:01:27 +03:00
Andrei Solodovnikov
ee071a541c ЛР6. Использование параметра из пакета memory_pkg в готовом модуле 2024-07-28 11:52:26 +03:00
Andrei Solodovnikov
7912f1ede0 ЛР3. Изменение имени входа в памяти инструкций 2024-07-28 11:51:47 +03:00
BROsandr
529f87378d Feat(labs/made-up/uart):Обн-ие под новую спеку (#91) 2024-07-10 12:44:45 +03:00
Andrei Solodovnikov
85883858ac Переработка лабораторных работ, связанных с памятью (#89)
* Переработка лабораторных работ, связанных с памятью

Существенно переработаны ЛР3 и ЛР7:

Из ЛР3 убрано задание реализовать память данных. Эта память
использовалась только студентами ИВТ и только в рамках одной лабы.
В итоге использовалась готовая память, и ничего не мешает использовать
ее с самого начала.

Задание по реализации памяти инструкций также претерпело изменения.
Теперь код памяти инструкций предоставляется сразу. Это объясняется тем,
что код модуля состоит в общем-то из 4х строк, на которые тратится
слишком много времени (с учетом добавления тестбенча и проверок).
Кроме того, использование готового кода позволяет дать модуль чуть
посложнее (с параметризацией размера).

По итогу правок, третья лабораторная работа превращается чисто в
лабораторную по написанию регистрового файла, что должно положительно
сказаться на кривой сложности лаб. После второй лабы происходит слишком
резкий скачок в объемах работы.

Соответственно, в связи с тем, что память данных больше не делается на
третьей лабе, дополнительная ЛР по памяти данных с byte enable
необходимо перенести до реализации тракта данных.

* ЛР3, 5, 6. Правки из ревью

* ЛР7. Добавление иллюстраций
2024-07-02 10:24:41 +03:00
Andrei Solodovnikov
b14bcf3ed6 ЛР7. Исправление готового модуля 2024-05-08 19:59:48 +03:00
Andrei Solodovnikov
bc5d023bed ЛР10. Исправление разрядности в готовом модуле 2024-04-30 10:19:09 +03:00
Andrei Solodovnikov
9d886876c9 ЛР10-11. Исправление кода прерывания
Код прерывания должен содержать единицу в старшем бите. Вместо этого
единица писалась в младший бит старшего ниббла.
2024-04-30 10:19:00 +03:00
Andrei Solodovnikov
fedc917cab ЛР7. Исправление адресации в ext_mem 2024-04-23 14:22:13 +03:00
Andrei Solodovnikov
e309c02af1 ЛР11. Добавление обфусцированного модуля riscv_core 2024-04-22 17:39:34 +03:00
alexkharl
8bf0cf7fea Feat(lab13/obf/uart_tx):Доб-ие обф uart_rx_sb_ctrl 2024-04-15 14:32:07 +03:00
alexkharl
d76078af78 Fix(labs/made/uart_tx):Испр-ие lut cI7ozekBmfu12 2024-04-11 13:19:18 +03:00
alexkharl
f98899de00 Feat(lab13/obf/uart_tx):Доб-ие обф uart_tx_sb_ctrl 2024-04-09 15:20:15 +03:00
BROsandr
84c0e9052e ЛР13. Добавление обфусцированного модуля(#76)
* Feat(13/uart):Доб-ие обфускации

* Feat(13/led):Доб-ие обфускации

* Feat(13/led):Распил в lut cntr

* Ref(13/led):Улучшение распила в lut cntr

* Ref(13/led):Улуч-ие распила led_mode

* Feat(13/led):обфускация led_val

* Feat(13/led):Обфускация read_data

* Fix(13/led):Испр-ие размера read_data_next

* Ref(13/led):Уд-ие сигнала soft_reset

* Ref(13/led):Уд-ие зависимости по входным сигналам

* Ref(13/led):Перестановка строк

* Feat(13/led):Разматывание 32'd1 в series

* Feat(13/led):Доб-ие xor

* Ref(13/led):Уд-ие комментов

* Feat(13/led):Доб-ие обфускации имен

* Feat(13/led):Деобфускация led_val, led_mode

* Fix(13/led):Испр-ие xor

* Ref(13/uart_tx):Уд-ие netlist
2024-03-26 11:53:15 +03:00
Andrei Solodovnikov
ff6f218791 Update lab_03.data_mem.sv
Ошибка в отбрасывании бит адреса
2024-03-16 22:55:27 +03:00
Alexey
86102603f4 Update lab_02.alu.sv (#64)
* Update lab_02.alu.sv

Change code for alu_riscv

* Update lab_02.alu.sv

Change mail

* Update Labs/Made-up modules/lab_02.alu.sv

---------

Co-authored-by: Andrei Solodovnikov <VoultBoy@yandex.ru>
2024-02-23 10:57:59 +03:00
Andrei Solodovnikov
3dcb0b76f9 Добавление кредитов в исходники 2024-02-21 11:48:18 +03:00
Andrei Solodovnikov
45585ff9c4 BREAKING CHANGE! Сдвиг нумерации в лабах
Лабу по дейзи-цепочке необходимо вставить сразу после лабы по интеграции
контроллера прерываний, поэтому приходится увеличить нумерацию
оставшихся лаб.
2024-02-04 11:08:37 +03:00
Andrei Solodovnikov
1bb2fdd323 Переход на использование mem-файлов (#38)
Раньше в вивадо была проблема с использованием mem-файлов.
Они нормально моделировались, но при этом не использовались в
синтезе, пока им не выставишь тип "Memory Initialization File".

Однако с выставлением этого типа файл нельзя было открыть в
вивадо (и даже поменять тип этого файла).

Поэтому, все файлы в курсе носили расширение .txt, чтобы их можно
было легко открыть в любом другом редакторе, а в вивадо
выставлялся злополучный тип "Memory Initialization File" вручную.

Сейчас же, судя по всему, вивадо нормально выполняет синтез и
с "Memory File" тоже, а значит нет нужды в каком-либо изменении
типов, лишь бы файлы носили расширение .mem. При этом файлы этого
типа можно открывать и редактировать в редакторе вивадо.
2024-01-17 14:35:04 +03:00
Andrei Solodovnikov
1374a14e93 ЛР15. Добавление методички 2023-12-31 20:52:10 +03:00
Andrei Solodovnikov
dbc6e2e60f ЛР7. Убраны магические константы 2023-12-17 12:12:07 +03:00
Andrei Solodovnikov
c21defe65c ЛР8. Добавление endmodule в lab_08.lsu.sv 2023-11-28 10:32:43 +03:00
Andrei Solodovnikov
ce62a8a6cf ЛР10. Добавление готового модуля interrupt_controller 2023-11-26 18:56:38 +03:00
Andrei Solodovnikov
47e781f53a ЛР10. Добавление готового модуля csr 2023-11-26 18:30:52 +03:00
Andrei Solodovnikov
a47e4d441c ЛР3,7,12. Убрано использование магических констант при работе с памятью
Данная логика не используется в реальных проектах и добавляет большие
мультиплексоры, отрицательно сказывающиеся на таймингах схемы.
2023-11-15 17:59:41 +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
f8b62a1fb9 ЛР7. Исправление готового модуля 2023-11-01 14:05:26 +03:00
Andrei Solodovnikov
aa381fc84e ЛР8. Добавление тб и готового модуля 2023-10-30 21:38:28 +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
70d703154e ЛР7. Хотфиксы готового модуля 2023-10-16 12:34:58 +03:00
Andrei Solodovnikov
a923ff2ea8 ЛР5. Добавление готового модуля 2023-10-13 22:33:39 +03:00
Andrei Solodovnikov
e8bc3c8e8a ЛР7. Добавление готового модуля 2023-10-12 09:21:49 +03:00
Andrei Solodovnikov
ea2eeaac03 Добавление готовых модулей 2023-09-20 16:06:20 +03:00