Basys3 Abacus Demo (Legacy)
Important!
This is a legacy demo, see the updated version of this demohere.
Overview
Features Used
Not Used | Used | |
---|---|---|
16 user switches | X | |
16 user LEDs | X | |
5 user pushbuttons | X | |
4-digit 7-segment display | X | |
4 Pmod connectors | X | |
XADC Analog input | X | |
12-bit VGA output | X | |
USB-UART Bridge | X | |
Serial Flash for application data | X | |
USB HID Host with mouse | X | |
USB HID Host with keyboard | X |
Description
Abacus demonstration project that implements several arithmetic operations using the Basys3's switches, LEDs, buttons and 7-segment display. See this video for instructions on building the project from only source files.
Prerequisites
Skills
-
基本熟悉Vivado
-
This experience can be found by walking through our “Getting Started with Vivado” guide
-
Hardware
-
Basys3 FPGA board
-
Micro-USB cable
Software
-
Vivado Design Suite 2015.X
-
Newer/older versions can be used, but the procedure may vary slightly
-
Downloads
How to...
1. Generate the Project
1.1) Download the repository linked in the download section and place it in the location of your choosing.
1.2) Generate theAbacusproject in the Projects folder by following this guide before continuing:如何生成一个Project from Digilent's Github
2. Build the Project
2.1) ClickGenerate Bitstreamon 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 ofRun Synthesis,Run Implementationand thenGenerate Bitstream.
3. Program the Board
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.
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.
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.
The abacus calculating 3*3
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.
The abacus calculating 17 % 2