Cmod A7 Stopwatch Demo
Using the CmodA7 and a 4-digit seven-segment display, this project creates a 10 second stopwatch with millisecond resolution.
Prerequisites
Skills
- Basic familiarity with Vivado
- Familiarity with programming the GPIO of the CmodA7
- Follow the CmodA7 GPIO Demo
Software
- Vivado Design Suite
Hardware
- CmodA7-15T or CmodA7-35T
- Four Digit 7-segment Display
- Breadboard
- Jumper Wires
Procedure
1. Wiring the CmodA7 to the 7-segment Display
This step may be different depending on your 7-segment display. The one used in this project has the following pinout:
Place the Seven-Segment Display and CmodA7 in the breadboard. Using the Jumper Wires Connect the two parts using the following table as a guide. The display being used may have a different pin-out. If this is the case find the datasheet and wire according to that.
|
When the wiring is done the breadboard should look something like this:
For more information on Seven-Segment Displays see the Nexys 4 DDR Wiki section on them.
2. Programming the CmodA7
2.0 Open Vivado
From Vivado open the Hardware Manager and open a target.
After the CmodA7 connects there are two options for programming:
2.1. JTAG
This will program the FPGA directly, the program will not run after a power cycle.
2.1.1: Download and extract the BIT file for your board: CmodA7-15T CmodA7-35T
2.1.2: In the Hardware Manager click Program device (in the green bar) then the device to program from the drop-down. Select the bit file and click program. Once the programming window closes the board is ready.
2.2. Quad-SPI
This will program the on-board flash memory, the program will run after a power cycle.
2.2.1: Download and extract the BIN file for your board: CmodA7-15T CmodA7-35T
2.2.2: In the Program Manager right click on the device and click Add Configuration Memory Device.
2.2.3: In the next window select the n25q32-3.3v-spix1_x2_x4 device and click OK in the next window to program the device now.
2.2.4: Select the BIN file that was downloaded above and click OK.
The flash will be programmed and will need to be power cycled in order to load the program from the memory.