Adding a PL Kernel Project to the System - 2020.2 English

Versal ACAP AI Engine Programming Environment User Guide (UG1076)

Document ID
UG1076
Release Date
2020-11-24
Version
2020.2 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. Your PL kernel can be included as part of the graph or be outside the graph but connected to it. You need to create a PL application project and add it to your system project using the following process.
Tip: There is one difference when creating a PL project for a kernel that is inside the graph versus outside the graph. It is marked as Inside the AIE graph as described in the following section.
  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 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.
  5. If the PL kernel is defined inside the AI Engine graph, then you must also select the PL Kernel in AIE Graph check box in the Hardware Function section of the Project Editor window, as shown in the following figure. This tells the Vitis tool that the PL kernel is already defined in the graph and its connections do not need to be defined as described in Configuring the HW-Link Project.

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.