Generating a Programmable Device Image (PDI) on Spartan UltraScale+ FPGAs - 2025.2 English - UG908

Vivado Design Suite User Guide: Programming and Debugging (UG908)

Document ID
UG908
Release Date
2025-11-20
Version
2025.2 English

Spartan UltraScale+ devices use the Programmable Device Image (PDI) format. To generate a Spartan UltraScale+ PDI, you must use the standalone Bootgen command line tool (installed with Vivado) instead of a Tcl command.

You can find more information on bootgen and the Spartan UltraScale PDI format in the Bootgen User Guide (UG1283) and the Spartan UltraScale+ FPGAs Configuration User Guide (UG860).

When you see references in this document to the Tcl commands write_bitstream or write_device_image replace them with the following steps:

  1. The write_bitstream Tcl command.
  2. The bootgen command to create the PDI.

Generating a PDI in Vivado Project Mode:

  • In GUI mode, click Generate Device Image in the Flow Navigator. This generates a complete PDI in the runs directory.
  • In Tcl mode, execute the launch_runs -to_step write_bitstream Tcl command to launch the run through to the PDI generation step. This also generates a complete PDI in the runs directory.

Generating a PDI in Non-Project Mode:

In non-project mode, Bootgen does not run automatically so it is a requirement to execute Bootgen on the Vivado generated files.

  1. With the implemented design checkpoint open, run the write_bitstream Tcl command. In the working directory write_bitstream creates the bitstream (.bit), Boot Image Format (.bif), and any additional files needed as input to the Bootgen tool to create a complete PDI.
  2. In a new terminal in the same directory as the .bif file, run the following command with the correct file name for the Vivado-generated .bif and the desired PDI name.

bootgen -image <vivado_generated_bif>.bif -arch spartanuplus -o <pdi_name>.pdi

The resulting PDI from either flow programs the Spartan UltraScale+ device.