AMD Versal™ devices require a user supplied device image that is 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 AMD 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 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 are used only 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 and save the block design. Return to the Project Navigator by clicking 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 is 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.