Differences
This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
| basys3:abacus [2015/08/19 02:07] – [1. Download the Project] Nate Eastland | basys3:abacus [2022/10/04 11:38] (current) – external edit 127.0.0.1 | ||
|---|---|---|---|
| Line 1: | Line 1: | ||
| - | ====== Basys3 Abacus Demo ====== | + | ====== Basys3 Abacus Demo (Legacy) |
| - | {{ :basys3_overview.png? | + | <WRAP round important 660px> |
| + | === Important! === | ||
| + | This is a legacy demo, see the updated version of this demo [[learn:programmable-logic: | ||
| + | </ | ||
| - | ----- | + | {{: |
| - | ===== Features Used ===== | + | |
| + | ===== Overview ===== | ||
| + | ==== Features Used ==== | ||
| | ^ Not Used ^ Used ^ | | ^ Not Used ^ Used ^ | ||
| Line 20: | Line 25: | ||
| ^ USB HID Host with keyboard | ^ USB HID Host with keyboard | ||
| - | ===== Description | + | |
| + | |||
| + | ==== Description ==== | ||
| Abacus demonstration project that implements several arithmetic operations using the Basys3' | Abacus demonstration project that implements several arithmetic operations using the Basys3' | ||
| - | {{ http://www.youtube.com/v/6_GxkslqbcU? | + | {{youtube>6_GxkslqbcU? |
| - | ===== How to Build and Program (From Project File) ===== | + | ------- |
| - | You will need...\\ | + | ===== Prerequisites ===== |
| - | 1. Vivado | + | ===Skills=== |
| - | 2. Basys3 board from Digilent\\ | + | * **Basic familiarity with Vivado** |
| + | | ||
| + | ===Hardware=== | ||
| + | * **Basys3 FPGA board** | ||
| + | * **Micro-USB cable** | ||
| - | ==== 1. Download | + | ===Software=== |
| + | * **Vivado Design Suite 2015.X** | ||
| + | * // | ||
| - | Download the project zip file which can be found here: {{: | + | ----- |
| - | Once you have downloaded the project, unzip it in the location of your choosing. | + | |
| - | **Tcl Script Format** | + | ===== Downloads ===== |
| - | The new project format is available for this demo and can be downloaded {{:tcl_basys3_abacus.zip|here}}. \\ | + | Basys 3 Support Repository -- [[https:// |
| - | If you are unfamiliar with how to run projects in this new format, see the [[http://www.instructables.com/id/ | + | |
| - | ==== 2. Load the Vivado Project | + | ------ |
| + | ===== How to... ===== | ||
| - | In your now unzipped project, open the file abacus_demo.xpr. This should open your project in Vivado. | ||
| - | *The screenshots below are from another project but should look relatively the same and will work for our purposes. | ||
| - | {{: | ||
| - | ==== 3. Synthesize, Implement and Generate | + | ==== 1. Generate |
| - | To complete this step all that you need to do is click **Generate Bitstream** on the left hand menu towards | + | >1.1) Download |
| - | {{:basys3:buildflow.png? | + | >1.2) Generate the **Abacus** project in the Projects folder by following this guide before continuing: [[vivado:github|How to Generate a Project from Digilent' |
| - | ==== 4. Connect and Program | + | ==== 2. Build the Project |
| - | Once you have generated your bit file, Click on the hardware manager | + | > |
| + | > | ||
| + | >Note: If you want, you can click each step by itself in the order of **Run Synthesis**, | ||
| + | > | ||
| + | > | ||
| - | {{: | + | ==== 3. Program the Board ==== |
| - | After your board is connected, just click program to load the abacus demo onto your Basys3. | + | >3.1) Once you have generated |
| + | > | ||
| + | > | ||
| - | ===== Running | + | >3.2) Click program to load the abacus demo onto your Basys3. |
| + | |||
| + | ==== 4. Run the Project | ||
| To run all the features of this demo, all you will need is your programmed Basys3. The abacus can preform 4 arithmatic 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. | To run all the features of this demo, all you will need is your programmed Basys3. The abacus can preform 4 arithmatic 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. | ||
| Line 75: | Line 92: | ||
| - | ==== 1. Subtraction (BTNU) | + | >4.1) Subtraction (BTNU) |
| - | + | > | |
| - | When BTNU is pressed down, this activates subtraction. This function uses the formula A - B. While the button is held down, the display will show a static number that will also display whether it is positive or negative. When BTNU is released, the result will start to scroll through the LEDs. | + | >When BTNU is pressed down, this activates subtraction. This function uses the formula A - B. While the button is held down, the display will show a static number that will also display whether it is positive or negative. When BTNU is released, the result will start to scroll through the LEDs. |
| - | + | > | |
| - | {{: | + | >{{: |
| - | + | ||
| - | ==== 2. Multiplication (BTND) ==== | + | |
| - | + | ||
| - | When BTND is pressed down, this activates multiplication. This function uses the formula A * B. While the button is held down, the display will show the product until the user releases BTND. The display will then return to whatever was last scrolling. | + | |
| - | + | ||
| - | {{: | + | |
| - | + | ||
| - | The abacus calculating 3*3 | + | |
| - | ==== 3. Division (BTNR) ==== | + | |
| - | + | ||
| - | When BTNR is pressed down, this activates division. This function uses the formula A / B. While the button is held down, the display will show the quotient until the user releases BTNR. The display will then return to whatever was last scrolling. | + | |
| - | + | ||
| - | {{: | + | |
| - | + | ||
| - | The abacus calculating 16 / 2 | + | |
| - | ==== 4. Modulo/ | + | |
| - | When BTNL is pressed down, this activates | + | >4.2) Multiplication (BTND) |
| + | > | ||
| + | >When BTND is pressed down, this activates | ||
| + | > | ||
| + | > | ||
| + | > | ||
| + | >The abacus calculating 3*3 | ||
| + | >4.3) Division (BTNR) | ||
| + | > | ||
| + | >When BTNR is pressed down, this activates division. This function uses the formula A / B. While the button is held down, the display will show the quotient until the user releases BTNR. The display will then return to whatever was last scrolling. | ||
| + | > | ||
| + | > | ||
| + | > | ||
| + | >The abacus calculating 16 / 2 | ||
| - | {{: | + | >4.4) Modulo/ |
| + | > | ||
| + | >When BTNL is pressed down, this activates modulo. This function uses the formula A % B. While the button is held down, the 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 | ||
| - | The abacus calculating 17 % 2 | + | {{tag> |

