Non-continuous data loading is used in applications where the configuration controller cannot provide an uninterrupted stream of configuration data-for example, if the controller pauses configuration while it fetches additional data.
Configuration can be paused in two ways: by
deasserting the CSI_B signal (Free-Running CCLK method, see the following figure) or by halting
CCLK (Controlled CCLK method, see the subsequent figure). For encrypted bitstreams using an
obfuscated key with the SelectMAP or ICAP interface, do not pause bitstream loading by
temporary de-assertion of the configuration interface chip-select (CSI_B). Instead, keep CSI_B asserted and stop the CCLK to pause
bitstream loading. See answer record 73656 for details.
Notes relevant to the previous figure:
-
RDWR_Bis driven Low by the user, setting theD[n:00]pins as inputs for configuration.RDWR_Bcan be tied Low if readback is not needed.RDWR_Bshould not be toggled afterCSI_Bhas been asserted because this triggers an ABORT on the nextCCLK. - The device is ready for configuration after
INIT_Bgoes High. - A byte is loaded on the rising
CCLKedge. The data bus can be x8, x16, or x32 wide (for slave SelectMAP). - A byte is loaded on the rising
CCLKedge. - The user deasserts
CSI_B, and the byte is ignored. - The user deasserts
CSI_B, and the byte is ignored. - A byte is loaded on the rising
CCLKedge. - A byte is loaded on the rising
CCLKedge. - The user deasserts
CSI_B, and the byte is ignored. - A byte is loaded on the rising
CCLKedge. - A byte is loaded on the rising
CCLKedge. - A byte is loaded on the rising
CCLKedge.
Notes relevant to the previous figure:
- The Data pins are in the High-Z state while
CSI_Bis deasserted. The data bus can be x8, x16, or x32 (for slave SelectMAP). - RDWR_B has no effect on the device while
CSI_Bis deasserted. -
CSI_Bis asserted by the user. The device begins loading configuration data on risingCCLKedges. - A byte is loaded on the rising
CCLKedge. - A byte is loaded on the rising
CCLKedge. - A byte is loaded on the rising
CCLKedge.