The Xilinx peripheral protection unit (XPPU) protects the system addressable programming registers from erroneous application software and misbehaving hardware interfaces. Erroneous software includes malicious and unintentional code that corrupts system register settings or causes system failures. Misbehaving hardware includes incorrect device configuration, malicious functionality, or unintentional design.
There are several XPPU in the LPD and PMC for register programming:
- PMC main switch to APB programming interfaces (PMC_XPPU)
- PMC main switch to NPI control unit that accesses the NPI programming interfaces (PMC_XPPU_NPI)
- LPD main switch to APB programming interfaces (LPD_XPPU)
The XPPUs are identified in the system PMC-PS-CPM Interconnect Diagram.
The XPPU looks at several transaction attributes to determine if the transaction should be allowed to proceed normally. The attributes include the 44-bit physical address, the AxPROT security bit, and the system management ID (SMID) bits that are encoded in the AxUSER command signals. These attributes are used to restrict the access to memory mapped peripheral interfaces.