Files
APS/Labs/03. Register file and memory/board files/README.md

4.4 KiB
Raw Blame History

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

Если вы не понимаете, что лежит в этой папке, или если надо вспомнить, как прошить ПЛИС, можно воспользоваться этой инструкцией

Note

Список подключенной периферии

  • Переключатели — установки адреса, данных.
  • BTND — запись

...

Переключатели и кнопки

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

  1. Ввод адресов (read_address1_i/read_address2_i/write_address_i) регистрового файла осуществляется через переключатели SW[14:0]. Соответствие следующее:

    • SW[ 4: 0]write_address_i
    • SW[ 9: 5]read_address2_i
    • SW[14:10]read_address1_i

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

  2. Ввод данных (write_data_i) регистрового файла осуществляется через переключатели SW[15:0]. Таким образом, можно выставить только нижние 16 бит данных. Для записи введенных данных по адресу write_address_i используется кнопка BTNR.

Светодиоды

Светодиоды LED[14:0] отображают адреса (read_address1_i/read_address2_i/write_address_i), которые выставлены в данный момент на порты регистрового файла:

  • LED[ 4: 0]write_address_i
  • LED[ 9: 5]read_address2_i
  • LED[14:10]read_address1_i

Семисегментные индикаторы

На левом блоке семисегментных индикаторов (индикаторы 7-4) отображаются нижние 16 бит порта read_data1_o, а не правом блоке семисегментных индикаторов (индикаторы 3-0) отображаются нижние 16 бит порта read_data2_o.

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

../../../.pic/Labs/board%20files/nexys_rf_riscv_control.drawio.svg

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

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

../../../.pic/Labs/board%20files/nexys_rf2.jpg

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

../../../.pic/Labs/board%20files/nexys_rf3.jpg

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

../../../.pic/Labs/board%20files/nexys_rf4.jpg

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

../../../.pic/Labs/board%20files/nexys_rf5.jpg

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