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
programmable-logic:arty-a7:demos:pmod-vga [2022/08/03 10:06] – [Inventory] bokissprogrammable-logic:arty-a7:demos:pmod-vga [2022/10/04 11:38] (current) – external edit 127.0.0.1
Line 1: Line 1:
 +====== Arty A7 Pmod VGA Demo ======
  
 +<WRAP round todo>
 +=== Under Construction ===
 +</WRAP>
 +
 +{{:reference:programmable-logic:arty-a7:demos:arty_a7_pmod_vga.jpg?400|}}
 +
 +----
 +===== Description =====
 +
 +
 +This simple VGA Demo project demonstrates usage of a Pmod VGA connected to the Arty A7's Pmod ports. The behavior is as follows:
 + 
 +  * A bouncing box and black, white, and multiple colors of bars are displayed on a connected VGA monitor.
 +  * The Pmod VGA is controlled by the Arty through Pmod ports JB and JC.
 +  * The screen resolution is configurable through HDL code.
 +
 +----
 +===== Inventory =====
 +
 +  * Arty A7 with a 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.//
 +  * Pmod VGA
 +  * VGA Monitor and cable
 +
 +----
 +===== 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.
 +
 +**Note:** //Releases for FPGA demos from before 2020.1 used a different git structure, and used a different release tag naming scheme.//
 +
 +^ Board Variant  ^ Release Tag  ^ Release Downloads  ^ Setup Instructions  |
 +| Arty A7-35 | @#C0EEBD: 35/Pmod-VGA/2020.1-1  | [[https://github.com/Digilent/Arty-A7/releases/tag/35/Pmod-VGA/2020.1-1|Release ZIP Downloads]]  | See //Using the Latest Release//, below  |
 +| Arty A7-100 | @#C0EEBD: 100/Pmod-VGA/2020.1-1  | [[https://github.com/Digilent/Arty-A7/releases/tag/100/Pmod-VGA/2020.1-1|Release ZIP Downloads]]  | See //Using the Latest Release//, below  |
 +| Arty A7-35 | v2018.2-1            | [[https://github.com/Digilent/Arty-A7-35-Pmod-VGA/releases/tag/v2018.2-1|Release ZIP Downloads]]  | [[https://github.com/Digilent/Arty-A7-35-Pmod-VGA/tree/v2018.2-1|v2018.2-1 Github README]]  |
 +| Arty A7-100 | v2018.2-1            | [[https://github.com/Digilent/Arty-A7-100-Pmod-VGA/releases/tag/v2018.2-1|Release ZIP Downloads]]  | [[https://github.com/Digilent/Arty-A7-100-Pmod-VGA/tree/v2018.2-1|v2018.2-1 Github README]]  |
 +
 +**Note for Advanced Users:** //All demos for the Arty A7 are provided through the [[https://github.com/Digilent/Arty-A7|Arty-A7]] repository on Github. 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 #
 +
 +<WRAP group>
 +
 +{{page>programmable-logic:guides:using-github-releases#hardware_only_release_before_programming&noheader}}
 +
 +--> Set up the Arty A7 #
 +
 +Plug the microUSB programming cable into the Arty A7's PROG/UART port.  
 +Connect the Pmod VGA to the JB and JC Pmod ports.  
 +Connect the VGA Monitor to the Pmod VGA through a VGA 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.
 +</WRAP>
 +
 +<--
 +
 +----
 +===== Functionality =====
 +
 +
 +==== 1. View Results ====
 +
 +>The VGA monitor will display a set of colored, black, and white bars, along with a moving box, as shown below. You may need to adjust the settings of your monitor to properly align the demo image.
 +>
 +>{{:learn:programmable-logic:tutorials:arty-pmod-vga-demo:arty-pmod-vga-test-pattern.png?direct&500|}}
 +
 +==== 2. Changing the resolution ====
 +
 +>You may want to change the display resolution if your VGA monitor does not support 1080p, or you want to modify the demo for a specific application.
 +>
 +>To select a different display resolution, select the appropriate set of Sync Generation constants for your target resolution from the list starting at line 47 of **top.vhd**. Uncomment the ten corresponding constants, **FRAME_WIDTH** through **V_POL**, and comment the default versions of those same constants. The default resolution is 1920x1080 @ 60Hz.
 +>
 +>Next select **Project Manager** in the Flow Navigator. In the **Hierarchy** tab of the Sources box, expand **top** under Design Sources and double click on **clk_div_inst**. Change the clk_out1 Requested frequency - circled in red below - to the required pxl_clk frequency specified in the selected resolution's Sync Generation comment block. Select **Ok**, then **Generate** in the Generate Output Products dialog that pops up. To reprogram your board with the new hardware, return to Step 2.
 +>
 +>{{:learn:programmable-logic:tutorials:arty-pmod-vga-demo:arty-pmod-vga-change-clock.png?500|}}
 +
 +----
 +===== Additional Resources =====
 +
 +All materials related to the use of the Arty A7 can be found on its [[..:start|Resource Center]].
 +
 +All materials related to the use of the list other products here can be found on their resource centers, linked below: 
 +
 +  * Pmod VGA [[pmod:pmodvga: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.digilentinc.com/forum/4-fpga/|FPGA]] section of the Digilent Forum.
 +
 +----
 +<code>{{tag>project arty-a7}}</code>