Embedded System - 2024.1 English

Versal Adaptive SoC System and Solution Planning Methodology Guide (UG1504)

Document ID
Release Date
2024.1 English

An embedded system comprises the embedded processor in Versal devices and the acceleration logic built into the following hardware components: the traditional PL (LUTs, block RAMs, UltraRAMs, DSPs), Versal drivers, bare-metal/Linux BSPs, and PetaLinux/Yocto tools. For Versal devices, the embedded compute system comprises the Arm Cortex-A72 and Cortex-R5F processors. For this design type, the use models can range from a sophisticated embedded software stack to a simple bare-metal stack only required to support programming of the hardware units.

An embedded system design runs a software stack executed on the built-in embedded processor that serves as an overall control plane for the kernels running on the acceleration units. Data transfer is managed between the embedded processors and Versal devices by the Xilinx Runtime (XRT) application programming interfaces (APIs). These APIs also have function calls for managing the hardware units. For more information, see the XRT and Vitis Platform Overview in the XRT Documentation .

Note: XRT is a value-added software layer on top of the Linux system software that provides a specific acceleration programming model. But like Vivado, the Vitis hardware tools (that sit on top of Vivado) also support lower level traditional embedded software programming through the standard hardware handoff and drivers.
Figure 1. Embedded System