Versal ACAP Platform Management Software Architecture - 2021.1 English

Versal ACAP System Software Developers Guide (UG1304)

Document ID
UG1304
Release Date
2021-06-16
Version
2021.1 English

The Versal ACAP architecture employs a dedicated programmable unit that controls the power-up, power-down, and monitors of all system resources. You benefit from a system that is better equipped on handling platform management administration for a multiprocessor heterogeneous system. However, the system becomes more complex to operate. The platform management framework abstracts this complexity and exposes only the APIs you need to meet your power budget and efficiently manage resources.

The PMC hardware/domain has two MicroBlaze units. The ROM Code Unit (RCU) is a MicroBlaze unit that runs the BootROM, while the processing unit (PPU) runs the PLM from the PPU RAM.

Outside of the two PMC domains, there is a PS LPD block and a domain processing system manager (PSM) MicroBlaze processor that is stored in the PSM RAM. The PSM is a MicroBlaze processor in the LPD domain that controls the power islands.

Based on CDOs passed to it, the PLM builds and adds a topology of resources to its platform management framework. The platform management framework manages resources such as power domains, power islands, clocks, resets, pins and their relationship to CPU cores, memory, and peripheral devices.

Figure 1. Platform Management Framework

The Versal ACAP platform management framework is based on an implementation of EEMI (refer to the Embedded Energy Management Interface EEMI API Reference Guide (UG1200). APIs are available to the processing units to send messages to the PLM, as well as callback functions for the PLM to send messages to the processing units.

EEMI provides a common API that allows all software components to manage cores and peripherals. For power management, EEMI allows you to specify a high-level management goal, such as suspending a complex processor cluster or just a single core. The underlying implementation is then free to autonomously implement an optimal power-saving approach.

The Linux device tree provides a common description format for each device and its power characteristics. Linux also provides basic power management capabilities such as CPU and clock frequency scaling, and CPU hot-plugging. The kernel relies on the underlining APIs to execute power management decisions.

You can create your own platform management applications using the XilPM client library, which provides access to more than 24 APIs. The APIs can be grouped into the following functional categories:

  • Slave device power management, such as memories and peripherals
  • Clock management
  • Reset management
  • Pin management
  • Miscellaneous

The following figure illustrates the API-based platform management software architecture.

Figure 2. API-Based Platform Management Software Architecture