Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revision | |||
programmable-logic:basys-3:demos:abacus [2022/09/12 13:53] – changed forum.digilentinc.com to forum.digilent.com Jeffrey | programmable-logic:basys-3:demos:abacus [2023/08/24 22:01] (current) – Move to direct file links for downloads Arthur Brown | ||
---|---|---|---|
Line 1: | Line 1: | ||
+ | ====== Basys 3 Abacus Demo ====== | ||
+ | |||
+ | {{: | ||
+ | ===== 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. | ||
+ | |||
+ | ---- | ||
+ | ===== Inventory ===== | ||
+ | |||
+ | * Basys 3 with a MicroUSB Programming Cable | ||
+ | * Vivado installation compatible with the latest release of this demo (2022.1) | ||
+ | * //See [[programmable-logic: | ||
+ | |||
+ | ---- | ||
+ | ===== Download and Usage Instructions ===== | ||
+ | |||
+ | First and foremost, releases - consisting of a set of files for download - are only compatible with a specific version of the Xilinx tools, as specified in the name of the release (referred to as a //release tag//). In addition, releases are only compatible with the specified variant of the board. For example, a release tagged " | ||
+ | |||
+ | The latest release version for this demo is highlighted in green. | ||
+ | |||
+ | **Note:** //Releases for FPGA demos from before 2020.1 used a different git structure, and used a different release tag naming scheme.// | ||
+ | |||
+ | ^ Release Tag ^ Release Downloads | ||
+ | | @#C0EEBD: Abacus/ | ||
+ | | Abacus/ | ||
+ | | Abacus/ | ||
+ | | v2018.2-3 | ||
+ | | v2018.2-2 | ||
+ | | v2018.2-1 | ||
+ | |||
+ | **Note for Advanced Users:** //GitHub sources for this demo can be found in the [[https:// | ||
+ | |||
+ | ---- | ||
+ | Instructions on the use of the latest release can be found in this dropdown: | ||
+ | |||
+ | --> Using the Latest Release #^ | ||
+ | |||
+ | <WRAP group> | ||
+ | |||
+ | {{page> | ||
+ | |||
+ | --> Set up the Basys 3 # | ||
+ | |||
+ | Plug the Basys 3 into the computer using the microUSB cable. | ||
+ | |||
+ | ---- | ||
+ | <-- | ||
+ | |||
+ | {{page> | ||
+ | |||
+ | At this point, the demo is now running on your board. Refer to the [[# | ||
+ | </ | ||
+ | |||
+ | <-- | ||
+ | ---- | ||
+ | |||
+ | ===== Functionality ===== | ||
+ | |||
+ | ==== 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// | ||
+ | |||
+ | |||
+ | ===== Additional Resources ===== | ||
+ | |||
+ | All materials related to the use of the Basys 3 can be found on its [[..: | ||
+ | |||
+ | For a walkthrough of the process of creating a simple HDL project in Vivado, see [[programmable-logic: | ||
+ | |||
+ | For technical support, please visit the [[https:// | ||