From 736bb2141a8bc7406dc73873c190db39deaa62e2 Mon Sep 17 00:00:00 2001 From: alexkharl Date: Fri, 9 Feb 2024 12:34:41 +0300 Subject: [PATCH] =?UTF-8?q?Ref(01=5FAdder):=D0=98=D1=81=D0=BF=D1=80-=D0=B8?= =?UTF-8?q?=D0=B5=20=D0=B3=D1=80=D0=B0=D0=BC=D0=BC=D0=B0=D1=82=D0=B8=D1=87?= =?UTF-8?q?=D0=B5=D1=81=D0=BA=D0=B8=D1=85=20=D0=BE=D1=88=D0=B8=D0=B1=D0=BE?= =?UTF-8?q?=D0=BA=20=D0=B2=20board=20=D1=84=D0=B0=D0=B9=D0=BB=D0=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Labs/01. Adder/board files/README.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Labs/01. Adder/board files/README.md b/Labs/01. Adder/board files/README.md index 734683c..2aec938 100644 --- a/Labs/01. Adder/board files/README.md +++ b/Labs/01. Adder/board files/README.md @@ -12,13 +12,13 @@ *Рисунок 2. Структурная схема модуля `nexys_adder`*, где `A`, `B` - операнды, `Pin` - входной перенос (`carry`), `S` - сумма, `Pout` - выходной перенос для тридцати двух битов (не подключен), `Semseg` - сигнал подаваемый на семисегментные индикаторы -Подключенное окружение позволяет производить ввод входных значений для сумматора (`A`, `B` и `carry` aka `Pin`) с помощью переключателей (номер переключателя написан под ним же) и кнопки `BTND`. Так как переключателей всего 16, то ими можно задать только нижние восемь бит тридцатидвухбитных операндов `A` и `B` (на остальные двадцать четыре бита подается константный `0`). Таким образом нижние восемь бит операнд `A` задается переключателями `15-8`, а нижние восемь бит операнда `B` - переключателями `7-0`, входной бит переноса `carry` - кнопкой `BTND` (нижняя кнопка в группе из пяти кнопок). Максимальное беззнаковое число, которое можно подать на операнд - `2⁸ = 256`. Максимальная сумма будет `255 + 255 = 510 = 0x1FE`. В таком случае сумма двух восьмибитных чисел занимает восемь бит (`0xFE`) плюс бит переноса (`1`). Семисегментные индикаторы в шестнадцатеричном формате отображают на левом блоке слагаемые `A` и `B` (их нижние восемь бит, разделенные точкой), а на правом - результат сложения (двенадцать бит для отображения еще и переноса). Светодиоды, расположенные над переключателями, дублируют сумму, представляя ее в двоичном формате. +Подключенное окружение позволяет производить ввод входных значений для сумматора (`A`, `B` и `carry` aka `Pin`) с помощью переключателей (номер переключателя написан под ним же) и кнопки `BTND`. Так как переключателей всего 16, то ими можно задать значение для нижних восьми бит тридцатидвухбитных операндов `A` и `B` (на остальные двадцать четыре бита подается константный `0`). Таким образом нижние восемь бит операнд `A` задается переключателями `15-8`, а нижние восемь бит операнда `B` - переключателями `7-0`, входной бит переноса `carry` - кнопкой `BTND` (нижняя кнопка в группе из пяти кнопок). Максимальное беззнаковое число, которое можно подать на операнд - `2⁸ = 256`. Максимальная сумма будет `255 + 255 = 510 = 0x1FE`. В таком случае сумма двух восьмибитных чисел занимает восемь бит (`0xFE`) плюс бит переноса (`1`). Семисегментные индикаторы в шестнадцатеричном формате отображают на левом блоке слагаемые `A` и `B` (их нижние восемь бит, разделенные точкой), а на правом - результат сложения (двенадцать бит для отображения еще и переноса). Светодиоды, расположенные над переключателями, дублируют сумму, представляя ее в двоичном формате. -На *рисунке 3* представлено показано сложение `A=0x48 + B=0x18 = 0x60` при нулевом входном преносе (нулевом, тк не нажата кнопка `BTND` aka сигнал `Pin`) +На *рисунке 3* представлено показано сложение `(A=0x48) + (B=0x18) == 0x60` при нулевом входном преносе (нулевом, тк не нажата кнопка `BTND` aka сигнал `Pin`) ![../../../.pic/Labs/board%20files/nexys_adder2.png](../../../.pic/Labs/board%20files/nexys_adder2.png) -*Рисунок 3. Использование сумматора выражения `0x48 + 0x18` в ПЛИС* +*Рисунок 3. Использование сумматора для вычисления выражения `0x48 + 0x18` в ПЛИС* Для прошивки ПЛИС подключите утройство через USB, включите питание переключателем, выполните синтез и имплементацию вашего дизайна и сгенерируйте битстрим. Если на этом этапе у вас возникают ошибки, постарайтесь ее исправить с помощью [`инструкции по работе с ошибками синтеза`](../../../Vivado%20Basics/Elaboration%20failed.md). После этого выберите в левом меню `Open Target` - `Auto Connect`, затем `Program Device` и ваше устройство прошьется. Процедура запуска генерации битстрима показана на *рисунке 4*, а прошивка сгенерированного битстрима в ПЛИС - на *рисунке 5*.