Files
APS/Labs/01. Adder/board files/README.md
Andrei Solodovnikov a28002e681 WIP: APS cumulative update (#98)
* WIP: APS cumulative update

* Update How FPGA works.md

* Перенос раздела "Последовательностная логика" в отдельный док

* Исправление картинки

* Исправление оформления индексов

* Переработка раздела Vivado Basics

* Добавление картинки в руководство по созданию проекта

* Исправление ссылок в анализе rtl

* Обновление изображения в sequential logic

* Исправление ссылок в bug hunting

* Исправление ссылок

* Рефактор руководства по прошивке ПЛИС

* Mass update

* Update fig_10

* Restore fig_02
2024-09-02 10:20:08 +03:00

3.0 KiB
Raw Permalink Blame History

Проверка работы полного 32-битного сумматора в ПЛИС

После того, как вы создали проверили на моделировании 32-разрядный сумматор, вам необходимо проверить его работу на прототипе в ПЛИС.

Инструкция по реализации прототипа описана здесь.

На рис. 1 представлена схема прототипа в ПЛИС.

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

Рисунок 1. Структурная схема модуля nexys_adder.

Модуль nexys_adder позволяет подавать данные с переключателей на входы a_i, b_i, а так же передавать входной бит переноса с помощью кнопки BTND на вход carry_i.

Переключатели делятся пополам между операндами a_i, b_i (переключатели sw[7:0] относятся к операнду b_i, переключатели sw[15:8] относятся к операнду a_i). Так как переключателей всего 16, каждому операнду достается только по 8. Таким образом, с переключателей можно ввести 8 младших бит каждого из операнда.

Старшие биты дополняются нулями, это значит что на нашем прототипе можно складывать числа в диапазоне [0:255] (плюс можно прибавлять входной бит переноса), а значит диапазон результатов будет [0:511].

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

На рис. 2 показан пример сложения 0x48 + 0x18 = 0x60 при нулевом входном переносе (нулевом, т.к. не нажата кнопка BTND).

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

Рисунок 2. Использование сумматора для вычисления выражения 0x48 + 0x18 в ПЛИС.