General Design Guidelines - 2.5 English

Video Frame Buffer Read and Video Frame Buffer Write LogiCORE IP Product Guide (PG278)

Document ID
PG278
Release Date
2023-10-19
Version
2.5 English

This section compares the differences between Video Frame Buffer Read and Video Frame Buffer Write IPs to the AXI Video Direct Memory Access IP core.

The AXI Video Direct Memory Access (VDMA) does not perform pixel packing or unpacking of data it reads and writes to and from memory. Data is written to memory as it is formatted on the AXIS_VIDEO_TDATA bus. This has the following consequences:

  • 8-bit RGB is written to memory as GBR.
  • YUV 4:2:2 over a three-component streaming interface is written to memory as three components although the third component does not contain any valid data.
  • YUV 4:2:0 is the same as YUV 4:2:2. This means 4:2:0 takes twice the bandwidth compared to separating out luma and chroma planes.
  • 10-bit formats are written differently to memory depending on pixels per clock. For example, with one pixel per clock, RGBX is written as:
    31:30 29:20 19:10 9:0
    X R B G

Whereas with two pixels per clock, RGBX is written as:

63:60 59:50 49:40 39:30 29:20 19:10 9:0
X R B G R B G

Video Frame Buffer Read and Video Frame Buffer Write IPs have some differences/limitations when compared to AXI VDMA. The following list highlights some key differences between Video Frame Buffer IP and AXI VDMA.

  • Video Frame Buffer Read and Video Frame Buffer Write cores support single channel read or single channel write, but never combined. The AXI VDMA supports combined read and write channels in one IP.
  • Because of the previous point, Video Frame Buffer Read and Video Frame Buffer Writecores do not use Genlock Synchronization (prevents reading and writing from and to one buffer). You should implement this in the software.
  • Video Frame Buffer Read and Video Frame Buffer Write cores currently only support 8 and 10 bits per component.
  • Video Frame Buffer Read and Video Frame Buffer Write cores do not allow for data realignment to the byte (8 bits) level. For example, the addresses must be aligned to multiples of memory mapped data width bytes.
  • Video Frame Buffer Read and Video Frame Buffer Write cores do not allow for explicit control of the size of the memory bus. If data width conversion is required, use an AXI interconnect IP.
Note: AMD recommends using the Video Frame Buffer Read and Video Frame Buffer Write for reading from or writing to memory when using Video IP such as the Video Processing Subsystem. For AMD Zynq™ UltraScale+™ MPSoC devices, the Video Codec Unit can properly encode and decode the video data in memory.