Developing PL Kernels with Vitis HLS - 2020.2 English

Versal ACAP Design Guide (UG1273)

Document ID
Release Date
2020.2 English

PL kernels can be developed using C/C++ code and the Vitis HLS tool. The Vitis HLS tool simplifies the use of C/C++ functions for implementation as PL kernels in the Vitis application acceleration development flow.

The Vitis HLS tool automates much of the code modifications required to implement and optimize the C/C++ code in programmable logic and to achieve low latency and high throughput. The Vitis HLS tool allows inference of required pragmas to produce the right interface for your function arguments and to pipeline loops and functions within your code.

Note: Although HLS development is done outside of the AI Engine tool environment, it is possible to optionally include HLS kernels in the AI Engine graph C++ specification.

The Vitis HLS design flow includes the following main steps:

  1. Compile, simulate, and debug the C/C++ algorithm.
  2. View reports to analyze and optimize the design.
  3. Synthesize the C algorithm into an RTL design.
  4. Verify the RTL implementation using the Vitis HLS co-simulation flow.
  5. Compile the RTL implementation into a compiled object file (.xo), or export to an RTL IP.

For more information, see the Vitis HLS Documentation in the Application Acceleration Development flow of the Vitis Unified Software Platform Documentation (UG1416).