# Проверка работы регистрового файла на ПЛИС

Если вы не понимаете, что лежит в этой папке, или если надо вспомнить, как прошить ПЛИС, можно воспользоваться [`этой инструкцией`](../../../Vivado%20Basics/Program%20nexys%20a7.md)

Для работы с регистровым файлом, необходимо выставлять сигналы адресов и данных.
У платы недостаточно переключателей, для такого количества входов регистрового файла, поэтому подача сигналов на вход происходит в несколько этапов.  
Сперва можно ввести один из адресов регистрового файла (`A1`/`A2`/`A3`). Ввод осуществляется через `SW[4:0]`. Для того, чтобы выставить введенный адрес на какой-то из входов адреса, необходимо нажать одну из следующих кнопок:

1. `BTNL` чтобы выставить значение с `SW[4:0]` на `A1`
2. `BTNC` чтобы выставить значение с `SW[4:0]` на `A2`
3. `BTNR` чтобы выставить значение с `SW[4:0]` на `A3`

(расположение кнопок смотри на изображениях ниже).

После выставления адресов, переключатели можно использовать в качестве ввода первых шестнадцати бит данных. Для записи введенных данных по адресу `A3` используется кнопка `BTND`, для чтения данных по адресам `A1`, `A2` (с выводом результатов чтения на семисегментные индикаторы) используется кнопка `BTNU`.

Управление регистровым файлом.

![../../../.pic/Labs/board%20files/nexys_rf1.jpg](../../../.pic/Labs/board%20files/nexys_rf1.jpg)

Ниже показан пример последовательности действий для работы с платой.

Установка значения `5'b10101` на входы `A1`,`A2`,`A3`.

![../../../.pic/Labs/board%20files/nexys_rf2.jpg](../../../.pic/Labs/board%20files/nexys_rf2.jpg)

Запись информации по адресу А3.

![../../../.pic/Labs/board%20files/nexys_rf3.jpg](../../../.pic/Labs/board%20files/nexys_rf3.jpg)

Чтение по адресам А1 и А2.

![../../../.pic/Labs/board%20files/nexys_rf4.jpg](../../../.pic/Labs/board%20files/nexys_rf4.jpg)

Для того чтобы считать информацию по любому адресу, достаточно установить желаемый адрес на один из портов чтения и нажать на кнопку чтения.

![../../../.pic/Labs/board%20files/nexys_rf5.jpg](../../../.pic/Labs/board%20files/nexys_rf5.jpg)

Попробуйте записать информацию в нулевой регистр, затем по другим адресам, после чего считайте записанную информацию и убедитесь, что она соответствует той, которую вы записывали (с учетом особенностей регистрового файла RISC-V).
