2XAPP098 November 13, 1998 (Version 1.0)
Steps in the Configuration Process
The Slave Serial mode consists of four steps:1. Clearing Configuration Memory2. Initialization3. Configuration4. Start-Up
Let’s have a look at each of these steps so that we mayunderstand how the nine configuration signals worktogether to program a Spartan device. Refer to the Spartandatasheet for more details.
Clearing Configuration Memory
On power-up, once V
reaches the Power-On-Resetthreshold, the device automatically begins clearing the con-figuration memory. It is also possible to begin the clearingoperation by applying a Low-level pulse to the PROGRAMinput.This line makes
possible at any time duringdevice operation. It is particularly useful when the controllerneeds to initiate Spartan configuration at a specific point inthe power-up sequence.As long as PROGRAM is Low, the device continues tocycle through the clearing step. After each pass throughthe configuration memory, PROGRAM is sampled. If PRO-GRAM is High, then one last clearing pass takes place,which concludes with a Low-to-High transition on INIT.Do not hold PROGRAM LOW for more than 500
s. There-fore, PROGRAM should not be used to delay the configu-ration process for periods of this magnitude. Hold INIT Lowinstead.
Since INIT is an open-drain output, it requires a pull-upresistor to achieve a High level. Now that INIT has goneHigh, the internal memory is completely clear. At this point,the device identifies the selected configuration mode bysampling the level on the mode pins, after which it activatesthe appropriate configuration logic. The device is ready tobegin the configuration step. Note that holding INIT Lowcan be used to delay the entry to the configuration step.To select slave serial mode (which is required for theapproach discussed in this application note) for the Spartanfamily, the MODE pin is tied High; for the SpartanXL family,the M0 and M1 pins are tied High.
After INIT goes High, it is necessary for the controller towait for a period
s before drivingthe CCLK input with the clock signal that transfers the bit-stream.DIN is the input for serial configuration data. DOUT is usedwhen more than one device is connected in a daisy chain.SeeFigure2for an example. The bitstream, having filledthe first device in the chain, will exit its DOUT line, whichleads to the DIN line of the next device where configurationcontinues. The data exiting DOUT is clocked on the fallingedge of CCLK. The data entering DIN is clocked on the ris-ing edge of CCLK as shown inFigure1. The clock oscilla-tor internal to the device is not used in Slave Serial Mode totransfer data; it is only used during Initialization.
The Start-Up step provides a smooth transition from config-uration to user operation. Three major events occur duringStart-Up: The DONE output goes High, the I/Os go activeand the GSR (Global Set/Reset) Net is released. Start-Uptakes place over a period of four cycles labeled C1, C2, C3and C4. Options in
, the bitstream generation pro-gram in the Xilinx development software, determine whichevent takes place in which cycle. The menu for theseoptions can be located as follows:
Table 1: Signals for Spartan ConfigurationSignal TypeDirectionDescriptionMODE (Spartan)M0, M1 (SpartanXL)
Mode selectInputTo select Slave Serial mode on Spartan devices, tie ModeHigh; on SpartanXL devices, tie both M0 and M1 High.
DataInputWrite configuration data into the Spartan device
DataOutputRead configuration data from the Spartan device
ClockInputSynchronizes data on the rising edge
ControlInputBegin clearing the Spartan configuration memory
StatusOpen-drain outputA transition from Low to High indicates that the Spartan con-figuration memory is clear and ready to receive the bitstream
StatusOpen-drain outputA High indicates that the configuration process is complete
StatusOutputHigh throughout configuration, until the I/Os go active
StatusOutputLow throughout configuration, until the I/Os go active