Sorry, you need to enable JavaScript to visit this website.


The following reference designs are provided “AS IS”. If you have questions, please utilize the on-line forums in seeking help.


(Requires Login)

Zynq Concepts, Tools, and Techniques on ZedBoard
An introduction to Zynq design using the Xilinx Vivado or ISE Design Suite (Vivado recommended)

ZedBoard CTT, Vivado 2014.2
ZedBoard CTT, Vivado 2013.4
ZedBoard CTT, Vivado 2013.2
ZedBoard CTT, ISE 14.5
ZedBoard CTT, ISE 14.4
ZedBoard CTT, ISE 14.3
ZedBoard CTT, ISE 14.1

Zynq How to Guides

MMU Caches Control
MMU Caches Control Supplied Files
Zynq ZedBoard Vivado Workshop
Zynq ZedBoard Vivado Workshop Files
Designing A Custom AXI Slave
Designing A Custom AXI Slave Supplied Files

HDMI Bare Metal Reference Design Using ADV7511 and ADI IP

This reference design demonstrates how to create a bare metal system to output HDMI video and audio using the ADI ADV7511 HDMI transmitter. The IP used in this design is free and publicly available through ADI.

Vivado 2013.4 Version

Display Panel Ubuntu Tutorial for ZedBoard

This tutorial builds upon the Display Panel Controller Standalone Tutorial by implementing a fully featured Ubuntu Desktop distribution, contained within the root file system. The desktop environment allows the ZedBoard to function as an embedded computer using touch input along with an LCD display panel to allow user interaction.  Required hardware includes ZedBoard and the 7-inch Zed Touch Display Kit.

ZB-ALI3 Ubuntu, ISE 14.4

Basic Vivado IPI Design

The design consists of a Zynq subsystem and I added (3) single channel soft GPIO peripherals to interface to the:
 - 5 buttons
 - 8 switches
 - 8 LEDs

There is an SDK peripherals_test application that reads back the buttons and switches and reports the button and switch values in the terminal (115,200 baud).  It also cycles the 8 LEDs long enough to see them (~20 iterations).

Vivado 2013.2 Version

ZedBoard Configuration and Booting Guide
An introduction to the Zynq boot and configuration methods using the ISE 14.1 Design Suite

ISE 14.1 Version

