Intel® FPGA Streaming Video Protocol Specification

ID 683397
Date 5/15/2024
Document Table of Contents

1.1. Protocol Signals

The Intel FPGA streaming video protocol allows you to transfer a variety of video data following the AXI4-Stream protocol signals.
Table 1.  Protocol Signals
Signal Description

Set TDATA width according to need. The minimum allowable width of TDATA on all IP interfaces is 16 bits. The width of TDATA is byte aligned (i.e. multiple of 8). Systems that require smaller TDATA interfaces must pad their data. The TKEEP and TSTRB signals are unused, so every byte of TDATA is valid (no empty pixels). You deduce the exact length of a video packet from the image dimensions.


Sized as 1 bit per byte of TDATA.

Strobe TUSER[0] high for the first beat of a frame (or interlaced field) of video and drive low for subsequent packet beats.. For full variants, strobe TUSER[1] for the first beat of a packet to indicate whether it carries control or data information and drive low for subsequent packet beats.. For lite variants, IPs use TUSER[1] for interlaced video to indicate fields of type F1. TUSER[1] must remain high for the remainder of the field. The IP should drive low the other bits of TUSER.

The protocol transmits each line of video as one AXI4-S packet. TLAST strobes high to indicate the last beat of the packet. TLAST is always coincident with the last pixel of the line..

TREADY and TVALID Indicate the valid cycles on the bus.
TID The TID data stream identifier is unused.
TDEST The TDEST routing information signal is unused.
TSTRB The TSTRB byte qualifier is unused. All bytes are valid in the protocol.
TKEEP The TKEEP byte qualifier is unused. The protocol has no null bytes.

The TDATA bus carries either pixel data or other information. The TDATA width depends on the color depth, color space, and number of pixels in parallel (PIP).

TDATA byte width is the width of one pixel in bytes multiplied by the number of pixels in parallel.

The width of one pixel, in bytes, is the number of bits per color symbol (BPS) multiplied by the number of color symbols per pixel (SYM), rounded to the next byte. If the width is less than 16 bits, round it to 16 bits.

TDATA byte width = max(2, ceil ((BPS × SYM)/8)) × PIP

The TUSER bus must be TDATA/8 bits wide (and at least 2 bits wide to match the minimum TDATA width of 16 bits).

The TLAST signal indicates the end of a packet.

TDATA, TUSER and TLAST are undefined when TVALID is low.