Acceleration cards supported in Vitis technology provide one, two, or four DDR banks, and up to 80 GB/s raw DDR bandwidth. For kernels moving large amount of data between the FPGA and the DDR, Xilinx® recommends that you direct the Vitis compiler and runtime library to use multiple DDR banks.
In addition to DDR banks, the host application can access PLRAM to
transfer data directly to a kernel. This feature is enabled using the connnectivity.sp
option in a configuration file specified
with the v++ --config
option. Refer to Mapping Kernel Ports to Memory for more information on implementing this optimization
and Memory Mapped Interfaces on data transfer to the global memory banks.
To take advantage of multiple DDR banks, you need to assign CL memory
buffers to different banks in the host code as well as configure the xclbin file to match the bank assignment in v++
command line.
The following block diagram shows the Global Memory Two Banks (C) example in Vitis Examples on GitHub. This example connects the input pointer interface of the kernel to DDR bank 0, and the output pointer interface to DDR bank 1.