From 7857c351dbe4130b0a5763c5b560ebd7d9db20d5 Mon Sep 17 00:00:00 2001 From: alexkharl Date: Wed, 6 Mar 2024 13:25:13 +0300 Subject: [PATCH] =?UTF-8?q?Feat(03/board):=D0=94=D0=BE=D0=B1-=D0=B8=D0=B5?= =?UTF-8?q?=20=D0=B7=D0=B0=D0=BF=D0=B8=D1=81=D0=B8=20=D0=B2=20=D1=80=D0=B5?= =?UTF-8?q?=D0=B3=D0=B8=D1=81=D1=82=D1=80=206?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../nexys_rf_riscv_read.drawio.svg | 2 +- .../nexys_rf_riscv_write_addr_6.drawio.svg | 4 ++ .../nexys_rf_riscv_write_data_5678.drawio.svg | 4 ++ .../board files/README.md | 39 +++++++++++++------ 4 files changed, 37 insertions(+), 12 deletions(-) create mode 100644 .pic/Labs/board files/nexys_rf_riscv_write_addr_6.drawio.svg create mode 100644 .pic/Labs/board files/nexys_rf_riscv_write_data_5678.drawio.svg diff --git a/.pic/Labs/board files/nexys_rf_riscv_read.drawio.svg b/.pic/Labs/board files/nexys_rf_riscv_read.drawio.svg index 4d54979..22eaae1 100644 --- a/.pic/Labs/board files/nexys_rf_riscv_read.drawio.svg +++ b/.pic/Labs/board files/nexys_rf_riscv_read.drawio.svg @@ -1,4 +1,4 @@ -
addr_en
1
1
0
1
1
0
0
0
0
0
ra2
ra1
\ No newline at end of file +
addr_en
1
0
1
1
1
0
0
0
0
0
ra2
ra1
\ No newline at end of file diff --git a/.pic/Labs/board files/nexys_rf_riscv_write_addr_6.drawio.svg b/.pic/Labs/board files/nexys_rf_riscv_write_addr_6.drawio.svg new file mode 100644 index 0000000..875907f --- /dev/null +++ b/.pic/Labs/board files/nexys_rf_riscv_write_addr_6.drawio.svg @@ -0,0 +1,4 @@ + + + +
addr_en
1
0
1
\ No newline at end of file diff --git a/.pic/Labs/board files/nexys_rf_riscv_write_data_5678.drawio.svg b/.pic/Labs/board files/nexys_rf_riscv_write_data_5678.drawio.svg new file mode 100644 index 0000000..346f5a1 --- /dev/null +++ b/.pic/Labs/board files/nexys_rf_riscv_write_data_5678.drawio.svg @@ -0,0 +1,4 @@ + + + +
0
1
1
1
1
0
0
1
1
0
1
0
1
0
we
0
0
\ No newline at end of file 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 1aba354..d9f5c8c 100644 --- a/Labs/03. Register file and memory/board files/README.md +++ b/Labs/03. Register file and memory/board files/README.md @@ -51,30 +51,47 @@ _Рисунок 2. Описание периферии, доступной пр - ### Запись - Рассмотрим последовательность действий, которые надо осуществить для записи в регистровый файл, на примере. Запишем значение `0x1234` в регистр `5`. + Рассмотрим последовательность действий, которые надо осуществить для записи в регистровый файл, на примере. - 1. Сразу после прошивки, как видно по негорящим светодиодам, на портах регистрового файла выставлены нулевые адреса. Нам нужно изменить адрес записи, поэтому выставим на переключателях значение `5` и нажмем кнопку `BTND` (см. _рис. 3_). + 1. Запишем значение `0x1234` в регистр `5`. - ![../../../.pic/Labs/board%20files/nexys_rf_riscv_write_addr_5.drawio.svg](../../../.pic/Labs/board%20files/nexys_rf_riscv_write_addr_5.drawio.svg) + 1. Сразу после прошивки, как видно по негорящим светодиодам, на портах регистрового файла выставлены нулевые адреса. Нам нужно изменить адрес записи, поэтому выставим на переключателях значение `5` и нажмем кнопку `BTND` (см. _рис. 3_). - _Рисунок 3. Выставление адреса `5` на порт `write_addr_i` регистрового файла._ + ![../../../.pic/Labs/board%20files/nexys_rf_riscv_write_addr_5.drawio.svg](../../../.pic/Labs/board%20files/nexys_rf_riscv_write_addr_5.drawio.svg) - Обратите внимание: на светодиодах сразу после нажатия кнопки отображается адрес `5`. - 1. Чтобы записать данные в указанный (пятый) регистр, выставим на переключателях значение `0x1234` и нажмем кнопку `BTNR` (см. _рис. 4_). + _Рисунок 3. Выставление адреса `5` на порт `write_addr_i` регистрового файла._ - ![../../../.pic/Labs/board%20files/nexys_rf_riscv_write_data_1234.drawio.svg](../../../.pic/Labs/board%20files/nexys_rf_riscv_write_data_1234.drawio.svg) + Обратите внимание: на светодиодах сразу после нажатия кнопки отображается адрес `5`. + 1. Чтобы записать данные в указанный (пятый) регистр, выставим на переключателях значение `0x1234` и нажмем кнопку `BTNR` (см. _рис. 4_). - _Рисунок 4. Запись `0x1234` в регистр `5`._ + ![../../../.pic/Labs/board%20files/nexys_rf_riscv_write_data_1234.drawio.svg](../../../.pic/Labs/board%20files/nexys_rf_riscv_write_data_1234.drawio.svg) + + _Рисунок 4. Запись `0x1234` в регистр `5`._ + + 1. Запишем значение `0x5678` в регистр `6`. + + 1. Выставим на блок переключателей, отвечающих за порт записи, значение `6` и нажмем кнопку `BTND` (см. _рис. 5_). + + ![../../../.pic/Labs/board%20files/nexys_rf_riscv_write_addr_6.drawio.svg](../../../.pic/Labs/board%20files/nexys_rf_riscv_write_addr_6.drawio.svg) + + _Рисунок 5. Выставление адреса `6` на порт `write_addr_i` регистрового файла._ + + Обратите внимание: на светодиодах сразу после нажатия кнопки отображается адрес `6`. + 1. Чтобы записать данные в указанный (шестой) регистр, выставим на переключателях значение `0x5678` и нажмем кнопку `BTNR` (см. _рис. 6_). + + ![../../../.pic/Labs/board%20files/nexys_rf_riscv_write_data_5678.drawio.svg](../../../.pic/Labs/board%20files/nexys_rf_riscv_write_data_5678.drawio.svg) + + _Рисунок 6. Запись `0x5678` в регистр `6`._ - ### Чтение - Рассмотрим последовательность действий, которые надо осуществить для чтения из регистрового файла, на примере. Прочитаем из регистра 5 заранее записанное значение `0x1234` и выведем его на оба блока семисегментных индикаторов 7-0 и 3-0. + Рассмотрим последовательность действий, которые надо осуществить для чтения из регистрового файла, на примере. Прочитаем из регистров `5` и `6` заранее записанные значения `0x1234` и `0x5678` соответственно и выведем его на оба блока семисегментных индикаторов 7-0 и 3-0. - Выставим значение `5` на блоки переключателей `ra1` и `ra2` (см. _рис. 2_), и нажмем кнопку `BTND`, чтобы обновить адрес значением с переключателей (см. _рис. 5_). + Выставим значение `5` и `6` на блоки переключателей `ra1` и `ra2` (см. _рис. 2_) соответственно, и нажмем кнопку `BTND`, чтобы обновить адрес значением с переключателей (см. _рис. 7_). ![../../../.pic/Labs/board%20files/nexys_rf_riscv_read.drawio.svg](../../../.pic/Labs/board%20files/nexys_rf_riscv_read.drawio.svg) - _Рисунок 5. Чтение из регистра 5._ + _Рисунок 7. Чтение из регистров `5` и `6`._ Обратите внимание на то, что для чтения достаточно выставить нужный адрес на порт регистрового файла, и содержимое регистра оказывается считанным.