Versal ACAP Platform Management Software Architecture - 2020.2 English

Versal ACAP System Software Developers Guide (UG1304)

Document ID
Release Date
2020.2 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 consists of a PPU that runs the PLM. The PLM consists of several modules. One module, the XilPM server, implements a layer of the platform management framework. A second PPU MicroBlaze processor controls the PS management controller (PSM); PSM firmware is in charge of powering up and powering down power islands and power domains.

The PLM passes the topology of resources in the system to the platform management framework through CDOs. 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