Versal® devices require a user supplied device image that will be used to boot the device during the configuration memory programming process. This can be the design PDI but in some cases, such as when a different controller option is desired, a different PDI can be used for this initial boot process.
- Create a new Vivado® project targeting the desired Versal device to be used during memory device configuration.
- Once the project has been created, create a new block design by clicking IP INTEGRATOR → Create Block Design.
- Click + icon to add a new IP to the IP Integrator Canvas and search for the Control, Interfaces & Processing System. Add an instance of the Control, Interfaces & Processing System IP to the IP Integrator canvas.
- Double click on the Control,
Interfaces & Processing System IP to configure options in
the PS PMC. At this point, the desired controller options to be used in the
Initialization PDI should be configured. For example, to use QSPI x4 during
configuration memory device programming, the following could be set.
Note: The options set in the Initialization PDI will only be used during the configuration memory device programming steps and do not carry over to the design programmed into the configuration memory device.
- After configuration is complete in the Control, Interfaces & Processing System IP, run block design validation then save the block design. Return to the Project Navigator by clicking on PROJECT MANAGER in the Flow Navigator and right-click on the newly created block design in the sources pane. Select Create HDL Wrapper and select Let Vivado Manage wrapper and auto-update.
- In the Flow Navigator, select PROGRAM
AND DEBUG → Generate Device Image to create the PDI. Note: The PDI created during this step will be the Initialization PDI to be used during the configuration memory programming process.
- The Initialization PDI has been created and should be saved for use during the configuration memory programming process later in this guide.