diff --git a/Labs/03. Register file and memory/README.md b/Labs/03. Register file and memory/README.md index 3c2d625..6ad9ad5 100644 --- a/Labs/03. Register file and memory/README.md +++ b/Labs/03. Register file and memory/README.md @@ -346,7 +346,7 @@ mоdulе rf_r𝚒sсv( 1. В `Design Sources` проекта создайте `SystemVerilog`-файл `rf_riscv.sv`. 2. Опишите в нем модуль регистрового файла с таким же именем и портами, как указано в задании. 1. Обратите внимание, что имя памяти (не название модуля, а имя объекта памяти внутри модуля) должно быть `rf_mem`. Такое имя необходимо для корректной работы верификационного окружения. - 2. В отличии от памяти инструкций и данных, ячейки памяти регистрового файла должны быть 32-битными (а на 8-битными). Это означает, что реализация портов чтения и записи будет проще. + 2. Как и у памяти инструкций, порты чтения регистрового файла должны быть **асинхронными**. 3. Не забывайте, что у вас 2 порта на чтение и 1 порт на запись, при этом каждый порт не зависит от остальных (в модуле 3 независимых входа адреса). 4. Чтение из нулевого регистра (чтение по адресу 0) всегда должно возвращать нулевое значение. Этого можно добиться двумя путями: 1. Путем добавления мультиплексора перед выходным сигналом чтения (мультиплексор будет определять, пойдут ли на выход данные из ячейки регистрового файла, либо в случае если адрес равен нулю, на выход пойдет константа ноль).