* WIP: APS cumulative update * Update How FPGA works.md * Перенос раздела "Последовательностная логика" в отдельный док * Исправление картинки * Исправление оформления индексов * Переработка раздела Vivado Basics * Добавление картинки в руководство по созданию проекта * Исправление ссылок в анализе rtl * Обновление изображения в sequential logic * Исправление ссылок в bug hunting * Исправление ссылок * Рефактор руководства по прошивке ПЛИС * Mass update * Update fig_10 * Restore fig_02
3.0 KiB
Проверка работы полного 32-битного сумматора в ПЛИС
После того, как вы создали проверили на моделировании 32-разрядный сумматор, вам необходимо проверить его работу на прототипе в ПЛИС.
Инструкция по реализации прототипа описана здесь.
На рис. 1 представлена схема прототипа в ПЛИС.
Рисунок 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
).
Рисунок 2. Использование сумматора для вычисления выражения 0x48 + 0x18
в ПЛИС.