R
XC4000E and XC4000X Series Field Programmable Gate Arrays
6-52
May 14, 1999 (Version 1.6)
The default option, and the most practical one, is for DONE
to go High rst, disconnecting the conguration data source
and avoiding any contention when the I/Os become active
one clock later. Reset/Set is then released another clock
period later to make sure that user-operation starts from
stable internal conditions. This is the most common
sequence, shown with heavy lines in
Figure 47, but the
designer can modify it to meet particular requirements.
Normally, the start-up sequence is controlled by the internal
device oscillator output (CCLK), which is asynchronous to
the system clock.
XC4000 Series offers another start-up clocking option,
UCLK_NOSYNC. The three events described above need
not be triggered by CCLK. They can, as a conguration
option, be triggered by a user clock. This means that the
device can wake up in synchronism with the user system.
When the UCLK_SYNC option is enabled, the user can
externally hold the open-drain DONE output Low, and thus
stall all further progress in the start-up sequence until
DONE is released and has gone High. This option can be
used to force synchronization of several FPGAs to a com-
mon user clock, or to guarantee that all devices are suc-
cessfully congured before any I/Os go active.
If either of these two options is selected, and no user clock
is specied in the design or attached to the device, the chip
could reach a point where the conguration of the device is
complete and the Done pin is asserted, but the outputs do
not become active. The solution is either to recreate the bit-
stream specifying the start-up clock as CCLK, or to supply
the appropriate user clock.
Start-up Sequence
The Start-up sequence begins when the conguration
memory is full, and the total number of conguration clocks
received since INIT went High equals the loaded value of
the length count.
The next rising clock edge sets a ip-op Q0, shown in
Figure 48. Q0 is the leading bit of a 5-bit shift register. The
outputs of this register can be programmed to control three
events.
The release of the open-drain DONE output
The change of conguration-related pins to the user
function, activating all IOBs.
The termination of the global Set/Reset initialization of
all CLB and IOB storage elements.
The DONE pin can also be wire-ANDed with DONE pins of
other FPGAs or with other external signals, and can then
be used as input to bit Q3 of the start-up register. This is
called “Start-up Timing Synchronous to Done In” and is
selected by either CCLK_SYNC or UCLK_SYNC.
When DONE is not used as an input, the operation is called
“Start-up Timing Not Synchronous to DONE In,” and is
selected by either CCLK_NOSYNC or UCLK_NOSYNC.
As a conguration option, the start-up control register
beyond Q0 can be clocked either by subsequent CCLK
pulses or from an on-chip user net called STARTUP.CLK.
These signals can be accessed by placing the STARTUP
library symbol.
Start-up from CCLK
If CCLK is used to drive the start-up, Q0 through Q3 pro-
vide the timing. Heavy lines in
Figure 47 show the default
timing, which is compatible with XC2000 and XC3000
devices using early DONE and late Reset. The thin lines
indicate all other possible timing options.
Product Obsolete or Under Obsolescence