AI Engine for Machine Learning Development - 2023.2 English

Vitis Tutorials: AI Engine

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

The tutorials under the AI Engine for Machine Learning (AIE-ML) Development help you learn how to target, develop, and deploy advanced algorithms using a Versal AIE-ML array in conjunction with PL IP/kernels and software applications running on the embedded processors.

  • Feature Tutorials highlight specific features and flows that help develop AI Engine-ML applications.

  • Design Tutorials showcase the two major phases of AI Engine-ML application development: architecting the application and developing the kernels. Both phases are demonstrated in these tutorials.

Important

Before beginning a tutorial, ensure you have installed the Vitis 2023.2 software. The Vitis release includes all the embedded base platforms, including the VEK280 ES1 base platform that is used in these tutorials. In addition, ensure you have downloaded the Common Images for Embedded Vitis Platforms from Downloads.

The common image package contains a prebuilt Linux kernel and root file system that can be used with the AMD Versal™ board for embedded design development using the Vitis software platform.

Before starting a tutorial, run the following steps:

  1. Go to the directory where you have unzipped the Versal Common Image package.

  2. In a Bash shell, run the /Common Images Dir/xilinx-versal-common-v2023.2/environment-setup-cortexa72-cortexa53-xilinx-linux script. This script sets up the SDKTARGETSYSROOT and CXX variables. If the script is not present, you must run /Common Images Dir/xilinx-versal-common-v2023.2/sdk.sh.

  3. Set up your ROOTFS and IMAGE to point to the rootfs.ext4 and Image files located in the /Common Images Dir/xilinx-versal-common-v2023.2 directory.

  4. Set up your PLATFORM_REPO_PATHS environment variable to $XILINX_VITIS/base_platforms.

Note

These tutorials target VEK280 ES1 board or build custom board using ES devices, which are subject to a special license, please obtain a license for using Beta Devices in AMD tools, and make sure it’s enabled by executing enable_beta_device (or add it to the tools initial .tcl files).

Feature Tutorials

These tutorials target the VEK280 ES1 board. The table below lists the tutorials available, and the features and flows showcased in all of these tutorials. The various columns correspond to specific features/flows supported in these tutorials and will help you identify tutorials that showcase specific flows and features that you are interested in.

Feature Tutorials

Tutorial

Platform

OS

IDE Flow

Libraries Used

HLS Kernel

x86 simulator

aie simulator

SW Emu

HW Emu

HW

Event Trace in HW

Profile in HW

A to Z Bare-metal Flow

Custom

Baremetal

Vivado, Vitis IDE

MM2S / S2MM

Yes

Yes

Yes

Using GMIO with AIE

Base

Linux

Yes

Yes

Yes

Yes

Runtime Parameter Reconfiguration

Base

Linux

MM2S / S2MM

Yes

Yes

Yes

Packet Switching

Base

Linux

MM2S / S2MM

Yes

Yes

Yes

AIE Versal Integration

Base

Linux

CLI, Vitis Unified IDE

MM2S / S2MM

Yes

Yes

Yes

Yes

Yes

AIE Compiler Features

Base

Linux

MM2S / S2MM

Yes

Yes

Yes

Yes

Yes

Yes

Design Tutorials

These tutorials target the VEK280 ES1 board. The table below lists the tutorials available, and the features and flows showcased in all of these tutorials. The various columns correspond to specific features/flows supported in these tutorials and will help you identify tutorials that showcase specific flows and features that you are interested in.

Design Tutorials

Tutorial

Platform

OS

IDE Flow

Libraries Used

HLS Kernel

x86 simulator

aie simulator

SW Emu

HW Emu

HW

Event Trace in HW

Profile in HW

Versal Custom Thin Platform Extensible System

Custom

Linux

MM2S / S2MM / VADD

Yes

Yes

AIE-ML Programming

Base

Linux

Yes

Yes