~~META: robots = noindex, nofollow ~~ ====== Cmod A7 GPIO Demo ====== {{:cmod_a7:cmod_a7-obl-600.png?300|}} ---- ===== Description ===== 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 ---- ===== Inventory ===== * Cmod A7 with MicroUSB programming cable * Vivado installation compatible with the latest release of this demo (2020.1) *//See [[programmable-logic:guides:installing-vivado-and-vitis|Installing Vivado, Vitis, and Digilent Board Files]] for installation instructions.// * Serial Terminal application to receive messages printed by the demo * //See [[programmable-logic:guides:serial-terminals:start]] for more information.// ---- ===== Download and Usage Instructions ===== First and foremost, releases - consisting of a set of files for download - are only compatible with a specific version of the Xilinx tools, as specified in the name of the release (referred to as a //release tag//). In addition, releases are only compatible with the specified variant of the board. For example, a release tagged "20/DMA/2020.1" for the Zybo Z7 is only to be used with the -20 variant of the board and Vivado 2020.1. The latest release version for this demo is highlighted in green. ^ Board Variant ^ Release Tag ^ Release Downloads ^ Setup Instructions | | Cmod A7-15T | @#C0EEBD: 15T/GPIO/2020.1-1 | {{https://github.com/Digilent/Cmod-A7/releases/download/15T/GPIO/2020.1-1/Cmod-A7-15T-GPIO-hw.xpr.zip}} | See //Using the Latest Release//, below | | Cmod A7-35T | @#C0EEBD: 35T/GPIO/2020.1-2 | {{https://github.com/Digilent/Cmod-A7/releases/download/35T/GPIO/2020.1-2/Cmod-A7-35T-GPIO-hw.xpr.zip}} | See //Using the Latest Release//, below | | Cmod A7-15T | v2018.2-1 | [[https://github.com/Digilent/Cmod-A7-15T-GPIO/releases/tag/v2018.2-1|Release ZIP Downloads]] | [[https://github.com/Digilent/Cmod-A7-15T-GPIO/tree/v2018.2-1|v2018.2-1 Github README]] | | Cmod A7-35T | v2018.2-1 | [[https://github.com/Digilent/Cmod-A7-35T-GPIO/releases/tag/v2018.2-1|Release ZIP Downloads]] | [[https://github.com/Digilent/Cmod-A7-35T-GPIO/tree/v2018.2-1|v2018.2-1 Github README]] | | Cmod A7-15T | v2016.4-1 | [[https://github.com/Digilent/Cmod-A7-15T-GPIO/releases/tag/v2016.4-1|Release ZIP Downloads]] | [[learn/programmable-logic/tutorials/github-demos/start|Using Digilent Github Demo Projects (Legacy)]] | | Cmod A7-35T | v2016.4-2 | [[https://github.com/Digilent/Cmod-A7-35T-GPIO/releases/tag/v2016.4-2|Release ZIP Downloads]] | [[learn/programmable-logic/tutorials/github-demos/start|Using Digilent Github Demo Projects (Legacy)]] | **Note for Advanced Users:** //GitHub sources for this demo can be found in the [[https://github.com/digilent/cmod-a7/tree/15T/GPIO/master|15T/GPIO/master]] and [[https://github.com/digilent/cmod-a7/tree/35T/GPIO/master|35T/GPIO/master]] branches of the Cmod-A7 repository. Further documentation on the structure of this repository can be found on this wiki's [[programmable-logic:documents:git]] page.// ---- Instructions on the use of the latest release can be found in this dropdown: --> Using the Latest Release #^ {{page>programmable-logic:guides:using-github-releases#hardware_only_release_before_programming&noheader}} --> Set up the Cmod A7 # Plug the Cmod A7 into the computer using the microUSB cable. ---- <-- {{page>programmable-logic:guides:using-github-releases#hardware_only_release_programming&noheader}} At this point, the demo is now running on your board. Refer to the [[#description|Description]] and [[#functionality|Functionality]] sections of this document for more information on what it does. <-- ---- ===== Functionality ===== ==== 1. LEDs and Buttons ==== >When a button is pressed, the corresponding LED will light up. > >{{:learn:programmable-logic:tutorials:cmod-a7-gpio-demo:gpio7.jpg?200|}}{{:learn:programmable-logic:tutorials:cmod-a7-gpio-demo:gpio8.jpg?200|}} >The RGB LED smoothly transitions between colors. > >{{:learn:programmable-logic:tutorials:cmod-a7-gpio-demo:gpio3.jpg?200|}}{{:learn:programmable-logic:tutorials:cmod-a7-gpio-demo:gpio4.jpg?200|}} ==== 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!" > >{{:learn:programmable-logic:tutorials:cmod-a7-gpio-demo:gpio1.jpg?500|}} >Whenever a button is pressed, the message "Button press detected!" is sent over UART. > >{{:learn:programmable-logic:tutorials:cmod-a7-gpio-demo:gpio2.jpg?500|}} ---- ===== Additional Resources ===== All materials related to the use of the Cmod A7 can be found on its [[..:start|Resource Center]]. For a walkthrough of the process of creating a simple HDL project in Vivado, see [[programmable-logic:guides:getting-started-with-vivado]]. Information on important parts of the GUI, and indirect discussion of the steps required to modify, rebuild, and run this demo in hardware can also be found here. For technical support, please visit the [[https://forum.digilent.com/forum/4-fpga/|FPGA]] section of the Digilent Forum. ----