Arty Z7 HDMI Output Demo
Description
The Arty Z7 HDMI Out project demonstrates the usage of the HDMI out 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 OUT 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.
Inventory
- Arty Z7 (-10 or -20) with a MicroUSB Programming Cable
- Vivado and Vitis installations compatible with the latest release of this demo (2022.1)
- See Installing Vivado, Vitis, and Digilent Board Files for installation instructions.
- Serial Terminal application to receive messages printed by the demo
- See Installing and Using a Terminal Emulator for more information.
- HDMI-capable Monitor
- 1 HDMI 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 Xilinx tools (Vivado and Vitis) version 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.
Note for Advanced Users: GitHub sources for this demo can be found in the 10/HDMI-out/master and 20/HDMI-out/master branches of the Arty-Z7 repository. Further documentation on the structure of this repository can be found on this wiki's Digilent FPGA Demo Git Repositories page.
Instructions on the use of the latest release can be found in this dropdown:
- Using the Latest Release
-
Note: This workflow is common across many Digilent FPGA demos. Screenshots may not match the demo you are working with.
Important: These steps are only to be used with releases for Xilinx tools versions 2020.1 and newer. Older releases may require other flows, as noted in the table of releases.
First, download the '*.xpr.zip' and '*.ide.zip' files from the demo release, linked above. The XPR archive contains the Vivado project used to build the hardware platform for this demo. The project can be opened, modified, and used to update the hardware platform later if so desired, but this is optional. The IDE archive contains a set of projects to be imported into a Vitis workspace.
Note: Unlike with Vivado XPR archives, do NOT extract the Vitis project archive ('*.ide.xip'). Vitis imports sources from the archive file directly.
- Import Vitis Projects from a Release
-
Select the dropdown corresponding to your operating system, below.
- Windows
- Linux
-
Open a terminal and run the following commands. The install path is /opt/Xilinx by default.
source <install_path>/Vitis/2020.1/settings64.sh vitis
Note: Regardless of OS, if Vivado is open, Vitis can also be launched through the Tools → Launch Vitis toolbar option.
Upon launching Vitis, a dialog will appear where a workspace must be chosen. The workspace is the directory where all of the projects and files for the application being developed will live. If a folder that does not currently exist is chosen, it will be created. Choose a workspace and click Launch to finish launching Vitis.
- Apply Fix for Linker Script Import Bug
-
Due to a bug in some versions of Xilinx's Vitis IDE, two more steps are needed for the project to import correctly. If your projects build without errors, ignore this section.
After importing the project, open the .sprj file. In the System Project Settings, select a platform by clicking on the
…
icon, as shown in the image. Select the platform presented and click Ok.
Right click on the .prj file and select Properties. In the opened window, go into C/C++ Build and select Settings, as shown in the image. After opening the Settings tab, select Linker Script and change the existing path to
../src/lscript.ld
. Click Apply and Close.The project is now imported correctly.
- Build a Vitis Application
-
Once an application project has been set up and includes all necessary sources, it should be built. To build the project and all of its dependencies, select the [System] project in the Assistant pane, and either click the Build button (), or press Ctrl-B on your keyboard.
Note: There are three types of build targets in the Assistant pane, Platforms, Systems, and Applications. Building the application will not trigger any other applications in the system to be built, but will build the wrapper as a dependency. Building the platform will only build the platform, as it has no dependencies. Building the system causes each application in the system, as well as the platform, to be built.
This process may take several minutes to complete. When done, the Console tab at the bottom of the window will display a “Build Finished” message.
- Set up the Arty Z7