Files
APS/Labs/01. Adder/board files/README.md
BROsandr a01446eb43 brosandr.lab_02_alu (#62)
* Feat(02_Alu):Перепиcывание board модуля

* Fix(02_Alu):Замена .v->.sv в board файле

* Feat(pic/labs/board):Доб-ие пикчи alu_structure

* Ref(pic/labs_board):Обн-ие nexys_alu_structure

* Ref(pic/labs/board):Улуч-ие nexys_alu_struct

* Ref(02_Alu/board):Замена назв-ий переменных в nexys_alu

* Fix(02_Alu/board):Доб-ие @negedge arstn_i в регистр an

* Ref(02_Alu/board):Переписывание форм-ия operand_* на assign

* Ref(pic/labs/board):Rename ...svg->...drawio.svg

* Ref(labs/02_Alu/nexys_alu):Перевод на bcd

* Fix(labs/02_alu/nexys):Испр-ие вывода operand_a

* Fix(labs/02_alu/nexys):Изм-ие разряд-ти bcd на 42

* Fix(.pic/labs/board/nexys_alu):Обн-ие разрядности

* Ref(labs/02_alu/board):Обн-ие README

* Ref(02_Alu/board):Дополнение описания оболочки

* Ref(labs/02_alu_board):Различные улучшения md

* Ref(labs_02_alu/board):Доб-ие точки в md

* Repo(pic/labs/board):Уд-ие лишних картинок

* Fix(labs/02_alu/board/md):Испр-ие alt названия

* Ref(labs/02_alu/board):Перевод тире на юникод симв

* Style(02_alu/board):Доб-ие абзаца после картинки

* Fix(02_alu/board):Apply suggestions from code review

Co-authored-by: Andrei Solodovnikov <VoultBoy@yandex.ru>

* Ref(02_alu/board):Уд-ие переносов внутри абзаца

* Style(02_alu):Доб-ие блейма

* Fix(pic/02_alu):Поворот SE

* Ref(pic/02_alu):Вырав-ие разярдностей и их цвета

* Fix(02_alu/nexys):Испр-ие блейма

* Ref(labs/02_alu/board):Переписывание bin2bcd

* Fix(02_Alu):Apply suggestions from code review

Co-authored-by: Andrei Solodovnikov <VoultBoy@yandex.ru>

* Ref(pic/02_alu/alu_struct):Испр-ие шрифтов

* Ref(pic/02_alu):Экспорт в svg

* Ref(pic/02_alu/board):Обн-ие экспозиции nexys_alu

* Ref(02_alu):Переделка маппинга свитчей в список

* Ref(pic/02_alu/board):Подвижка боксов A,B,Sum

* Ref(pic/02_alu/board):Замен цветов

* Style(01_adder/board):Склеивание строк в абзацах

* Ref(pic/02_alu/board):Испр-ие nexys_alu_struct

* Fix(02_alu/board):Apply suggestions from code review

Co-authored-by: Andrei Solodovnikov <VoultBoy@yandex.ru>

* Repo(02_alu/board):Доб-ие шапки создателя

---------

Co-authored-by: Andrei Solodovnikov <VoultBoy@yandex.ru>
2024-02-20 17:09:37 +03:00

26 lines
3.0 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.

# Проверка работы полного 32-битного сумматора в ПЛИС
После того, как вы создали проверили на моделировании 32-разрядный сумматор, вам необходимо проверить его работу на прототипе в ПЛИС.
Инструкция по реализации прототипа описана [здесь](../../../Vivado%20Basics/How%20to%20program%20an%20fpga%20board.md).
На _рис. 1_ представлена схема прототипа в ПЛИС.
![../../../.pic/Labs/board%20files/nexys_adder_structure.drawio.svg](../../../.pic/Labs/board%20files/nexys_adder_structure.drawio.svg)
_Рисунок 1. Структурная схема модуля `nexys_adder`._
Модуль `nexys_adder` позволяет подавать данные с переключателей <span style="color:#FF6666;"></span> на входы `a_i`, `b_i`, а так же передавать входной бит переноса с помощью кнопки <span style="color:#FF6666;"></span> `BTND` на вход `carry_i`.
Переключатели делятся пополам между операндами `a_i`, `b_i` (переключатели `sw[7:0]` относятся к операнду `b_i`, переключатели `sw[15:8]` относятся к операнду `a_i`). Так как переключателей всего 16, каждому операнду достается только по 8. Таким образом, с переключателей можно ввести 8 младших бит каждого из операнда.
Старшие биты дополняются нулями, это значит что на нашем прототипе можно складывать числа в диапазоне `[0:255]` (плюс можно прибавлять входной бит переноса), а значит диапазон результатов будет `[0:511]`.
Семисегментные индикаторы <span style="color:#FF6666;"></span> отображают на левом блоке значение операндов `a_i` и `b_i` в шестнадцатеричном формате, а на правом — результат сложения. Светодиоды <span style="color:#FF6666;"></span>, расположенные над переключателями, дублируют сумму, представляя ее в двоичном формате.
На _рис. 2_ показан пример сложения `0x48 + 0x18 = 0x60` при нулевом входном переносе (нулевом, т.к. не нажата кнопка `BTND`).
![../../../.pic/Labs/board%20files/nexys_adder_48_plus_18.drawio.svg](../../../.pic/Labs/board%20files/nexys_adder_48_plus_18.drawio.svg)
_Рисунок 2. Использование сумматора для вычисления выражения `0x48 + 0x18` в ПЛИС._