XAPP1205 (v1.0) March 28, 2014 www.xilinx.com 1
© Copyright 2014 Xilinx, Inc. Xilinx, the Xilinx logo, Artix, ISE, Kintex, Spartan, Virtex, Vivado, Zynq, and other designated brands included herein are trademarks of Xilinx in the
United States and other countries. AMBA, AMBA Designer, ARM, ARM1176JZ-S, CoreSight, Cortex, and PrimeCell are trademarks of ARM in the EU and other countries. HDMI,
HDMI logo, and High-Definition Multimedia Interface are trademarks of HDMI Licensing LLC. All other trademarks are the property of their respective owners.
Summary With high-end processing platforms such as the Xilinx Zynq®-7000 All Programmable SoC,
customers want to take full advantage of the processing system (PS) and custom peripherals
available within the device. An example of this philosophy is a system containing multiple video
pipelines in which live video streams are written into memory (input) and memory content is
sent out to live video streams (output) while the processor is accessing memory. This
application note covers design principles for obtaining high performance from the Zynq-7000
AP SoC memory interfaces, from AXI master interfaces implemented in the programmable
logic (PL), and from the ARM® Cortex™-A9 processor(s).
With video streams, guaranteed worst-case latency is required to ensure that frames are not
dropped or corrupted. To provide high-speed AXI interface masters in the PL with lower latency
and direct access to the Zynq-7000 AP SoC memory interfaces, connections to the High
Performance (HP) interfaces are required. The Zynq-7000 AP SoC contains four HP interfaces
that are 64-bit or 32-bit AXI3 slave interfaces designed for high throughput.
This design uses four AXI Video Direct Memory Access (VDMA) cores to simultaneously move
eight streams (four transmit video streams and four receive video streams), each in 1920 x
1080p format, 60 Hz refresh rate, and up to 24 data bits per pixel. Each AXI Video DMA core is
driven from a video test pattern generator (TPG) with a Video Timing Controller (VTC) core to
set up the necessary video timing signals. Data read by each AXI Video DMA core is sent to a
common Video On-Screen Display (OSD) core capable of multiplexing or overlaying multiple
video streams to a single output video stream. The onboard HDMI™ video display interface is
driven by the output of the Video On-Screen Display core with additional IP cores.
An AXI Performance Monitor core is used to capture performance data. All four AXI Video DMA
cores are connected to four separate HP interfaces using the AXI Interconnect and are
controlled by the Cortex-A9 processor. This design uses 70% of the memory controller
bandwidth.
The reference system design is targeted for the Zynq-7000 AP SoC ZC702 evaluation board.
Included
Systems
The design is built using the Vivado® Design Suite, System Edition 2013.4 and the Vivado IP
integrator feature. The IP integrator helps simplify the task of instantiating, configuring, and
connecting IP cores together to form complex integrated systems. The design also includes
software built using the Xilinx Software Development Kit (SDK). The software runs on the
Zynq-7000 AP SoC PS and implements the control function. The complete IP integrator project
and SDK tool project files are provided with this application note to allow the designer to
examine and rebuild this design or use the files as a template for starting a new design.
Included with this application note is one reference system, zc702_video_4x_ipi, available
in the ZIP file xapp1205-high-performance-video-zynq.zip. See the Reference
Design section.
Application Note: Zynq-7000 All Programmable SoC
XAPP1205 (v1.0) March 28, 2014
Designing High-Performance Video Systems
with the Zynq-7000 All Programmable SoC
Using IP Integrator
Author: James Lucero and Bob Slous