Select Spartan-3/-3E Functional Description (Module 2). The IOB Overview section has an illustration of the clamp diodes in the IOB (ESD protection diodes).
When the input voltage is greater than VCCO +0.5V, the upper clamp diode turns on and conducts a reverse current into the associated supply (VCCO for nondedicated I/O; VCCAUX for dedicated I/O). Because this reverse current can damage the I/O, the Spartan-3/-3E I/O is not 5V-tolerant.
Spartan-3/-3E I/O can be made 5V-tolerant by using an external series current-limiting resistor to limit the current into the upper clamp diode to 10 mA. This makes the input 5V-tolerant, but an I/O configured as an output still cannot drive 5 Volts and the resulting VOH does not meet the input specifications of the 5V device.
The following is an example of how to calculate the value of the external current-limiting resistor (Rser), given the following information:
- The forward-bias voltage of the clamp diode is 0.5 V (Vd). However, the largest voltage drop across the clamp diode is determined by:
Vd = Vinx - Vccomax
where Vinx = 4.05V and is the maximum voltage to avoid oxide stress
- The limit that any I/O pin can be overdriven above or below the limits of GND and VCCO is 10 mA.
- The maximum input voltage on the input pad can be VCCO +0.5V. Vinmax - Absolute Max rating found in the Spartan-3/-3E FPGA Family: DC and Switching Characteristics data sheet at:
Select Spartan-3 DC and Switching Characteristics (Mode 3) -> Simultaneous Switching Output (SSO) Guidelines. This section lists the maximum number of simultaneously switching outputs per Power/Ground pin pair.
2. The minimum VCCO is for worst-case calculation.
3. Maintain a stable, clean, and properly bypassed VCCO at all times.
4. Place the resistor closer to the driver for better signal integrity.
5. Perform IBIS simulation to verify the result.
6. The clamp diodes are always present (programmed, unprogrammed, during configuration), and there is never a need to add external clamp diodes in the event that the Spartan-3 is unprogrammed and has 5V signals driving the pins. For more information on driving an unpowered I/O (hot-swapping), refer to (Xilinx Answer 19777).
7. For a thorough look at high voltage switching in the Spartan-3 Generation, please see XAPP459: