Programming Overview
UG0451 User Guide Revision 7.0 11
2.3 Programming Flow
The following steps summarize the SmartFusion2 and IGLOO2 programming flow:
1. Checks if the device ID matches with that of the file loaded. If yes, the device enters programming
mode.
Note: I/O settings are driven by the BSR during programming.
2. Checks if the security settings of the device matches with that of the programming bitstream. If yes,
the bitstream is authenticated.
3. The following operations occur while the SmartFusion2 and IGLOO2 programming bitstream is
processed:
a. Erases all the features selected (fabric, fabric configuration, and security) to be programmed.
eNVM is not erased; it is reprogrammed only when eNVM programming is selected.
b. If the custom security features are selected to be programmed, they are programmed before
programming the fabric and eNVM.
c. If the FPGA fabric is selected for programming in the bitstream, the fabric is programmed while
processing the bitstream. Verification is built into the programming. If programming is interrupted
or fails in the middle of bitstream, the device is not enabled. The fabric is enabled only after the
entire bitstream is successfully programmed.
Note: The programming action in STAPL provides an optional DO_VERIFY step. This is a separate verification
process that takes additional programming time. This is disabled by default.
d. If eNVM programming is selected, the eNVM blocks are programmed (X = 0,1, depending on the
die size). Verification is built into the eNVM programming.
e. Exits programming mode. I/O control is transferred from BSR to the fabric design.
Note: Upon completion of the programming, the system controller resets the entire device to implement the
new design. If the Cortex-M3 processor (SmartFusion2 only) is used to update the eNVM, the rest of the
device continues to operate.