The platform management controller (PMC) uses a proprietary programmable device image (PDI) file format to boot and configure the Versal® ACAP. The Vivado® / Vitis™ development system generates the PDI. For more information on creating the PDI and composition, see the Bootgen User Guide (UG1283). For information on using PDI in a boot flow, see the Versal ACAP System Software Developers Guide (UG1304).
This chapter provides an overview of the PDI file format, including understanding how the range of possible PDI sizes for the Versal ACAP is essential for system architecture planning to ensure there is enough storage capacity for a user's PDI. The desired storage capacity guides the selection of the most appropriate Versal ACAP boot modes. For boot modes used with a non-volatile memory device, the desired storage capacity also guides the selection process of this additional component. The Vivado/Vitis development system is capable of programming a PDI into the Versal ACAP via JTAG and performing PDI verify. The Versal ACAP PDI verify operation ensures the PDI identification fields (image/node ID, unique ID, parent unique ID, and function ID) match the identification fields programmed in the Versal ACAP. The Vivado/Vitis development system can also erase, program, and verify a PDI image stored in supported Quad SPI, Octal SPI, and eMMC non-volatile memory devices. See the Vivado Design Suite User Guide: Programming and Debugging (UG908) for details.
Programmable Device Image
The PDI created by the Vivado/Vitis development system is used to initialize a Versal ACAP. The PDI can include these common elements:
- Boot header (includes image identification, platform loader and manager (PLM) partition size and offset, and other attributes)
- PLM executable and linkable format (ELF) (includes PPU execution code)
- Platform management controller (PMC) configuration data object (CDO) (includes topology, PMC initialization information, and LPD commands for block configuration)
- Meta header (describes organization of subsequent images and partitions )
- One or more images, each with one or more partitions
- Low-power domain (LPD) CDO
- Full-power domain (FPD) CDO
- Processing system manager (PSM) ELF
- Programmable logic (PL) configuration frame interface (CFI) information rCDO
- Network on chip (NoC) programming interface (NPI) information rNPI
- AI Engine programming (AI Engine) information CDO
- User code/data (U-Boot, OS image, application, file system)
The high-level organization of the PDI Versal ACAP elements for initial boot are illustrated in the following figure.