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

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

Document ID
UG908
Release Date
2025-05-29
Version
2025.1 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.

More information on bootgen and the Spartan UltraScale PDI format can be found 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 will generate 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 will also generate a complete PDI in the runs directory.

Generating a PDI in Non-Project Mode:

In non-project mode, bootgen will not be 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 will create 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 .bif generated by Vivado and the desired PDI name.

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

The resulting PDI from either flow can be used to program the Spartan UltraScale+ device.