CmodA7 Stopwatch Demo

Using the CmodA7 and a 4-digit seven-segment display, this project creates a 10 second stopwatch with millisecond resolution.



  • Basic familiarity with Vivado
  • Familiarity with programming the GPIO of the CmodA7


  • Vivado Design Suite


  • CmodA7-15T or CmodA7-35T
  • Four Digit 7-segment Display
  • Breadboard
  • Jumper Wires


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.

Wiring Table
Signal Seven-Segment
Pin Number
Pin Number
Cathode A 11 8
Cathode B 7 6
Cathode C 4 42
Cathode D 2 40
Cathode E 1 39
Cathode F 10 7
Cathode G 5 43
Decimal Point Cathode 3 41
Digit 1 Anode 12 3
Digit 2 Anode 9 2
Digit 3 Anode 8 1
Digit 4 Anode 6 48

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.


To start the stopwatch press BTN0. To stop and reset the stopwatch press BTN1.