This is an old revision of the document!


Arty Z7 HDMI Out Demo

Overview

Features Used

Not Used Used
2 user switches X
2 user LEDs X
2 user RGB LEDs X
4 user push buttons X
USB-UART Bridge X
Micro SD card connector X
HDMI Sink and HDMI Source X
PWM mono audio out w/ 3.5mm jack X
10/100/1000 Ethernet PHY X
512MB 1050Mb/s DDR3 Memory X
Quad-SPI Flash X
Two Pmod ports X
chipKIT connector for XADC signals X
USB HID Host X

Description

The Arty Z7 HDMI project demonstrates the usage of the HDMI port on the Arty Z7 board. There are two projects, one for each variant of the board: Arty Z7-10 and Arty Z7-20. The behavior is as follows:

  • Frames stream out through the HDMI port.
  • A UART interface is available to configure what is output through HDMI.
  • There are 3 display frame buffers that the user can choose to display.

Prerequisites

Skills

  • Basic familiarity with Vivado & SDK
    • This experience can be found by walking through our “Getting Started with Vivado” guide

Hardware

  • Arty Z7 board
  • Micro-USB cable
  • HDMI cable
  • HDMI monitor

Software

  • Vivado Design Suite & Xilinx SDK 2016.4
    • Version 2016.4 must be used to generate the project

Downloads

Arty Z7 Support Repository – ZIP Git Repo


How to...

1. Generate the Project

1.1) Download the project linked in the download section and unzip it in the location of your choosing.
1.2) Generate the hdmi_in project in the Projects folder by following this guide before continuing: How to Generate a Project from Digilent's Github

2. Build the Project

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.

Note: If you want, you can click each step by itself in the order of Run Synthesis, Run Implementation and then Generate Bitstream.

3. Export to SDK

3.1) Export the microblaze project by going to File>Export>Export Hardware. Click the check box to Include the bitstream, and export it local to project. This will create a .sdk folder in your project directory. Afterwards, click File>Launch SDK to launch Xilinx SDK.

4. Import the SDK files

4.1) In your project Explorer window on the left side, click File>Import then expand the General tab and click Existing Projects into Workspace. Navigate to the Projects/hdmi_in folder, select the sdk folder, and click OK. In the Import window, click Finish to import the SDK project.

5. Program the FPGA

5.1) Click Xilinx Tools>Program FPGA and click Program. Xilinx SDK will then program the FPGA with a microblaze bit file.

6. Program the Microblaze Processor

6.1) Click on the videodemo folder and click the Green Run System Debugger on Local videodemo.elf button. The microblaze program will be programmed onto your Zybo board.

7. Run the Project

This portion will help you run the demo and observe all its features.

7.1) Setup

Plug one end of the HDMI cable into a video source and the other into the ZYBO HDMI port. Plug one end of your VGA cable into the VGA port of the ZYBO and the other into your VGA monitor.

7.2) Setting up UART communications

To see the UART communication channel, open a terminal program on your computer set to 112500 baud rate, 8 data bits, no parity bit and 1 stop bit. On startup, the ZYBO will display the HDMI settings menu, shown below.

7.3) HDMI display options

1 - Changes the resolution of the VGA output to the monitor.
2 - Changes the frame buffer to display on the VGA monitor.
3/4 - Stores a test pattern in the chosen Video Frame buffer.
5 - Starts/Stops streaming video data from HDMI to the chosen video frame buffer.
6 - Changes the video buffer that HDMI data is streamed into.
7 - Inverts and stores the current video frame into the next video frame buffer and displays it.
8 - Scales the current video frame to the display resolution and stores it into the next video frame buffer, then displays it.