Differences

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

Link to this comparison view

Both sides previous revisionPrevious revision
programmable-logic:zybo-z7:demos:pmod-vga [2022/09/12 12:40] – changed forum.digilentinc.com to forum.digilent.com Jeffreyprogrammable-logic:zybo-z7:demos:pmod-vga [2023/08/25 00:33] (current) – Move to direct file links for downloads Arthur Brown
Line 1: Line 1:
 +====== Zybo Z7 Pmod VGA Demo ======
  
 +{{:learn:programmable-logic:tutorials:zybo-z7-pmod-vga-demo:zybo-z7-pmod-vga-connect.png?500|}}
 +
 +----
 +===== Description =====
 +
 +
 +This simple VGA Demo project demonstrates usage of a Pmod VGA connected to the Zybo'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 Zybo through Pmod ports JC and JD.
 +  * The screen resolution is configurable through HDL code.
 +
 +----
 +===== Inventory =====
 +
 +  * Zybo Z7 with a MicroUSB Programming Cable
 +  * Vivado installation compatible with the latest release of this demo (2022.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                                 ^
 +| Zybo Z7-10     | @#C0EEBD: 10/Pmod-VGA/2022.1-1  | {{https://github.com/Digilent/Zybo-Z7/releases/download/10/Pmod-VGA/2022.1-1/Zybo-Z7-10-Pmod-VGA-hw.xpr.zip}}  | See //Using the Latest Release//, below  |
 +| Zybo Z7-20     | @#C0EEBD: 20/Pmod-VGA/2022.1-1  | {{https://github.com/Digilent/Zybo-Z7/releases/download/10/Pmod-VGA/2022.1-1/Zybo-Z7-10-Pmod-VGA-hw.xpr.zip}}  | See //Using the Latest Release//, below  |
 +| Zybo Z7-10     | 10/Pmod-VGA/2021.1-1            | {{https://github.com/Digilent/Zybo-Z7/releases/download/10/Pmod-VGA/2021.1-1/Zybo-Z7-10-Pmod-VGA-hw.xpr.zip}}  | See //Using the Latest Release//, below  |
 +| Zybo Z7-20     | 20/Pmod-VGA/2021.1-1            | {{https://github.com/Digilent/Zybo-Z7/releases/download/20/Pmod-VGA/2021.1-1/Zybo-Z7-20-Pmod-VGA-hw.xpr.zip}}  | See //Using the Latest Release//, below  |
 +| Zybo Z7-10     | 10/Pmod-VGA/2020.1-1            | {{https://github.com/Digilent/Zybo-Z7/releases/download/10/Pmod-VGA/2020.1-1/Zybo-Z7-10-Pmod-VGA-hw.xpr.zip}}  | See //Using the Latest Release//, below  |
 +| Zybo Z7-20     | 20/Pmod-VGA/2020.1-1            | {{https://github.com/Digilent/Zybo-Z7/releases/download/20/Pmod-VGA/2020.1-1/Zybo-Z7-20-Pmod-VGA-hw.xpr.zip}}  | See //Using the Latest Release//, below  |
 +| Zybo Z7-10     | v2018.2-1                       | [[https://github.com/Digilent/Zybo-Z7-10-Pmod-VGA/releases/tag/v2018.2-1|Release ZIP Downloads]]     | [[https://github.com/Digilent/Zybo-Z7-10-Pmod-VGA/tree/v2018.2-1|v2018.2-1 Github README]]  |
 +| Zybo Z7-20     | v2018.2-1                       | [[https://github.com/Digilent/Zybo-Z7-20-Pmod-VGA/releases/tag/v2018.2-1|Release ZIP Downloads]]     | [[https://github.com/Digilent/Zybo-Z7-20-Pmod-VGA/tree/v2018.2-1|v2018.2-1 Github README]]  |
 +
 +**Note for Advanced Users:** //GitHub sources for this demo can be found in the [[https://github.com/digilent/zybo-z7/tree/10/Pmod-VGA/master|10/Pmod-VGA/master]] and [[https://github.com/digilent/zybo-z7/tree/20/Pmod-VGA/master|20/Pmod-VGA/master]] branches of the Zybo-Z7 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 #^
 +
 +<WRAP group>
 +
 +{{page>programmable-logic:guides:using-github-releases#hardware_only_release_before_programming&noheader}}
 +
 +--> Set up the Zybo Z7 #
 +
 +Plug the microUSB programming cable into the Zybo Z7's PROG/UART port.  
 +Connect the Pmod VGA to the JC and JD 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:zybo-z7-pmod-vga-demo:pmod-vga-change-clock.png?500|}}
 +
 +----
 +===== Additional Resources =====
 +
 +All materials related to the use of the Zybo Z7 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.digilent.com/forum/4-fpga/|FPGA]] section of the Digilent Forum.
 +
 +----