Xilinx Memory Protection Unit

Versal ACAP Technical Reference Manual (AM011)

Document ID
AM011
Release Date
2022-04-26
Revision
1.4 English

The Xilinx memory protection unit (XMPU) verifies that a transaction is explicitly allowed to access a memory address. The XMPU is a region-based memory protection unit. This section describes the XMPU in detail, including configuration and functionality.

System protection is applied to incoming AXI transaction requests. The transaction is checked for:

  • System management identification (SMID)
  • TrustZone secure or non-secure (NS)
  • Read or write access type

XMPUs appear on the slave interconnect ports:

  • PMC_XMPU on IOP flash and CFU
  • OCM_XMPU for the OCM memory
  • FPD_XMPU on slaves
  • Accelerator RAM (when present), with an XMPU on each of the four AXI ports
  • DDR memory controller ports; one per controller

The XMPUs are shown in the system block diagram PMC-PS-CPM Interconnect Diagram.

Use Case Example

In this system protection use case, the RPU runs a safety application where a certain region of the OCM might be required to be protected and dedicated for use by the RPU. To accomplish these requirements, the following are required:

  • RPU generates secure transactions
  • XMPU can protect a region of the OCM for exclusive use by the RPU and makes the rest of memory available for use by allowed others