Differences
This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
| basys3:abacus [2015/12/03 02:27] – [2. Load the Vivado Project] Sam Lowe | 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?nolink | + | <WRAP round important 660px> |
| + | === Important! === | ||
| + | This is a legacy demo, see the updated version of this demo [[learn: | ||
| + | </ | ||
| + | |||
| + | {{:basys3: | ||
| - | ----- | ||
| ===== Overview ===== | ===== Overview ===== | ||
| ==== Features Used ==== | ==== Features Used ==== | ||
| Line 20: | Line 24: | ||
| ^ USB HID Host with mouse | ^ USB HID Host with mouse | ||
| ^ USB HID Host with keyboard | ^ USB HID Host with keyboard | ||
| + | |||
| + | |||
| ==== Description ==== | ==== Description ==== | ||
| Line 25: | Line 31: | ||
| 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? |
| + | |||
| + | |||
| + | ------- | ||
| ===== Prerequisites ===== | ===== Prerequisites ===== | ||
| - | 1. Vivado installed on your computer\\ | + | ===Skills=== |
| - | 2. Basys3 board from Digilent\\ | + | * **Basic familiarity with Vivado** |
| - | 3. Basic familiarity with Vivado\\ | + | * //This experience can be found by walking through our " |
| - | ===== Downloads ===== | + | ===Hardware=== |
| + | * **Basys3 FPGA board** | ||
| + | * **Micro-USB cable** | ||
| - | Basys 3 repository zip folder [[https://github.com/Digilent/Basys3/archive/ | + | ===Software=== |
| + | * **Vivado Design Suite 2015.X** | ||
| + | * //Newer/older versions can be used, but the procedure may vary slightly// | ||
| - | Link to the repository on Github [[https:// | + | ----- |
| - | ===== How to Build and Program (From Project File) ===== | + | |
| + | ===== Downloads ===== | ||
| + | Basys 3 Support Repository -- [[https:// | ||
| - | ==== 1. Download the Project | + | ------ |
| + | ===== How to... ===== | ||
| - | Download the repository seen above and place it in the location of your choosing. | ||
| - | **Tcl Script Format** | ||
| - | If you are unfamiliar with how to run projects in this new format, see the [[http:// | + | ==== 1. Generate |
| - | ==== 2. Load the Vivado Project ==== | + | >1.1) Download |
| - | >2.1) Within | + | >1.2) Generate |
| - | > | + | |
| - | >{{:basys3:tcl1.jpg? | + | |
| - | > | + | |
| + | ==== 2. Build the Project ==== | ||
| - | >2.2) Open a new Vivado window and enter the letters ' | + | >2.1) Click **Generate Bitstream** on the left hand menu towards |
| - | > | + | |
| - | > | + | |
| - | > | + | |
| > | > | ||
| - | >As in the image above, once you have copied there may be a pop-up with a suggested ' | + | >Note: If you want, you can click each step by itself |
| > | > | ||
| - | >Again, as illustrated in the images, type in " | + | > |
| - | > | + | |
| - | > | + | |
| - | ==== 3. Synthesize, Implement and Generate Bitstream ==== | + | |
| - | To complete this step all that you need to do is click **Generate Bitstream** on the left hand menu towards the bottom. Vivado will run through both Run Synthesis and Run Implementation before it generates | + | ==== 3. Program |
| - | {{: | + | >3.1) Once you have generated your bit file, Click on the hardware manager and connect to your board by choosing the local server option. |
| - | + | > | |
| - | ==== 4. Connect and Program the Basys3 ==== | + | >{{: |
| - | + | ||
| - | Once you have generated your bit file, Click on the hardware manager and connect to your board by choosing the local server option. | + | |
| - | + | ||
| - | {{: | + | |
| - | After your board is connected, just click program to load the abacus demo onto your Basys3. | + | >3.2) Click program to load the abacus demo onto your Basys3. |
| - | ===== Running | + | ==== 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 91: | 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 | + | >4.2) Multiplication (BTND) |
| + | > | ||
| + | >When BTND is pressed down, this activates | ||
| + | > | ||
| + | > | ||
| + | > | ||
| + | >The abacus calculating 3*3 | ||
| - | {{: | + | >4.3) Division (BTNR) |
| - | + | > | |
| - | ==== 2. Multiplication (BTND) ==== | + | >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. |
| + | > | ||
| + | >{{:basys3:abacus_division.jpg? | ||
| + | > | ||
| + | >The abacus calculating 16 / 2 | ||
| - | 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. | + | >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 3*3 | + | >{{: |
| - | ==== 3. Division (BTNR) ==== | + | > |
| - | + | >The abacus calculating 17 % 2 | |
| - | 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 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 | + | {{tag> |

