Differences
This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
| programmable-logic:basys-3:demos:abacus [2022/08/25 12:17] – [Table] bokiss | programmable-logic:basys-3:demos:abacus [2022/10/04 11:38] (current) – external edit 127.0.0.1 | ||
|---|---|---|---|
| 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 (2020.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/ | ||
| + | | v2018.2-3 | ||
| + | | v2018.2-2 | ||
| + | | v2018.2-1 | ||
| + | |||
| + | **Note for Advanced Users:** //All demos for the Basys 3 are provided through 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:// | ||

