Video and Vision Processing Suite Intel® FPGA IP User Guide

ID 683329
Date 12/12/2022

A newer version of this document is available. Customers should click here to go to the newest version.

Document Table of Contents
1. About the Video and Vision Processing Suite 2. Getting Started with the Video and Vision Processing IPs 3. Video and Vision Processing IPs Functional Description 4. Video and Vision Processing IP Interfaces 5. Video and Vision Processing IP Registers 6. Video and Vision Processing IPs Software Programming Model 7. Protocol Converter Intel® FPGA IP 8. 3D LUT Intel® FPGA IP 9. AXI-Stream Broadcaster Intel® FPGA IP 10. Chroma Key Intel® FPGA IP 11. Chroma Resampler Intel® FPGA IP 12. Clipper Intel® FPGA IP 13. Clocked Video Input Intel® FPGA IP 14. Clocked Video to Full-Raster Converter Intel® FPGA IP 15. Clocked Video Output Intel® FPGA IP 16. Color Space Converter Intel® FPGA IP 17. Deinterlacer Intel® FPGA IP 18. FIR Filter Intel® FPGA IP 19. Frame Cleaner Intel® FPGA IP 20. Full-Raster to Clocked Video Converter Intel® FPGA IP 21. Full-Raster to Streaming Converter Intel® FPGA IP 22. Genlock Controller Intel® FPGA IP 23. Generic Crosspoint Intel® FPGA IP 24. Genlock Signal Router Intel® FPGA IP 25. Guard Bands Intel® FPGA IP 26. Interlacer Intel® FPGA IP 27. Mixer Intel® FPGA IP 28. Pixels in Parallel Converter Intel® FPGA IP 29. Scaler Intel® FPGA IP 30. Stream Cleaner Intel® FPGA IP 31. Switch Intel® FPGA IP 32. Tone Mapping Operator Intel® FPGA IP 33. Test Pattern Generator Intel® FPGA IP 34. Video Frame Buffer Intel® FPGA IP 35. Video Streaming FIFO Intel® FPGA IP 36. Video Timing Generator Intel® FPGA IP 37. Warp Intel® FPGA IP 38. Design Security 39. Document Revision History for Video and Vision Processing Suite User Guide

5. Video and Vision Processing IP Registers

Each IP has an optional memory-mapped control agent interface. When you turn Memory-mapped control interface on in the GUI, the interface connects to your host processor via an Avalon memory-mapped host interface (or via an AXI4 memory-mapped bus through conversion in Platform Designer). It provides a unified method of controlling the IPs.

Every IP has a standard address map when you turn on Memory-mapped control interface. If you turn off Memory-mapped control interface, the IP always processes video data when it is available.

Generally, video and vision processing IP register maps have these distinctive areas:

  • A common area, which contains parameterization information. You can read from IPs to determine their parameters, which allows portability of software and binaries between different video and vision processing platforms.
  • An IP-specific video and vision processing area, which contains functional configuration information for the specific IP.
  • An optional control and debug register area, which allows you to write video field information in lite variants, read video field information in full variants, and to perform other control functions.

Control interfaces use Avalon memory-mapped interfaces. Platform Designer natively supports AXI4-Lite protocols and can automatically adapt to and from Avalon memory-mapped interfaces. Memory interfaces also use Avalon memory-mapped interfaces.

Table 8.  Register Map for Full Variant Video and Vision Processing IPsWith some exceptions (for example coefficient banks) in lite variants, register writes usually take effect at the start of the next field.
Address Register
Parameterization Registers
0x0000 VID_ID
0x0004 VERSION
0x0008 to 0x00FF IP-specific parameterization registers.
0x0100 to 0x011F Reserved for future use.

Reserved for optional Control and debug registers

0x012C Reserved for future use.
IP-specific registers
Read-only registers
0x0140 STATUS
0x0144 to RW_BASE Optional additional read-only registers
Read-write registers
RW_BASE Optional COMMIT register
RW_BASE+4 onwards Optional additional read-write registers

Parameterization registers

The parameterization registers address space occupies from the base address of the IP to a maximum address of 0x011F. The first two registers in this section are the product ID and version registers, so you can identify the IP and the structure of its register map.

The next registers are an optional set of further parameterization information which IPs may populate to inform software on how to control the IP.

For example, a clipper describes clipping using either offsets from the edge of the video or using a top-left corner offset with required height and width. Control software can interrogate the clipper’s parameterization registers to determine which is correct and drive clipping control register accesses accordingly. You can use the same control software across different video pipeline configurations.

The parameterization registers section is followed by an unused area from 0x0100 to 0x011F.

Control and debug registers

You control the IPs in two ways:

  • Provide the input video field information. For example the type of video packets you send to the IP with respect to height, width, or interlacing.
  • Instruct the IP. For example which clipper offsets, mixer offsets, or scaling behavior to apply.

Full variants send image information packets down the video processing pipeline to communicate video field information. Image information packets handle the communication of any resolution changes to downstream IPs. You can control IP functions for full variants via the IP-specific registers.

Communicate video field information and control IP functions for lite variants via the control and IP-specific registers, using the register interface.

Registers 0x0120 to 0x0138 (IMG_INFO_WIDTH to IMG_INFO_COSITING) are the image information registers. For lite variants, write to these to set the dimensions and properties of incoming video fields. For full variants, ignore these registers. However, if you turn on debug features, you can read these registers to retrieve details of the image information fields that the IP receives via the last received image information packet.

Register 0x013C is the IMG_INFO_FIELD_COUNT register. Read this register for full variants when you turn on Debug features for the field count field of the last received image information packet.

Register 0x0140 is the STATUS register. IPs hold the LSB of this register high while they process video packets. The LSB returns low in-between video fields. For full variants, bit 1 of this register is the pending register updates bit. The IP sets this bit when you make writes to the IP's register map. The IP automatically clears this bit.

The COMMIT register is at address RW_BASE or later. Write to this register after writing new values to any of the registers in the IP-specific portion of the address map. The IP sets the pending register updates bit of the STATUS register in response and clears it when the new settings take effect.

IP-specific registers

This section of the register map is different for every IP and comprises read and write registers required to control the IP, such as clipping, mixing offsets, color space, or scaling coefficients.

IPs without a memory-mapped control interface

If you turn off Memory-mapped control interface, the IP always processes video data when it is available.