Step 3: Create HLS Components - 2023.2 English

Vitis Tutorials: AI Engine

Document ID
XD100
Release Date
2023-11-29
Version
2023.2 English

The AIE graph application you are working on requires two PL kernels to load data onto the device. These are the mm2s and s2mm kernels. You will create separate HLS components using the following steps:

  1. From the main menu select File > New Component > HLS

This opens the Create HLS Component wizard on the Name and Location page.

  1. Enter the Component name as mm2s, enter the Component location as the workspace (default), and click Next.

This opens the Configuration File page. The configuration file contains commands for building and running the HLS component as described in v++ Mode HLS. You can specify a new empty file, an existing config file, or generate a config file from an existing HLS project as described in Creating an HLS Component.

  1. Select Empty File and click Next.

This opens the Source Files page.

Unified IDE - HLS Sources

  1. Select the Add Files icon to open a file browser, navigate to <tutorial_path>/09-debug-walkthrough/cmd_src/pl_kernels/mm2s.cpp and select OK.

  2. Under the Top Function browse and select the mm2s function and click Next. Note that there are no testbenches for these kernels.

  3. On the Select Part page select the xilinx_vck190_base_20xxx0_1 platform and click Next to open the Settings page.

  4. On the Settings page select the Vitis Kernel Flow.

  5. Under the Clock settings specify 8ns for the Period, and 12% for the Uncertainty to override the default values. Click Next to open the Summary page.

  6. Review the Summary page and click Finish to create the defined HLS component.

Repeat the prior steps to create the s2mm HLS component.

In the vitis-comp.json for either the mm2s or s2mm HLS components, select the Config File link to open the hls_config.cfg file for the specific component. Examine the contents of the config file. It currently contains the part (defined by the platform), flow target, source cpp file and other options that you defined when creating the HLS component. Notice that most of the options fall under the [hls] header.