Building a Zynq Video Design from Scratch
The tutorial instructs the user how to build a HDMI pass-through design from scratch with Xilinx PlanAhead and embedded tools (XPS and SDK). Required hardware includes: ZedBoard (, FMC-IMAGEON module (

ISE 14.4 Version
ISE 14.3 Version
ISE 14.2 Version
ISE 14.1 Version

Zedboard HDMI Display Controller Tutorial for Vivado using Xilinx VIPP

This tutorial describes how to create a HDMI display controller for ZedBoard using the Xilinx Video Image Processing Pack (VIPP).  The example software provided with the tutorial is a simple bare metal application that generates color bars.

ZedBoard HDMI VIPP, Vivado 2014.1
Vivado 2013.4 Version
Vivado 2013.3 Version

FMC-IMAGEON IP Cores and Tutorials for Vivado

Three IP Cores are provided for the FMC-IMAGEON module’s video interfaces (VITA receiver, HDMI input, HDMI output).  The tutorials instruct the user how to build HDMI and VITA pass-through designs from scratch with Vivado Design Suite (IP Integrator and SDK). Required hardware includes: ZedBoard (, FMC-IMAGEON module ( or FMC-IMAGEON with VITA camera (


Vivado 2013.3 Version

Ubuntu Desktop Linux

This tutorial provides a means to integrate several different technologies on a single platform.  Using the Avnet target, we have the power of a 32-bit 667 MHz dual core Arm-9 Cortex processor chip, combined with the unrivaled flexibility of Xilinx programmable logic to implement custom hardware systems.    We use a Linux kernel as the foundation operating system running on the processor cores, but also add on a fully featured desktop from Ubuntu, contained in the root file system.   The desktop allows the target to function as a personal computer using a USB Keyboard and mouse, along with an HDMI monitor.

ZedBoard Ubuntu, Vivado 2013.4
ZedBoard Ubuntu, ISE 14.4

Open Source Linux Ethernet Performance Test Tutorial

Iperf is most commonly used for measuring maximum TCP and UDP bandwidth performance. Iperf allows the tuning of various parameters and UDP characteristics. Iperf also has capability to report bandwidth, delay jitter, and datagram loss.  This tutorial builds upon the Zynq Linux SpeedWay training material and describes how to build Iperf from source code and use this application for network performance testing on ZedBoard or MicroZed.

ISE 14.2 Version
Vivado 2014.4 Version

Open Source Linux USB Host Tutorial

This tutorial builds upon the Zynq Linux SpeedWay training material and describes how to implement USB host functionality for ZedBoard.  The 14.4 and 14.5 versions of the tutorial also include instructions for updating to later releases of the Zynq Linux kernel.

ISE 14.5 Version
ZB OSL USB Host, ISE 14.4
ISE 14.2 Version

Standalone (Bare-Metal) USB Device Tutorial

This tutorial describes how to implement an example Standalone (bare-metal) Zynq application which demonstrates ZedBoard as a USB Mass Storage Device.

ISE 14.6 Version

ZedBoard version of XAPP1026: LightWeight IP (lwIP) Application Examples

This ZedBoard adaptation of Xilinx application note XAPP1026 describes how to utilize the lwIP library to add networking capability to an embedded system. In particular, lwIP is utilized to develop these applications: echo server, Web server, TFTP server, as well as receive and transmit throughput tests.

ISE 14.5 Version

ZedBoard version of XAPP1078: Simple AMP Running Linux and Bare-Metal System on Both Zynq SoC Processors
The Zynq™-7000 All Programmable SoC contains two ARM® Cortex™-A9 processors that
can be configured to concurrently run independent software stacks or executables. This
application note describes a method of starting up both processors, each running its own
operating system and application, and allowing each processor to communicate with the other
through shared memory.

ISE 14.3 / OSL 3.8 kernel from the xilinx-v14.5 tagged repositories

ZedBoard version of XAPP1079: Simple AMP Bare-Metal System Running on Both Cortex-A9 Processors

This ZedBoard adaptation of Xilinx application note XAPP1079 describes a method of starting up both processors, each running its own bare-metal software application, and allowing each processor to communicate with the other through shared memory.

ISE 14.5 Version

QPSK Digital Up/Down-Converter Demo

Note: Requires Analog Devices SDR Kit, MathWorks MATLAB & Simulink R2012b (DSP and Signal Processing Toolboxex), and ISE DSP Edition

The Zynq-7000 SoC / Analog Devices SDR Kit base demonstration design provides a Linux-based framework for baseband and RF signal transmission and reception; a good starting point for integration of user-defined functionality for wireless communications. This demo uses model-based design techniques with MathWorks Simulink and Xilinx System Generator for system-level simulation of a QPSK symbol generator and digital up/down-converter signal chain, which will subsequently augment the base design of the SDR kit.

ISE 14.3 Version

ZedBoard Linux Binaries for MathWorks Embedded Coder Support Package for Xilinx Zynq-7000 Platform

Note: Requires MathWorks MATLAB R2013b & Embedded Coder Support Package for Xilinx Zynq-7000 Platform

Provides a basic Linux system with 3.3.0 kernel based upon the 14.2 release tags from the Xilinx kernel repository, along with modifications to support the MathWorks Embedded Coder Support Package for Xilinx Zynq-7000 Platform on ZedBoard.  The binaries included in this archive can be copied to an SD card and used to boot ZedBoard.  The archive includes instructions to recreate these binaries starting from the Xilinx Open Source repository.  More information on Xilinx Zynq Support from Simulink, including examples and required software, can be found at

ISE 14.2 Version

Debugging ARM Processor Systems using ARM DS-5

Note: Requires Development Studio 5 (DS‐5) Software Suite and DSTREAM Debugging tools plus the ZedBoard Processor Debug Adapter accessory

These lab-based tutorials explore various ARM® processor application debug techniques on the Xilinx Zynq-7000 SoC based MicroZed and ZedBoard development platforms using ARM DS-5. The series begins with the most basic tool configuration and board connection. It takes you all the way through dual core asynchronous debugging, Linux application and kernel debugging, profiling and application trace to root out design errors that are otherwise apparent only in very complex use cases, or worse, after a product is released.

ISE 14.5 Version