AI Engine Development

See Vitis™ Development Environment on xilinx.com
See Vitis-AI™ Development Environment on xilinx.com

Migrate Command-Line Based Projects to Vitis IDE

This section documents the necessary steps to migrate command-line based projects to Vitis™ IDE.

Step 1. Create project

Step 2. Import project source code

Step 3. Configure project

Step 3.1. Configure AI Engine sub-project

Step 3.2. Configure hardware link

Step 3.3. Configure hardware kernels

Step 3.4. Configure PS sub-project

Step 4. Configure system project in packaging options

Step 1. Create project

Launch Vitis IDE by issuing the command, vitis.

missing image

missing image

missing image

missing image

After the previously listed steps are completed, the created system project is expected to have AI Engine and hardware link sub-projects.

missing image

Then we need to create PS and PL sub-projects under system project.

missing image

missing image

Fill in sysroot, rootfs, and image information for PS application.

missing image

Select “Empty Application” under “Acceleration templates with PL and AIE accelerators” for PS sub-project. After the previously listed steps are completed, you should have AI Engine, PS, PL and hardware link sub-projects under system project.

missing image

Step 2. Import project source code

Import source code for AI Engine sub-projects.

missing image

missing image

Continue to import source code/data for PS, PL, and hardware link sub-projects.

Note: If the PS sub-project requires defer-aie-run option in packaging, aie_control_xrt.cpp is required to be imported in the PS sub-project.

Step 3. Configure project

Step 3.1. Configure AI Engine sub-project

Configure top level graph. missing image

Configure include paths.

missing image

missing image

Step 3.3. Configure hardware kernels

Add hardware functions to project.

missing image

Note: If hardware functions are inside the graph, check mark “PL Kernel in AIE Graph” from this configuration.

Configure number of instances for each PL kernel. missing image

Update (comment out) nk=kernel:1:kernel_n line from the system.cfg file. This is because the Vitis IDE relies on the previous step to determine the number of instances for each PL kernel. Redundant configuration of number of kernels in system.cfg results compilation errors. missing image

Step 3.4. Configure PS sub-project

missing image

Configure PS application include paths.

missing image

Configure PS application link libraries.

missing image

Step 4. Configure system project in packaging options

missing image

Note: This configuration is optional and depends on the design.

  1. If initialize is required, run, and end from PS, then use the --package.defer_aie_run option.

  2. If data files need to be packaged to the sd_card, then use the --package.sd_dir ${PROJECT_PATH}/data option.

License

Licensed under the Apache License, Version 2.0 (the “License); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an “AS IS” BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

XD005 | © Copyright 2021 Xilinx, Inc.