This project is a Vivado demo using the Basys 3's switches, LEDs, pushbuttons, and seven-segment display, written in Verilog. When programmed onto the board, the Abacus demo can perform one of four arithmetic functions on two 8-bit numbers. Switches 15-8 represent input A and switches 7-0 represent input B. The pushbuttons select between subtraction, multiplication, division, and modulo operations as shown in the table below. The result of the selected operation is displayed on the seven-segment display. Once the operation button is released, the result of the operation scrolls across the seven segment display.
Button | Function |
---|---|
BTNU | Subtraction (A-B) |
BTND | Multiplication (A*B) |
BTNR | Division (A/B) |
BTNL | Modulo/Remainder (A%B) |
- Basys 3: To purchase a Basys 3, see the Digilent Store
- Vivado 2018.2 Installation: To set up Vivado, see the Installing Vivado and Digilent Board Files Tutorial.
- MicroUSB Cable
- Download and extract the most recent release ZIP archive from this repository's Releases Page.
- Open the project in Vivado 2018.2 by double clicking on the included XPR file found at "<archive extracted location>/vivado_proj/Basys-3-Abacus.xpr".
- In the Flow Navigator panel on the left side of the Vivado window, click Open Hardware Manager.
- Plug a Basys 3 into the computer using a MicroUSB cable.
- Open a serial terminal emulator (such as TeraTerm) and connect it to the Basys 3's serial port, using a baud rate of 9600.
- In the green bar at the top of the Vivado window, click "Open target". Select "Auto connect" from the drop down menu.
- In the green bar at the top of the Vivado window, click "Program device".
- In the Program Device Wizard, enter "<archive extracted location>vivado_proj/Basys-3-Abacus.runs/impl_1/Basys3_Abacus_Top.bit" into the "Bitstream file" field. Then click Program.
- The demo will now be programmed onto the Basys 3. See the Introduction section of this README for a description of how this demo works.
This demo can be used as a basis for other projects, either by adding sources included in the demo's release to those projects, or by modifying the sources in the release project.
Check out the Basys 3's Resource Center to find more documentation, demos, and tutorials.
For technical support or questions, please post on the Digilent Forum.
For more information on how this project is version controlled, refer to the Digilent Vivado Scripts Repository