From b7a0a519da4296fc4fa8f6dcf14a5bb91ba7e742 Mon Sep 17 00:00:00 2001 From: alexkharl Date: Thu, 8 Feb 2024 17:49:16 +0300 Subject: [PATCH] =?UTF-8?q?Ref(01=5FAdder):=D0=94=D0=BE=D0=BF=D0=BE=D0=BB?= =?UTF-8?q?=D0=BD=D0=B5=D0=BD=D0=B8=D0=B5=20=D0=B8=D0=BD=D1=84=D0=BE=D1=80?= =?UTF-8?q?=D0=BC=D0=B0=D1=86=D0=B8=D0=B5=D0=B9=20board=20=D1=84=D0=B0?= =?UTF-8?q?=D0=B9=D0=BB=D0=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .pic/Labs/board files/nexys_adder0.png | Bin 0 -> 18523 bytes Labs/01. Adder/board files/README.md | 26 +++++++++++++++++-------- 2 files changed, 18 insertions(+), 8 deletions(-) create mode 100644 .pic/Labs/board files/nexys_adder0.png diff --git a/.pic/Labs/board files/nexys_adder0.png b/.pic/Labs/board files/nexys_adder0.png new file mode 100644 index 0000000000000000000000000000000000000000..4c9d2d6ba846ab107321bd41aa81dda77e96365f GIT binary patch literal 18523 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 literal 0 HcmV?d00001 diff --git a/Labs/01. Adder/board files/README.md b/Labs/01. Adder/board files/README.md index 6eb83fc..74c3245 100644 --- a/Labs/01. Adder/board files/README.md +++ b/Labs/01. Adder/board files/README.md @@ -1,23 +1,33 @@ -# Проверка работы Полного 32-битного сумматора на ПЛИС +# Проверка работы полного 32-битного сумматора в ПЛИС -После того, как вы создали свой сумматор и проверили его на прохождение тестирующего модуля, вы можете использовать предложенный модуль окружения [`nexys_adder.sv`](nexys_adder.sv), который позволяет связать вашу логику с периферией, расположенной на плате `Nexys-A7`. Для его подключения, скачайте и добавьте файл в проект, либо скопируйте содержимое в новый `.sv` файл вашего проекта. В окне `Sources` нажмите на него ПКМ и выберите `Set as Top`, после чего в иерархии он станет главным, подключив ваш собственный модуль сумматора. Для того, чтобы дизайн мог физически подключиться к периферии, нужно в проекте выбрать `Add or create constraints` и подключить файл [`nexys_a7_100t.xdc`](nexys_a7_100t.xdc). +После того, как вы создали свой сумматор и проверили его в симуляции, вы можете использовать предложенный модуль окружения [`nexys_adder.sv`](nexys_adder.sv), который позволяет связать вашу логику с периферией, расположенной на плате `Nexys-A7`. Для его подключения, скачайте и добавьте файл в проект, либо скопируйте содержимое в новый `.sv` файл вашего проекта. В окне `Sources` нажмите на него ПКМ и выберите `Set as Top`, после чего в иерархии он станет главным (название главного модуля выделено **жирным** шрифтом). Для того, чтобы дизайн мог физически подключиться к периферии, нужно в проекте выбрать `Add or create constraints` и подключить файл [`nexys_a7_100t.xdc`](nexys_a7_100t.xdc). Иерархия проекта, готового к созданию битстрима, показана на *рисунке 1*. -После этого наше устройство будет выглядеть так: +![../../../.pic/Labs/board%20files/nexys_adder0.png](../../../.pic/Labs/board%20files/nexys_adder0.png) + +*Рисунок 1. Иерархия проекта полного тридцатидвухбитного сумматора* + +После этого наше устройство будет выглядеть, как представлено на *рисунке 2*: ![../../../.pic/Labs/board%20files/nexys_adder1.png](../../../.pic/Labs/board%20files/nexys_adder1.png) -Подключенное окружение позволяет производить ввод входных значений (А, В и Pin) с помощью переключателей (номер переключателя отображен на самом краю платы), расположенных на плате. Операнд А задается переключателями 15-8, В: 7-0, Pin: тактовая кнопка BTND (нижняя из 5-ти, расположенных вместе в форме крестовины). Семисегментные индикаторы в шестнадцатеричном формате отображают на левом блоке слагаемые А и В, а на правом - результат сложения. На светодиодах, расположенных над переключателями отображается результат в двоичном формате. +*Рисунок 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` (их нижние восемь бит, разделенные точкой), а на правом - результат сложения (двенадцать бит для отображения еще и переноса). Светодиоды, расположенные над переключателями, дублируют сумму, представляя ее в двоичном формате. + +На *рисунке 3* представлено показано сложение `A=0x48 + B=0x18 = 0x60` при нулевом входном преносе (нулевом, тк не нажата кнопка `BTND` aka сигнал `Pin`) ![../../../.pic/Labs/board%20files/nexys_adder2.png](../../../.pic/Labs/board%20files/nexys_adder2.png) -Для прошивки ПЛИС подключите утройство через USB, включите питание переключателем, выполните синтез и имплементацию вашего дизайна и сгенерируйте битстрим. Если на этом этапе у вас возникают ошибки, постарайтесь исправить из с помощью [`инструкции по работе с ошибками синтеза`](../../../Vivado%20Basics/Elaboration%20failed.md). После этого выберите в левом меню `Open Target` - `Auto Connect`, затем `Program Device` и ваше устройство прошьется. +Рисунок 3. Использование сумматора выражения `0x48 + 0x18` в ПЛИС + +Для прошивки ПЛИС подключите утройство через USB, включите питание переключателем, выполните синтез и имплементацию вашего дизайна и сгенерируйте битстрим. Если на этом этапе у вас возникают ошибки, постарайтесь ее исправить с помощью [`инструкции по работе с ошибками синтеза`](../../../Vivado%20Basics/Elaboration%20failed.md). После этого выберите в левом меню `Open Target` - `Auto Connect`, затем `Program Device` и ваше устройство прошьется. Процедура запуска генерации битстрима показана на *рисунке 4*, а прошивка сгенерированного битстрима в ПЛИС - на *рисунке 5*. -Генерация битстрима ![../../../.pic/Labs/board%20files/Program_Device1.png](../../../.pic/Labs/board%20files/Program_Device1.png) -Прошивка ПЛИС +*Рисунок 4. Генерация битстрима* + ![../../../.pic/Labs/board%20files/Program_Device2.png](../../../.pic/Labs/board%20files/Program_Device2.png) +*Рисунок 5. Прошивка битстрима в ПЛИС* + Попробуйте выставить на переключателях различные слагаемые, убедитесь, что все работает исправно и сдавайте работу.