Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
learn:programmable-logic:tutorials:cmod-a7-gpio-demo:start [2016/08/04 19:26] – [4. Run the Project] Sam Lowelearn:programmable-logic:tutorials:cmod-a7-gpio-demo:start [2022/10/04 11:38] (current) – external edit 127.0.0.1
Line 4: Line 4:
  
 ===== Overview ===== ===== Overview =====
 +
 +==== 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
 +
 ==== Features Used ==== ==== Features Used ====
- 
  
 |              ^ Not Used             ^ Used        ^ |              ^ Not Used             ^ Used        ^
Line 16: Line 24:
 ^ USB-UART Bridge                    |     |  X  | ^ USB-UART Bridge                    |     |  X  |
 ^ 512 kB SRAM                        |  X  |     | ^ 512 kB SRAM                        |  X  |     |
- 
- 
-===== 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 
- 
- 
  
 ------- -------
  
 ===== Prerequisites ===== ===== Prerequisites =====
- 
-===Skills=== 
-  * **Basic familiarity with Vivado** 
-    *  //This experience can be found by walking through our "Getting Started with Vivado" guide// 
  
 ===Hardware=== ===Hardware===
Line 41: Line 34:
  
 ===Software=== ===Software===
-  * **Vivado Design Suite 2015.X**  +  * **Vivado Design Suite 2016.4**  
-    * //Newer/older versions can be used, but the procedure may vary slightly//+    * //Newer versions can be used, but the procedure may vary slightly// 
 +  * **Digilent Board Support Files for Vivado**  
 +    * Follow the [[vivado:boardfiles|Vivado Board Files for Digilent 7-Series FPGA Boards]] guide on how to install Board Support Files for Vivado.
  
 ----- -----
  
 ===== Downloads ===== ===== Downloads =====
-Cmod A7 Support Repository -- [[https://github.com/Digilent/CmodA7|GIT Repo]] 
  
-------- +Cmod A7 15T GPIO Project Repository -- [[https://github.com/Digilent/Cmod-A7-15T-GPIO|GIT Repo]] [[https://github.com/Digilent/Cmod-A7-15T-GPIO/releases/download/v2016.4-1/Cmod-A7-15T-GPIO-2016.4-1.zip|ZIP Archive]]
-===== How to...  =====+
  
-==== 1. Generate the Project ====+Cmod A7 35T GPIO Project Repository -- [[https://github.com/Digilent/Cmod-A7-35T-GPIO|GIT Repo]] [[https://github.com/Digilent/Cmod-A7-35T-GPIO/releases/download/v2016.4-1/Cmod-A7-35T-GPIO-2016.4-1.zip|ZIP Archive]]
  
->1.1) Download the repository linked in the download section and place it in the location of your choosing. +-------
  
->1.2) Generate the **GPIO** project in the Projects folder by following this guide before continuing: [[vivado:github|How to Generate a Project from Digilent's Github]]+===== Download and Launch the Cmod A7 GPIO Demo =====
  
-==== 2. Build the Project ====+>1) Follow the [[:learn:programmable-logic:tutorials:github-demos:start|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. 
 +> 
 +><WRAP round important 660px> 
 +===Important=== 
 +Make sure that between the 15T and 35T versions of the project, you download the version that applies to your Cmod A7. 
 +</WRAP>
  
->2.1) Click **Generate Bitstream** on the left hand menu towards the bottom. Vivado will run through both Run Synthesis and Run Implementation before it generates the bitstream automatically. +>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.
 > >
->Note: If you want, you can click each step by itself in the order of **Run Synthesis**, **Run Implementation** and then **Generate Bitstream**. +>{{:learn:programmable-logic:tutorials:cmod-a7-user-demo:tera-setup.png?300|}} {{:learn:programmable-logic:tutorials:cmod-a7-user-demo:setup.png?300|}} 
-> + 
->{{:basys3:buildflow.png?600|}}+-------
  
-==== 3. Program the Board ====+===== Using the Cmod A7 GPIO Demo =====
  
->3.1) Once you have generated your bit file, Click on the hardware manager and connect to your board by choosing the local server option.+==== 1. LEDs and Buttons ==== 
 + 
 +>When a button is pressed, the corresponding LED will light up.
 > >
->{{:basys3:device_connected.png?600|}}+>{{:learn:programmable-logic:tutorials:cmod-a7-gpio-demo:gpio7.jpg?200|}}{{:learn:programmable-logic:tutorials:cmod-a7-gpio-demo:gpio8.jpg?200|}}
  
->3.2) Click program to load the project onto your Cmod A7.+>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|}}
  
-==== 4. Run the Project ====+==== 2. UART Messages ====
  
-This portion will help you run the demo and observe all its features. 
- 
->4.1) UART 
-> 
 >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!" >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|}} >{{:learn:programmable-logic:tutorials:cmod-a7-gpio-demo:gpio1.jpg?500|}}
-> + 
->Also whenever a button is pressed, the message "Button press detected!" is sent over UART.+>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|}} >{{:learn:programmable-logic:tutorials:cmod-a7-gpio-demo:gpio2.jpg?500|}}
-> + 
->4.2) RGB Led +{{tag>learn programmable-logic project cmod-a7}}
-> +
->The RGB Led smoothly transitions between colors. This cannot be changed by the user in this demo +
->{{:learn:programmable-logic:tutorials:cmod-a7-gpio-demo:gpio3.jpg?200|}}{{:learn:programmable-logic:tutorials:cmod-a7-gpio-demo:gpio4.jpg?200|}} +
-> +
->4.3) User push buttons and Leds +
-> +
->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|}} +
-{{tag>learn programmable-logic tutorial cmod-a7}}+