Cmod A7 GPIO Demo



This VHDL project demonstrates the basic use of most of the Cmod-A7's general purpose I/O.

  • The two user LEDs are tied to the two push buttons
  • The RGB LED is set to smoothly change colors
  • The UART bridge outputs a beginning message and a status message whenever a button is pressed

Features Used

Not Used Used
2 user LEDs X
1 tri-color LEDs X
2 User Push Buttons X
48 GPIO Pins X
1 Pmod port X
Pins for XADC signals X
512 kB SRAM X



  • Cmod A7 FPGA board
  • Micro-USB cable



Cmod A7 15T GPIO Project Repository – GIT Repo ZIP Archive

Cmod A7 35T GPIO Project Repository – GIT Repo ZIP Archive

Download and Launch the Cmod A7 GPIO Demo

1) Follow the Using Digilent Github Demo Projects Tutorial. This is an HDL design project, and as such does not support Vivado SDK, select the tutorial options appropriate for a Vivado-only design. Return to this guide when prompted to check for extra hardware requirements and setup.


Make sure that between the 15T and 35T versions of the project, you download the version that applies to your Cmod A7.

2) In order to fully use the demo, you will need to connect a serial terminal to your Cmod A7. Plug your board into your computer with a Micro USB cable and make sure the board has power. Then open a serial terminal (such as TeraTerm) on your computer. In the terminal application setup the serial port to connect to the appropriate port for your board, with a baud rate of 9600. Then return to the Github Projects Tutorial to finish programming and running the demo.

Using the Cmod A7 GPIO Demo

1. LEDs and Buttons

When a button is pressed, the corresponding LED will light up.

The RGB LED smoothly transitions between colors.

2. UART Messages

Connect a terminal program with the settings 9600 baud rate, 8 bits, one stop bit, and no parity bit. On reset, the board will display “CMOD A7 GPIO/UART DEMO!”

Whenever a button is pressed, the message “Button press detected!” is sent over UART.