- Исправлена ошибка в изображении с уровнями абстракций в системе RISCV.
Изображение векторизовано.
- Изменено взаимодействие с регистром mie, чтобы соответствовать
привилегированной спецификации.
- Удалено дублирование текста из дополнительных материалов по CSR.
- Обновлена программа с обработчиком перехватов: теперь регистр mie
выставляется в последнюю очередь.
Раньше в вивадо была проблема с использованием mem-файлов.
Они нормально моделировались, но при этом не использовались в
синтезе, пока им не выставишь тип "Memory Initialization File".
Однако с выставлением этого типа файл нельзя было открыть в
вивадо (и даже поменять тип этого файла).
Поэтому, все файлы в курсе носили расширение .txt, чтобы их можно
было легко открыть в любом другом редакторе, а в вивадо
выставлялся злополучный тип "Memory Initialization File" вручную.
Сейчас же, судя по всему, вивадо нормально выполняет синтез и
с "Memory File" тоже, а значит нет нужды в каком-либо изменении
типов, лишь бы файлы носили расширение .mem. При этом файлы этого
типа можно открывать и редактировать в редакторе вивадо.
Для реализации логики приоритетного мультиплексора предлагалось
использовать case (1'b1).
В статье "SystemVerilog's priority & unique - A Solution to Verilog's
'full_case' & 'parallel_case' Evil Twins!" не рекомендуется подобная
практика.