The Vitis™ HLS tool allows users to easily create complex FPGA algorithms by synthesizing a C/C++ function into RTL. The Vitis HLS tool is tightly integrated with both the Vivado™ Design Suite for synthesis and place & route and the Vitis™ unified software platform for heterogenous system designs and applications.
Programming Model
Vitis™ HLS C code is geared towards taking advantage of the benefits and characteristics offered by the architecture of AMD FPGAs.
The Vitis HLS tool supports parallel programming constructs in order to model a desired implementation. These constructs include:
The Vitis HLS tool synthesizes different parts of C code differently:
C to RTL Synthesis
Simulation and Verification
The Vitis HLS tool has built-in simulation flows to enable faster verification times:
The output of the Vitis HLS tool is an RTL implementation that can be either packaged into a compiled object file (.xo) or exported to an RTL IP:
IP Export
New library function wizards tap into the AMD Vitis libraries github repo
Pragma for memory interface (ap_memory) can now bundle ports for AMD Vivado IP Integrator
New HLS component comparison displays side-by-side metrics for 2 or more components
Support for user-provider RTL code to replace a C++ function (black-box flow)
Code Analyzer can now disaggregate C++ struct members to fine-tune performance analysis
New user control for HLS global FSM encoding and selection of safe state
Access to Clang sanitizers during C-Simulation to perform address and initialization checks
*Based on testing on August 10, 2023, across 1000 Vitis L2/L3 code library designs, with Vitis HLS release 2023.2 vs. Vitis HLS 2023.1. System configuration during testing: Intel Xeon E5-2690 v4 @ 2.6GHz CPU, 256GB RAM, RedHat Enterprise Linux 8.6. Actual performance will vary. System manufacturers may vary configuration, yielding different results. -VGL-04
*The benchmark tests were performed on all 1208 Vitis L1 library C-code designs as of February 12th, 2023. All designs were run using a system with 2P Intel Xeon E5-2690 CPUs with CentOS Linux, SMT enabled, Turbo Boost disabled. Hardware configuration not expected to effect software test results. Results may vary based on software and firmware settings and configurations- VGL-03