Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
learn:programmable-logic:tutorials:basys-3-abacus:start [2017/05/25 18:27] – Updated for github tutorial rework Arthur Brown | learn:programmable-logic:tutorials:basys-3-abacus:start [2022/03/31 23:10] (current) – Arthur Brown | ||
---|---|---|---|
Line 1: | Line 1: | ||
+ | ====== Basys 3 Abacus Demo (Redirect) ====== | ||
+ | ~~NOSEMANTIC~~ | ||
+ | ~~REDIRECT>/ | ||
+ | {{tag> | ||
- | ====== Basys 3 Abacus Demo ====== | ||
- | |||
- | {{: | ||
- | |||
- | ===== Overview ===== | ||
- | ==== Description ==== | ||
- | |||
- | This Abacus demonstration project implements several arithmetic operations using the Basys3' | ||
- | * Subtraction, | ||
- | * Results are displayed on the seven segment display. | ||
- | * Operands are taken from the switches and displayed on the LEDs. | ||
- | |||
- | ----- | ||
- | |||
- | ==== Features Used ==== | ||
- | |||
- | | ^ Not Used ^ Used ^ | ||
- | ^ 16 user switches | ||
- | ^ 16 user LEDs | ||
- | ^ 5 user pushbuttons | ||
- | ^ 4-digit 7-segment display | ||
- | ^ 4 Pmod connectors | ||
- | ^ XADC Analog input | X | | | ||
- | ^ 12-bit VGA output | ||
- | ^ USB-UART Bridge | ||
- | ^ Serial Flash for application data | X | | | ||
- | ^ USB HID Host with mouse | X | | | ||
- | ^ USB HID Host with keyboard | ||
- | |||
- | ===== Prerequisites ===== | ||
- | |||
- | ===Hardware=== | ||
- | * **Basys3 FPGA board** | ||
- | * **Micro-USB cable** | ||
- | |||
- | ===Software=== | ||
- | * **Vivado Design Suite 2016.X** | ||
- | * //Newer versions can be used, but the procedure may vary slightly// | ||
- | |||
- | ----- | ||
- | |||
- | ===== Downloads ===== | ||
- | |||
- | Basys3 Abacus Project Repository -- [[https:// | ||
- | |||
- | ------ | ||
- | |||
- | ===== Download and Launch the Basys3 Abacus Demo ===== | ||
- | |||
- | >Follow the [[: | ||
- | |||
- | ===== Using the Basys3 Abacus Demo ===== | ||
- | |||
- | ==== 1. Setting Inputs ==== | ||
- | |||
- | >The abacus can preform 4 arithmetic functions on two 8-bit numbers. Switches 15-8 represent input A. Switches 7-0 represent input B. The abacus works by setting the slide switches to your desired operands and then selecting an operation with the buttons. The result will be displayed on the 7 segment display. On startup, the display will read 0. | ||
- | > | ||
- | > | ||
- | |||
- | ==== 2. Subtraction - BTNU ==== | ||
- | |||
- | > | ||
- | > | ||
- | > | ||
- | > | ||
- | >//The abacus calculating 4-2 and 2-4// | ||
- | |||
- | ==== 3. Multiplication - BTND ==== | ||
- | |||
- | > | ||
- | > | ||
- | > | ||
- | > | ||
- | >//The abacus calculating 3*3// | ||
- | |||
- | ==== 4. Division - BTNR ==== | ||
- | |||
- | > | ||
- | > | ||
- | > | ||
- | > | ||
- | >//The abacus calculating 16 / 2// | ||
- | |||
- | ==== 5. Modulo/ | ||
- | |||
- | >Modulo is activated while BTNL is pressed. This function uses the formula A % B. The 7-segment display will show the remainder until the user releases BTNL. The display will then return to whatever was last scrolling. | ||
- | > | ||
- | > | ||
- | > | ||
- | >//The abacus calculating 17 % 2// | ||
- | |||
- | {{tag> |