mirror of
https://github.com/MPSU/APS.git
synced 2025-09-18 18:30:41 +00:00
Ref(03/board/md):Улучшение
This commit is contained in:
@@ -1,6 +1,6 @@
|
|||||||
# Проверка работы регистрового файла на ПЛИС
|
# Проверка работы регистрового файла на ПЛИС
|
||||||
|
|
||||||
После того, как вы проверили на моделировании АЛУ, вам необходимо проверить его работу на прототипе в ПЛИС.
|
После того, как вы проверили на моделировании регистровый файл, вам необходимо проверить его работу на прототипе в ПЛИС.
|
||||||
|
|
||||||
Инструкция по реализации прототипа описана [здесь](../../../Vivado%20Basics/How%20to%20program%20an%20fpga%20board.md).
|
Инструкция по реализации прототипа описана [здесь](../../../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]`. Соответствие следующее:
|
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_).
|
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_).
|
Выставим значение 5 на блоки переключателей `ra1` и `ra2` (см. _рис. 2_), и нажмем кнопку `BTND`, чтобы обновить адрес значением с переключателей (см. _рис. 5_).
|
||||||
|
|
||||||
@@ -78,4 +78,7 @@ _Рисунок 2. Описание периферии, доступной пр
|
|||||||
|
|
||||||
Обратите внимание на то, что для чтения достаточно выставить нужный адрес на порт регистрового файла, и содержимое регистра оказывается считанным.
|
Обратите внимание на то, что для чтения достаточно выставить нужный адрес на порт регистрового файла, и содержимое регистра оказывается считанным.
|
||||||
|
|
||||||
|
> [!NOTE]
|
||||||
|
> Кнопка сброса `CPU_RESETN` не сбрасывает регистровый файл, т.к. сигнал сброса не заведен в модуль регистрового файла, а модуль `nexys_rf_riscv` самостоятельно не сбрасывает регистровый файл. Для сброса можно осуществить перепрошивку ПЛИС.
|
||||||
|
|
||||||
Попробуйте записать информацию в нулевой регистр, затем по другим адресам. После чего считайте записанную информацию и убедитесь, что она соответствует той, которую вы записывали (с учетом особенностей регистрового файла RISC-V).
|
Попробуйте записать информацию в нулевой регистр, затем по другим адресам. После чего считайте записанную информацию и убедитесь, что она соответствует той, которую вы записывали (с учетом особенностей регистрового файла RISC-V).
|
||||||
|
Reference in New Issue
Block a user