Platforms - 2022.1 English

Versal ACAP AI Engine Programming Environment User Guide (UG1076)

Document ID
UG1076
Release Date
2022-05-25
Version
2022.1 English

A platform is a fully contained image that defines both the hardware (XSA) as well as the software (bare metal, Linux, or both). The XSA contains the hardware description of the platform, which is defined in the Vivado Design Suite, and the software is defined with the use of a bare-metal setup, or a Linux image defined through PetaLinux.

Types of Platforms

There are different types of platforms:
  • Base platform: A base platform is one that is provided by Xilinx (for example, the xilinx_vck190_base_202210_1) typically targeting Xilinx boards. If a platform is called a base platform, it is a static platform. For static platforms, the hardware link result contains the full bit configuration. During system boot, this full bit is loaded. When the host application executes the XCLBIN file, it only reads the metadata from XCLBIN.
  • DFX platform: A DFX platform can dynamically load a Kernel PL configuration during run time. When the system boots, only platform hardware is loaded. When the host application downloads the XCLBIN file, it runs partial reconfiguration for the DFX region and reads the metadata from XCLBIN. For example, the xilinx_vck190_base_dfx_202210_1 platform contains one DFX region that includes both AI Engine and PL Kernels.
  • Custom platform: A custom platform is one that you can create, either by extending or re-customizing a base or base DFX platform, or creating a new platform. When starting platform development, it can be useful to use a base platform or base DFX platform from Xilinx as a reference development platform to create your custom platform.

This chapter takes the base platform, for example, xilinx_vck190_base_202210_1, to show command usage. For targeting the DFX platform xilinx_vck190_base_dfx_202210_1, see Targeting the DFX Platform.

Custom Platforms

You can create platforms that can re-customize an existing base platform (for example, changing the AI Engine clock frequency, clocks available in the programmable logic (PL), changing memory controller settings) or create a new platform targeting Xilinx or non-Xilinx boards. Creating a platform allows you to provide your own IP or subsystems to meet your needs. The process to create a platform can be found in Creating Embedded Platforms in Vitis in the Vitis Unified Software Platform Documentation: Application Acceleration Development (UG1393).

Platform Clocking

Platforms have a variety of clocking: processor, PL, and AI Engine clocking. The following table explains the clocking for each.

Table 1. Platform Clocks
Clock Description
AI Engine Can be configured in the platform in the AI Engine IP.
Processor Can be configured in the platform in the CIPS IP.
Programmable Logic (PL) Can have multiple clocks and can be configured in the platform.
NoC Device dependent and can be configured in the platform in the CIPS and NoC IP.
  1. These clocks are derived from the platform and are affected by the device, speed grade and operating voltage.

For more information related to platform clocking, see Vitis Unified Software Platform Documentation: Application Acceleration Development (UG1393). For information on Versal device clocks, see Versal AI Core Series Data Sheet: DC and AC Switching Characteristics (DS957).