IPROG - IPROG - UG570

UltraScale Architecture Configuration User Guide (UG570)

Document ID
UG570
Release Date
2025-03-04
Revision
1.20.1 English

The internal PROGRAM (IPROG) command is a subset of the functionality of pulsing the PROGRAM_B pin. The fundamental difference is that the IPROG command does not erase the WBSTAR, TIMER, BSPI, and BOOTSTS registers used to initiate MultiBoot and fallback. The IPROG command triggers an initialization, and both INIT and DONE go Low when the IPROG command is issued followed by an attempt to configure.

This command can be issued one of two ways. In the first way, the IPROG command can be issued through the ICAP, which is controlled by user logic. This allows user logic to initiate device reconfiguration. In the second way, the IPROG command can be embedded during bitstream generation. In this scenario, the WBSTAR and IPROG commands are set at the beginning of the golden bit file. At power-up, the device starts reading the BIT file from the flash and reads in the WBSTAR register and IPROG command. The IPROG command triggers the device to reload from the address specified. If there is an issue with the upper image, the base address is loaded again. Now, the IPROG command is skipped by the configuration controller because the device saw an error. A fallback condition blocks the IPROG command from being processed, and the device continues to load the golden image. After a successful configuration, the IPROG command can be issued to the device, which enables the golden image to trigger configuration from a MultiBoot image.