AR# 71209


UltraScale/UltraScale+ DDR4 IP - Performance Optimizations for High utilization of the DDR interface with heterogeneous traffic


This Performance Optimization strategy covers critical design considerations for all applications relying on a traffic pattern of read/write requests issued with very short bursts that impacts on the efficiency of the memory controller.

This includes but is not limited to Video applications using the DDR4 PL IP.

Video applications require a performance optimized memory controller to handle video application throughput and latency requirements. 

HEVC and AVC decoders will use a DDR memory accessing pattern that will severely limit the bandwidth/bus-utilization-efficiency of the Xilinx DDR4 controller. 

The Zynq UltraScale+ DDR4 PL (MIG) IP is not optimized for video applications, specifically HEVC/AVC codec applications which access DRAM in a block based raster scan order. 

In block based raster, read/write requests are issued with very short bursts that impact on the efficiency of the memory controller.

The memory controller efficiency is further reduced if the DRAM interface is designed with x16 components that limit available bank and bank group combinations to 8.

Implementing a DRAM interface with x8 components or dual die x16 components that enable 16 bank + bank group combinations allows users additional bandwidth by reducing the overhead associated with the Xilinx PL DDR4 IP's Group FSM logic.

Any memory address access pattern requiring short bursts or frequently switching bank address pins might benefit from this consideration.

If you are unsure if your DDR interface configuration will meet the system bandwidth targets, see (PG150), Chapter 7: Test Bench

For more information on the DDR4 IP architecture and how banks and bank groups impact overall efficiency see (PG150), Chapter 3: Group Machines, and Chapter 4: Performance.;v=latest;d=pg150-ultrascale-memory-ip.pdf



  1. Design the DRAM interface with DRAM components to enable access to 16 DRAM banks with 4 bank groups.
    Typically this is found with x8 and x4 components although dual die x16 packages exist.

  2. Use the Processing System (PS) based memory controller if bandwidth requirements are met

Note: See (Xilinx Answer 66938) for additional DDR4 restrictions when designing with Twin/Dual die components (x16).

Linked Answer Records

Master Answer Records

Answer Number Answer Title Version Found Version Resolved
58435 MIG UltraScale - IP Release Notes and Known Issues for Vivado 2014.1 and newer tool versions N/A N/A
AR# 71209
Date 08/17/2018
Status Active
Type General Article
Devices More Less
People Also Viewed