AN 824: Intel® FPGA SDK for OpenCL™ Board Support Package Floorplan Optimization Guide

ID 683312
Date 8/08/2017
Public

Guidelines for Maximum Operating Frequency

Maximum operating frequency (fmax) achieved by kernels largely depends on FPGA speed since most of the IPs should already be optimized . However, there might be some fmax loses depending on the BSP floorplan. For example, usually the number of cut-outs in the kernel region of BSP affects kernel fmax.
As illustrated in the following figure, to acquire the best base seed that yields the best average fmax:
  1. Perform a seed sweep on the base compilation instead of selecting the first base seed that meets the timing.
  2. Perform import compilation (by using few kernels from the example designs) on all the passing base seeds.
  3. Compute the average fmax for all base seeds.
  4. Select the base seed that yields the highest average fmax.
The base seed with the best average fmax is a good candidate for release with BSP. If you decide to follow an approach different than the recommended steps, you might observe 5-10% variation in the fmax of the kernel import compilation process.
Figure 2. Identifying the Best Base Seed
Tip:
  • To understand how fast the kernel can run without floorplan restrictions:
    1. Perform a flat compilation of the kernel and observe the fmax.
    2. Perform an import compilation on the same kernel and observe the fmax.
    3. Compare fmax results.
    Due to the floorplan restrictions, import compile fmax is always lower than flat compile fmax. To avoid seed noise, compile the kernel with more base seeds and consider an average fmax while comparing fmax results.
  • Never compare kernel fmax from a base compilation with a flat or an import compilation. Kernel clock targets are relaxed during base compilation and hence, you will never obtain good results.
  • Observe the kernel clock critical path in base or import compilation. If the critical path is crossing from the kernel to the static region in the floorplan, change the floorplan or run few more base seeds to avoid this critical path.