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 03:20] – [4. Running the Basys3 Abacus Demo] 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 ===== | ||
| Line 38: | Line 47: | ||
| ===Software=== | ===Software=== | ||
| - | * **Vivado Design Suite 2015.1** | + | * **Vivado Design Suite 2015.X** |
| * // | * // | ||
| Line 49: | Line 58: | ||
| ------ | ------ | ||
| - | ===== How to Build and Program | + | ===== How to... ===== |
| Line 56: | Line 65: | ||
| ==== 1. Generate the Project ==== | ==== 1. Generate the Project ==== | ||
| - | > | + | >1.1) Download the repository |
| - | > | + | |
| - | > | + | |
| - | >**Tcl Script Format** | + | |
| - | > | + | |
| - | >If you are unfamiliar with how to run projects in this new format, see the [[http:// | + | |
| + | >1.2) Generate the **Abacus** project in the Projects folder by following this guide before continuing: [[vivado: | ||
| - | |||
| - | >1.2) Within the project folder there will be two subfolders named " | ||
| - | > | ||
| - | > | ||
| - | > | ||
| - | |||
| - | |||
| - | >1.3) Open a new Vivado window and enter the letters ' | ||
| - | > | ||
| - | > | ||
| - | > | ||
| - | > | ||
| - | >As in the image above, once you have copied there may be a pop-up with a suggested ' | ||
| - | > | ||
| - | >Again, as illustrated in the images, type in " | ||
| - | > | ||
| - | > | ||
| ==== 2. Build the Project ==== | ==== 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. | + | >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**, | >Note: If you want, you can click each step by itself in the order of **Run Synthesis**, | ||
| Line 89: | Line 77: | ||
| > | > | ||
| - | ==== 3. Connect and Program the Basys3 | + | ==== 3. Program the Board ==== |
| - | >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. | + | >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. |
| > | > | ||
| > | > | ||
| - | >3.2.) Click program to load the abacus demo onto your Basys3. | + | >3.2) Click program to load the abacus demo onto your Basys3. |
| - | ==== 4. 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 104: | Line 92: | ||
| - | >4.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. | ||
| Line 110: | Line 98: | ||
| > | > | ||
| - | >4.2.) Multiplication (BTND) | + | >4.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. | >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. | ||
| Line 118: | Line 106: | ||
| >The abacus calculating 3*3 | >The abacus calculating 3*3 | ||
| - | >4.3.) Division (BTNR) | + | >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. | >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. | ||
| Line 126: | Line 114: | ||
| >The abacus calculating 16 / 2 | >The abacus calculating 16 / 2 | ||
| - | >4.4.) Modulo/ | + | >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. | >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. | ||
| Line 133: | Line 121: | ||
| > | > | ||
| >The abacus calculating 17 % 2 | >The abacus calculating 17 % 2 | ||
| + | |||
| + | {{tag> | ||

