# AR# 20492

## Description

When an I/O is powered by 2.5V (such as dedicated configurations pins that are powered by VCCAUX), how can I make this I/O 3.3V-tolerant?

## Solution

Spartan-3/-3E I/Os have a pair of clamp diodes that connect to VCCO (VCCAUX for dedicated pins) and GND, as shown in the data sheet.

The Spartan-3 Functional Description Data Sheet is located at:

The Spartan-3E Functional Description Data Sheet is located at:

Select Spartan-3 or Spartan-3E Functional Description (Module 2). The IOB Overview section includes an illustration of the clamp diodes in the IOB (ESD protection diodes).

When the input voltage is greater than VCC +0.5V, the upper clamp diode turns on and conducts a reverse current into the associated supply (VCCO for non-dedicated I/O; VCCAUX for dedicated I/O and differential inputs). Because this reverse current can damage the I/O, the Spartan-3/-3E I/O is not 3V-tolerant when the input buffer is powered by a 2.5V source. This is the case in a 3.3V configuration interface when dedicated configuration pins such as CCLK and JTAG pins are driven by a 3.3V signal.

Spartan-3/-3E I/O can be made 3.3V-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 3V-tolerant, but an I/O configured as an output still cannot drive 3.3 Volts and the resulting VOH might not meet the input specifications of the 3.3V device receiving the signal. In most cases, the VOH will meet the input specification, but the noise margin will be reduced.

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.5V (Vd). However, the largest voltage drop across the clamp diode is determined by:

Vd = Vinx - Vccmax

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 VCC is 10 mA.

- The maximum input voltage(Vinmax) on the input pad can be VCC +0.5V. Vinmax is an Absolute Max rating found in the data sheets.

The Spartan-3 FPGA Family: DC and Switching Characteristics Data Sheet is located at:

The Spartan-3E FPGA Family: DC and Switching Characteristics Data Sheet is located at:

Assuming that you want to drive 3.3V from device "X" to a LVCMOS25 input buffer, such as a dedicated configuration pin powered by VCCAUX in a Spartan-3/-3E device, the following are applicable:

- The VCC min/max for the input buffer power powered by VCCAUX is 2.375/2.625V.

- The output voltage of the 3.3V device (Vsrc) is 3.3 +/-10%.

- The maximum voltage drop across the diode that is allowed to prevent oxide stress is Vd = Vinx(4.05V) - Vccmax(2.625V) = 1.42V.

- Id (current through the diode when Vd = 1.42V) is 1.26A. This value can be found in the IBIS model. The value is taken at max power rating I(max). This "lowest" value is still too high since the current needs to be limited to 10mA or less. To limit the input current to 10mA, you can have a Vd of 0.71V.

[POWER_clamp]

voltage...I(typ)..........I(min)............I(max)

-1.50.....1.46A...........1.59A...........1.41A

-1.40.....1.21A...........1.33A...........1.16A

-1.30.....0.96A...........1.08A...........0.91A

-1.20.....0.71A...........0.84A...........0.66A

-1.10.....0.47A...........0.60A...........0.42A

-1.00.....0.25A...........0.38A...........0.21A

-0.90.....78.20mA.....0.18A...........53.88mA

-0.80.....14.96mA.....44.93mA.....18.61mA

-0.70.....6.69mA.......8.78mA........10.98mA

-0.60.....2.80mA.......2.96mA........5.51mA

-0.50.....0.68mA.......0.83mA........1.82mA

-0.40.....81.60uA......0.14mA........0.29mA

-0.30.....5.30uA........14.10uA.......20.82uA

-0.20.....0.24uA........1.09uA.........0.86uA

-0.10.....13.24nA......91.41nA......72.27nA

0.00.....5.70nA.........29.91nA......46.43nA

The maximum voltage difference between the 3.3V source and the FPGA pad is Vsrcmax - (Vd + Vccmin) = 3.6 - 0.71 - 2.375) = 0.515V.

To limit the current to 10mA (and maintain a 0.71V drop across the diode), you need a series resistor (Rser) of 0.515V/10mA = 52 ohm (or 56 ohm with standard 5% resistor).

Other relevant references include the Spartan-3 Generation FPGA User Guide (UG331):

and the Spartan-3 Generation Configuration User Guide (UG332):

NOTES:

1. Follow the simultaneous switching output (SSO) guideline. Refer to the "Spartan-3 FPGA DC and Switching Characteristics" Data Sheet at:

http://www.support.xilinx.com/xlnx/xweb/xil_publications_display.jsp?sGlobalNavPick=&sSecondaryNavPick=&category=-1209725&iLanguageID=1
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/-3E is unprogrammed and has 3.3V signals driving the pins. Please refer to (Xilinx Answer 19777) for more information on driving an unpowered I/O (hot-swapping).

AR# 20492
Date 02/21/2013
Status Active
Type General Article