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 01:58] – [Prerequisites] 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 ===== | ||
| - | 1. Vivado installed on your computer\\ | + | ------- |
| - | 2. Basys3 board from Digilent\\ | + | |
| - | 3. Basic familiarity with Vivado\\ | + | |
| + | ===== Prerequisites ===== | ||
| - | ===== How to Build and Program (From Project File) ===== | + | ===Skills=== |
| + | * **Basic familiarity with Vivado** | ||
| + | * //This experience can be found by walking through our " | ||
| + | ===Hardware=== | ||
| + | * **Basys3 FPGA board** | ||
| + | * **Micro-USB cable** | ||
| + | ===Software=== | ||
| + | * **Vivado Design Suite 2015.X** | ||
| + | * // | ||
| + | ----- | ||
| - | ==== 1. Download the Project ==== | ||
| - | Download the project zip file which can be found here: {{: | + | ===== Downloads ===== |
| - | Once you have downloaded the project, unzip it in the location of your choosing. | + | |
| + | Basys 3 Support Repository -- [[https:// | ||
| - | **Tcl Script Format** | + | ------ |
| + | ===== How to... ===== | ||
| - | The new project format is available for this demo and can be downloaded {{: | ||
| - | If you are unfamiliar with how to run projects in this new format, see the [[http:// | ||
| - | ==== 2. Load the Vivado Project ==== | ||
| - | 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. | + | ==== 1. Generate the Project ==== |
| - | {{: | + | >1.1) Download the repository linked in the download section and place it in the location of your choosing. |
| - | ==== 3. Synthesize, Implement and Generate | + | >1.2) Generate |
| - | 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 | + | ==== 2. Build the Project ==== |
| - | {{: | + | >2.1) Click **Generate Bitstream** on the left hand menu towards the bottom. Vivado will run through both Run Synthesis and Run Implementation before it generates the bitstream automatically. |
| + | > | ||
| + | >Note: If you want, you can click each step by itself in the order of **Run Synthesis**, | ||
| + | > | ||
| + | >{{: | ||
| - | ==== 4. Connect and Program the Basys3 | + | ==== 3. Program the Board ==== |
| - | Once you have generated your bit file, Click on the hardware manager and connect to your board by choosing the local server option. | + | > |
| + | > | ||
| + | > | ||
| - | {{: | + | >3.2) Click program to load the abacus demo onto your Basys3. |
| - | After your board is connected, just click program to load the abacus demo onto your Basys3. | + | ==== 4. Run the Project |
| - | + | ||
| - | ===== Running | + | |
| 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 79: | 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> |

