Files
APS/Labs/03. Register file and memory/board files/README.md
2024-02-27 13:07:30 +03:00

44 lines
3.6 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Проверка работы регистрового файла на ПЛИС
Если вы не понимаете, что лежит в этой папке, или если надо вспомнить, как прошить ПЛИС, можно воспользоваться [`этой инструкцией`](../../../Vivado%20Basics/How%20to%20program%20an%20fpga%20board.md)
> [!NOTE]
> ## Список подключенной периферии
>
> - _Переключатели_ — установки адреса, данных.
> - `BTND` — запись
>
> ...
Для работы с регистровым файлом, необходимо выставлять сигналы адресов и данных.
У платы недостаточно переключателей для такого количества входов регистрового файла, поэтому адреса и данные задаются одним источником ввода:
1. Ввод адресов (`read_address1_i`/`read_address2_i`/`write_address_i`) регистрового файла осуществляется через переключатели `sw[14:0]`. Для того чтобы выставить введенные адреса на входные порты регистрового файла, необходимо нажать кнопку `BTND`.
1. После выставления адресов, переключатели можно использовать в качестве ввода первых шестнадцати бит данных. Для записи введенных данных по адресу `write_address_i` используется кнопка `BTNR`.
На левом блоке семисегментных индикаторов (индикаторы 7-4) отображаются нижние 16 бит порта `read_data1_o`, а не правом блоке семисегментных индикаторов (индикаторы 3-0) отображаются нижние 16 бит порта `read_data2_o`.
Управление регистровым файлом.
![../../../.pic/Labs/board%20files/nexys_rf_riscv_control.drawio.svg](../../../.pic/Labs/board%20files/nexys_rf_riscv_control.drawio.svg)
Ниже показан пример последовательности действий для работы с платой.
Установка значения `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).