The platform management controller (PMC) uses a proprietary programmable device image (PDI) file format to boot and configure the AMD Versal™ adaptive SoC. The AMD Vivado™ /AMD Vitis™ development platform 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 Adaptive SoC 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 adaptive SoC 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 device 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 platform is capable of programming a PDI into the Versal device via JTAG and performing PDI verify. The Versal device 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 device. The Vivado/Vitis development platform 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 platform is used to initialize a Versal adaptive SoC. 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 containing:
- Low-power domain (LPD) CDO
- Full-power domain (FPD) CDO
- Processing system manager (PSM) ELF
- Programmable logic (PL) configuration frame interface (CFI) CDO
- Network on chip (NoC) programming interface (NPI) CDO
- 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 device elements for initial boot are illustrated in the following figure.