############################################## Vitis HLS ##############################################
Generating Vivado IP from C/C++ code
Vitis HLS can also be used to generate Vivado IP from C/C++ code, but that flow is not the subject of this tutorial. Although similar, there are some significant differences between producing Vitis XO kernels and Vivado RTL IP. However, you can use this tutorial as a general introduction to the Vitis HLS tool.
Vitis High-Level Synthesis (HLS) is a key part of the Vitis application acceleration development flow. The tool is responsible for compiling C/C++ and OpenCL code into a kernel for acceleration in the programmable logic (PL) region of Xilinx devices. Thus, it is the tool that compiles the hardware kernels for the Vitis tools by performing high-level synthesis.
In this tutorial, you will work through the Vitis HLS tool GUI to build, analyze, and optimize a hardware kernel. You are working through the Vitis kernel flow in the Vitis tool. For more information, refer to Enabling the Vitis Kernel Flow in the Vitis HLS Flow of the Vitis Unified Software Platform Documentation (UG1416).
The labs in this tutorial use:
- BASH Linux shell commands.
- 2021.1 Vitis core development kit release and the xilinx_u200_gen3x16_xdma_1_202110_1 platform. If necessary, it can be easily ported to other versions and platforms.
Warning
Before you run any examples
- Before running any of the examples, make sure you have installed the Vitis core development kit as described in Installation in the Application Acceleration Development flow of the Vitis Unified Software Platform Documentation (UG1416).
- If you run applications on the Xilinx® Alveo™ Data Center accelerator cards, ensure the card and software drivers have been correctly installed by following the instructions To complete installation, follow the instructions on the Alveo Product Documentation tab.
To configure the environment to run Vitis, run the following scripts which set up the environment to run in a specific command shell.
source <Vitis_install_path>/Vitis/2021.1/settings64.sh
source /opt/xilinx/xrt/setup.sh
Note
.csh
scripts are also provided, but this tutorial assumes a bash shell is used.
To specify the location of any Data-Center or Embedded platforms you have installed, set the following environment variable:
export PLATFORM_REPO_PATHS=<path to platforms>
Note
On some Ubuntu distributions, to properly set up Vitis, you must also export LIBRARY_PATH
.
export LIBRARY_PATH=/usr/lib/x86_64-linux-gnu
- To access the reference files, type the following into a terminal:
git clone https://github.com/Xilinx/Vitis-Tutorials
. - Navigate to the
Getting_Started/Vitis_HLS
directory, and then access thereference-files
directory.
.. toctree:: :maxdepth: 3 Creating a Vitis HLS Project <./new_project> Running High-Level Synthesis and Analyzing Results <./synth_and_analysis> Using Optimization Techniques <./optimization_techniques> Reviewing the DATAFLOW Optimization <./dataflow_design>