Spartan-3 FPGA Family: Pinout Descriptions
DS099 (v3.1) June 27, 2013
Product Specification
117
CCLK: Configuration Clock
The configuration clock signal on this pin synchronizes the reading or writing of configuration data. The CCLK pin is an
input-only pin for the Slave Serial and Slave Parallel configuration modes. In the Master Serial and Master Parallel
configuration modes, the FPGA drives the CCLK pin and CCLK should be treated as a full bidirectional I/O pin for signal
integrity analysis.
Although the CCLK frequency is relatively low, Spartan-3 FPGA output edge rates are fast. Any potential signal integrity
problems on the CCLK board trace can cause FPGA configuration to fail. Therefore, pay careful attention to the CCLK signal
integrity on the printed circuit board. Signal integrity simulation with IBIS is recommended. For all configuration modes
except JTAG, consider the signal integrity at every CCLK trace destination, including the FPGA’s CCLK pin. For more details
on CCLK design considerations, see Chapter 2 of
UG332, Spartan-3 Generation Configuration User Guide.
During configuration, the CCLK pin has a pull-up resistor to VCCAUX, regardless of the HSWAP_EN pin. After configuration,
the CCLK pin is pulled High to VCCAUX by default as defined by the CclkPin bitstream selection, although this behavior is
programmable. Any clocks applied to CCLK after configuration are ignored unless the bitstream option Persist is set to Yes,
which retains the configuration interface. Persist is set to No by default. However, if Persist is set to Yes, then all clock
edges are potentially active events, depending on the other configuration control signals.
The bitstream generator option ConfigRate determines the frequency of the internally-generated CCLK oscillator required
for the Master configuration modes. The actual frequency is approximate due to the characteristics of the silicon oscillator
and varies by up to 50% over the temperature and voltage range. By default, CCLK operates at approximately 6 MHz. Via
the ConfigRate option, the oscillator frequency is set at approximately 3, 6, 12, 25, or 50 MHz. At power-on, CCLK always
starts operation at its lowest frequency. The device does not start operating at the higher frequency until the ConfigRate
control bits are loaded during the configuration process.
PROG_B: Program/Configure Device
This asynchronous pin initiates the configuration or re-configuration processes. A Low-going pulse resets the configuration
logic, initializing the configuration memory. This initialization process cannot finish until PROG_B returns High. Asserting
PROG_B Low for an extended period delays the configuration process. At power-up, there is always a pull-up resistor to
VCCAUX on this pin, regardless of the HSWAP_EN input. After configuration, the bitstream generator option ProgPin
determines whether or not the pull-up resistor is present. By default, the ProgPin option retains the pull-up resistor.
After configuration, hold the PROG_B input High. Any Low-going pulse on PROG_B lasting 300 ns or longer restarts the
configuration process.
DONE: Configuration Done, Delay Start-Up Sequence
The FPGA produces a Low-to-High transition on this pin indicating that the configuration process is complete. The bitstream
generator option DriveDone determines whether this pin functions as a totem-pole output that can drive High or as an
open-drain output. If configured as an open-drain output—which is the default behavior—then a pull-up resistor is required
to produce a High logic level. There is a bitstream option that provides an internal pull-up resistor, otherwise an external
pull-up resistor is required.
The open-drain option permits the DONE lines of multiple FPGAs to be tied together, so that the common node transitions
High only after all of the FPGAs have completed configuration. Externally holding the open-drain DONE pin Low delays the
start-up sequence, which marks the transition to user mode.
Table 73: PROG_B Operation
PROG_B Input
Response
Power-up
Automatically initiates configuration process.
Low-going pulse
Initiate (re-)configuration process and continue to completion.
Extended Low
Initiate (re-)configuration process and stall process at step where configuration memory is cleared. Process is
stalled until PROG_B returns High.
1
If the configuration process is started, continue to completion. If configuration process is complete, stay in User
mode.