Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
basys3:abacus [2015/12/10 21:23] – Thomas Kappenmanbasys3:abacus [2022/10/04 11:38] (current) – external edit 127.0.0.1
Line 1: Line 1:
  
-====== Basys3 Abacus Demo ======+====== Basys3 Abacus Demo (Legacy) ====== 
 + 
 +<WRAP round important 660px> 
 +=== Important! === 
 +This is a legacy demo, see the updated version of this demo [[learn:programmable-logic:tutorials:basys-3-abacus:start|here]]. 
 +</WRAP>
  
 {{:basys3:abacus_multiply.jpg?600|}} {{:basys3:abacus_multiply.jpg?600|}}
Line 42: Line 47:
  
 ===Software=== ===Software===
-  * **Vivado Design Suite 2015.1** +  * **Vivado Design Suite 2015.X** 
     * //Newer/older versions can be used, but the procedure may vary slightly//     * //Newer/older versions can be used, but the procedure may vary slightly//
  
Line 60: Line 65:
 ==== 1. Generate the Project ==== ==== 1. Generate the Project ====
  
->1.1)Download the repository seen above and place it in the location of your choosing.  +>1.1) Download the repository linked in the download section and place it in the location of your choosing.  
-> + 
->1.2)To generate the project with these files, follow this guide: [[vivado:github|How to Generate a Project from Digilent's Github]]+>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's Github]] 
 ==== 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**, **Run Implementation** and then **Generate Bitstream**. >Note: If you want, you can click each step by itself in the order of **Run Synthesis**, **Run Implementation** and then **Generate Bitstream**.
Line 73: Line 79:
 ==== 3. Program the Board ==== ==== 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.
 > >
 >{{:basys3:device_connected.png?600|}} >{{:basys3:device_connected.png?600|}}
  
->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. Run the Project ==== ==== 4. Run the Project ====
Line 86: 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 92: Line 98:
 >{{:basys3:abacus_subtract_held.jpg?300|}}{{:basys3:abacus_subtract_held_neg.jpg?300|}} {{:basys3:abacus_subtract_scroll.jpg?300|}} >{{:basys3:abacus_subtract_held.jpg?300|}}{{:basys3:abacus_subtract_held_neg.jpg?300|}} {{:basys3:abacus_subtract_scroll.jpg?300|}}
  
->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 100: 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 108: Line 114:
 >The abacus calculating 16 / 2 >The abacus calculating 16 / 2
  
->4.4.) Modulo/Remainder (BTNL)+>4.4) Modulo/Remainder (BTNL)
 > >
 >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 115: Line 121:
 > >
 >The abacus calculating 17 % 2 >The abacus calculating 17 % 2
 +
 +{{tag>legacy}}