From e5f26df2ba295ea8f94ec9d26afec4c18e4ee0ba Mon Sep 17 00:00:00 2001 From: alexkharl Date: Tue, 27 Feb 2024 16:32:05 +0300 Subject: [PATCH] =?UTF-8?q?Ref(03/board/md):=D0=A3=D0=BB=D1=83=D1=87=D1=88?= =?UTF-8?q?=D0=B5=D0=BD=D0=B8=D0=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../board files/README.md | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/Labs/03. Register file and memory/board files/README.md b/Labs/03. Register file and memory/board files/README.md index 7c76eb2..a5c3a85 100644 --- a/Labs/03. Register file and memory/board files/README.md +++ b/Labs/03. Register file and memory/board files/README.md @@ -1,6 +1,6 @@ # Проверка работы регистрового файла на ПЛИС -После того, как вы проверили на моделировании АЛУ, вам необходимо проверить его работу на прототипе в ПЛИС. +После того, как вы проверили на моделировании регистровый файл, вам необходимо проверить его работу на прототипе в ПЛИС. Инструкция по реализации прототипа описана [здесь](../../../Vivado%20Basics/How%20to%20program%20an%20fpga%20board.md). @@ -20,7 +20,7 @@ _Рисунок 2. Описание периферии, доступной пр - ### Переключатели и кнопки. - Для работы с регистровым файлом, необходимо выставлять сигналы адресов и данных. + Для работы с регистровым файлом необходимо выставлять сигналы адресов и данных. У платы недостаточно переключателей для такого количества входов регистрового файла, поэтому адреса и данные задаются одним источником ввода: 1. Ввод **адресов** (`read_addr1_i`/`read_addr2_i`/`write_addr_i`) регистрового файла осуществляется через переключатели `SW[14:0]`. Соответствие следующее: @@ -51,7 +51,7 @@ _Рисунок 2. Описание периферии, доступной пр - ### Запись - Рассмотрим последовательность действий, необходимых для осуществления записи в регистровый файл на примере. Запишем значение 0x1234 в регистр 5. + Рассмотрим последовательность действий, которые надо осуществить для записи в регистровый файл, на примере. Запишем значение 0x1234 в регистр 5. 1. Сразу после прошивки, как видно по не горящим светодиодам, на портах регистрового файла выставлены нулевые адреса. Нам нужно изменить адрес записи, поэтому выставим на переключателях значение 5 и нажмем кнопку `BTND` (смотри _рис. 3_). @@ -68,7 +68,7 @@ _Рисунок 2. Описание периферии, доступной пр - ### Чтение - Рассмотрим последовательность действий, необходимых для осуществления чтения из регистрового файла на примере. Прочитаем из регистра 5 заранее записанное значение 0x1234 и выведем его на оба блока семисегментных индикаторов 7-0 и 3-0. + Рассмотрим последовательность действий, которые надо осуществить для чтения из регистрового файла, на примере. Прочитаем из регистра 5 заранее записанное значение 0x1234 и выведем его на оба блока семисегментных индикаторов 7-0 и 3-0. Выставим значение 5 на блоки переключателей `ra1` и `ra2` (см. _рис. 2_), и нажмем кнопку `BTND`, чтобы обновить адрес значением с переключателей (см. _рис. 5_). @@ -78,4 +78,7 @@ _Рисунок 2. Описание периферии, доступной пр Обратите внимание на то, что для чтения достаточно выставить нужный адрес на порт регистрового файла, и содержимое регистра оказывается считанным. +> [!NOTE] +> Кнопка сброса `CPU_RESETN` не сбрасывает регистровый файл, т.к. сигнал сброса не заведен в модуль регистрового файла, а модуль `nexys_rf_riscv` самостоятельно не сбрасывает регистровый файл. Для сброса можно осуществить перепрошивку ПЛИС. + Попробуйте записать информацию в нулевой регистр, затем по другим адресам. После чего считайте записанную информацию и убедитесь, что она соответствует той, которую вы записывали (с учетом особенностей регистрового файла RISC-V).