Intel® FPGA SDK for OpenCL™ Pro Edition: Programming Guide

ID 683846
Date 9/26/2022

A newer version of this document is available. Customers should click here to go to the newest version.

Document Table of Contents

7.26. Modifying the Handshaking Protocol (-hyper-optimized-handshaking)

To modify the handshaking protocol used in certain areas of your design, use the -hyper-optimized-handshaking=<auto|off> option in your aoc command.

The -hyper-optimized-handshaking option can be set to one of the following values:

The default behavior without the option specified. The compiler enables the optimization if it is possible to do so, else it sets it to off.
Use this value when you want to achieve a higher fmax. When you enable the optimization, the Intel® FPGA SDK for OpenCL™ Offline Compiler adds pipeline registers to the handshaking paths of the stallable nodes. As a result, you might observe higher fmax at the cost of increased area and latency.

Example: aoc -hyper-optimized-handshaking <your_kernel_filename>.cl

The compiler attempts to optimize for lower latency at the potential cost of lower fmax. Disabling hyper-optimized handshaking might also decrease area. This is useful for smaller designs where you are willing to give up fmax for typically lower latency and area.

Example: aoc -hyper-optimized-handshaking=off <your_kernel_filename>.cl

Remember: The -hyper-optimized-handshaking option applies only to designs targeting Intel® Stratix® 10. If you use this option on target devices other than Intel® Stratix® 10 devices, the compiler fails and produces an error.