Video and Vision Processing Suite Intel® FPGA IP User Guide

ID 683329
Date 9/30/2022
Public

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. Generic Crosspoint Intel® FPGA IP 23. Genlock Signal Router Intel® FPGA IP 24. Guard Bands Intel® FPGA IP 25. Interlacer Intel® FPGA IP 26. Mixer Intel® FPGA IP 27. Pixels in Parallel Converter Intel® FPGA IP 28. Scaler Intel® FPGA IP 29. Stream Cleaner Intel® FPGA IP 30. Switch Intel® FPGA IP 31. Tone Mapping Operator Intel® FPGA IP 32. Test Pattern Generator Intel® FPGA IP 33. Video Frame Buffer Intel® FPGA IP 34. Video Streaming FIFO Intel® FPGA IP 35. Video Timing Generator Intel® FPGA IP 36. Warp Intel® FPGA IP 37. Design Security 38. Document Revision History for Video and Vision Processing Suite User Guide

36.3.2. Warp IP Interfaces

The Warp IP has four functional interfaces.

The functional interfaces are:

  • Intel FPGA video stream input interface
  • Intel FPGA video stream output interface
  • Avalon Memory-Mapped compatible Processor interface
  • Avalon Memory-Mapped compatible memory interface

Avalon Memory-Mapped Processor interface

The Warp IP control interface uses a 32bit Avalon Memory-Mapped interface to access control registers.

Table 660.   Avalon Memory-Mapped Processor interface Signals
Signal name Direction Width Description
av_mm_control_agent_address Input 13 The byte address of the register being accessed.
av_mm_control_agent_write Input 1 Assert to indicate a write transfer.
av_mm_control_agent_byteenable Input 4 Enables one or more byte lanes during a write transfer.
av_mm_control_agent_writedata Input 32 Data for write transfers.
av_mm_control_agent_read Input 1 Assert to indicate a read transfer.
av_mm_control_agent_readdata Output 32 Data for read transfers.
av_mm_control_agent_readdatavalid Output 1 Asserted by the IP to indicate valid read data.
av_mm_control_agent_waitrequest Output 1 Asserted by the IP to indicate that the host must wait to complete the transfer.

Avalon Memory-Mapped Memory interface

The Warp IP memory interface uses a 512-bit Avalon Memory-Mapped interface to access external memory.

Signal name Direction Width Description
av_mm_memory_host_waitrequest Input 1 Asserted by the agent to indicate that the Warp IP must wait to complete the transfer.
av_mm_memory_host_readdata Input 512 Data for read transfers.
av_mm_memory_host_readdatavalid Input 1 Assert to indicate valid read data.
av_mm_memory_host_response Input 2 The response status of the agent.
av_mm_memory_host_burstcount Output 4 Indicates the number of transfers in each burst.
av_mm_memory_host_writedata Output 512 Data for write transfers.
av_mm_memory_host_address Output 32 The byte address of the memory location being accessed.
av_mm_memory_host_write Output 1 Asserted to indicate a write transfer.
av_mm_memory_host_read Output 1 Asserted to indicate a read transfer.
av_mm_memory_host_byteenable Output 64 Enables one or more byte lanes during a write transfer.
av_mm_memory_host_debugaccess Output 1 Not used by the Warp IP.

Clocking

The Warp IP has five clock domains, each with a corresponding reset. For the Intel Agilex family, the video and processing clock domains can run up to 600 MHz. The CPU and memory interface clock domains can run up to 500 MHz. For all other device families the clock domains run up to 300 MHz.

Table 661.  Clock Domains
Clock name Description
av_mm_control_agent_clock CPU interface clock domain
av_mm_memory_host_clock Memory interface clock domain
axi4s_vid_in_0_clock Input video stream clock domain
axi4s_vid_out_0_clock Output video stream clock domain
core_clock Processing engine clock domain

The CPU interface uses little bandwidth and does not impose a minimum clock frequency.

The video clock frequency depends on the video resolution and frame rate and the Warp IP’s number of pixels in parallel. For example, a 600 MHz clock at 1 pixel in parallel supports resolutions up to 3840x2160 at 60 fps. A 300 MHz clock at 2 pixels in parallel supports active video resolutions up to 3840x2160 at 60 fps. A 150 MHz clock at 1 pixel in parallel supports resolutions up to 1920x1080 at 60 fps.

All RTL-based blocks that transfer or receive data from a different clock domain include clock domain crossing (CDC) circuits for both, single bit and data bus signal cases. The CDC circuits safely allow exchange of data between the two asynchronous clock domains. The Warp IP includes an .sdc file to constrain these CDC paths.

Resets

Table 662.  Resets associated with clock domainsAll resets are synchronous active-high
Reset name Description
av_mm_control_agent_reset CPU interface clock domain reset.
av_mm_memory_host_reset Memory interface clock domain reset.
axi4s_vid_in_0_reset Input video stream clock domain reset.
axi4s_vid_out_0_reset Output video stream clock domain reset.
core_reset Processing engine(s) clock domain reset.

All the resets in the Warp IP are synchronous. Ensure that, when resetting the Warp IP, all clocks are active at the same time while you apply the resets.

Interrupts

Table 663.  Interrupt Signals
Signal Description
interrupt_irq

Active high interrupt triggered at the start of each output frame sent from the axi4s_vid_out_0 interface. The signal is synchronous to the av_mm_control_agent_clock domain.

Enable tinterrupt_irq using the interrupt control register and clear using the interrupt status register.