A Video Interface Protocol for FPGA-Based Video Applications

The concepts behind the Avalon Streaming (Avalon-ST) Video Interface protocol, an open interface from Altera.

By Suhel Dhanani, Senior Manager, DSP, Altera

Page 1 of 3
Video/Imaging DesignWire
(11/4/2010 1:30:07 AM)

When developing video signal chains using FPGAs what is found in many cases is that connecting different video functions to each other is just as complex (or even more so) as the video functions themselves. For example connecting two video functions with different latencies and different expectations of color plane sequences involves writing HDL to implement complicated handshake protocols and color re-sequencing. A good video design framework must include a simple, silicon-efficient and open interface protocol for connecting video processing functions within the data path, as well for connecting other peripherals such as memory controllers and embedded processors.

This article describes the concepts behind the Avalon Streaming (Avalon-ST) Video Interface protocol. While this protocol is a part of the Altera’s Video Design Framework, it is an open interface and the specification is detailed in the Video and Image Processing (VIP) Suite User Guide. This article specifically focuses on the streaming video protocol.

Different Types of Interface Required

The IP cores in the VIP Suite use standard interfaces for data input and output, control input, and to access external memory. These standard interfaces ensure that video systems can be quickly and easily assembled by connecting the functions.

These interfaces include:

  • Avalon-ST interface is a streaming interface that supports backpressure. The Avalon-ST Video protocol transmits video and select configuration data. This interface allows you to quickly and efficiently put together video processing data paths, using different IP cores.
  • Avalon-MM Slave interface enables an embedded processor to monitor and control the properties of the different functions.
  • Avalon-MM Master interface is used when the video data path requires access to a slave interface, most commonly to an external memory controller.

View full size
Figure 1: An example of a video datapath showing Avalon-ST Video and Avalon-MM

NEXT: Avalon Streaming Video

Page 1: next page

Pages: 1 2 3