Adding a PL Kernel Project to the System - 2021.1 English

Versal ACAP AI Engine Programming Environment User Guide (UG1076)

Document ID
UG1076
Release Date
2021-07-19
Version
2021.1 English
After creating the AI Engine graph project, which also creates the top-level system project, and a hw-link project, you can create PL kernel projects to add your system. You need to create a PL application project and add it to your system project using the following process.
  1. In the Explorer view, select the top-level system project to create a new PL project to add to it. Right-click on the system project and select the Add Hw Kernel Project command, as shown in the following figure.

  2. This displays the Hw Kernel Project Details page of the New Vitis IDE Project wizard as shown in the following figure.

    Make sure the project is assigned to the existing system project, which also contains your AI Engine graph project. Specify the HW Kernel project name. Click Next to proceed.

  3. This creates the PL kernel project and adds it to the hierarchy of the top-level system project. Next you must add the source code for your kernel. In the Explorer view, select the src folder of the PL kernel and click the Import Sources command () to open the dialog box shown in the following figure.

    Browse to and select the necessary source files for your PL kernel. Click Finish to import the source files to your HW kernel project.

  4. With the source files added to the project, you must define the HW function to place into the PL region. In the Project Editor window, select the Add Hardware Function command () and specify the name of the function to implement in the PL region.
With the PL kernel project created and the HW function defined, you can build the kernel project for the Emulation-SW, Emulation-HW, or Hardware targets. You can build these targets directly in the PL kernel project or as part of building the top-level system project. The top-level project uses an incremental build approach that recognizes the state of the sub-projects and only rebuilds projects that need to be updated.