1.4.2. Output Drive Strength

The output pads are available in three drive strength variants: 4 mA, 16 mA and 30 mA. The naming refers to the short-circuit current of the output driver, i.e. the current the pad can source or sink when driving a load to the opposite rail.

From the SPICE netlist (spice/sg13g2_io.spi), all three variants share the same internal architecture:

  1. A level shifter (GateLevelUpInv) converts the 1.2V core signal to the 3.3V IO domain.

  2. A complementary NMOS/PMOS clamp pair drives the pad.

  3. ESD protection diodes (DCNDiode, DCPDiode) protect against electrostatic discharge.

The difference between the variants is the number of parallel transistors in the clamp subcircuits:

Output Driver Clamp Transistors

Variant

NMOS Clamp

PMOS Clamp

NMOS Transistors

PMOS Transistors

4 mA

sg13g2_Clamp_N2N2D

sg13g2_Clamp_P2N2D

2

4

16 mA

sg13g2_Clamp_N8N8D

sg13g2_Clamp_P8N8D

8

16

30 mA

sg13g2_Clamp_N15N15D

sg13g2_Clamp_P15N15D

15

30

Tip

Each NMOS instance is a sg13_hv_nmos (W=4.4 um, L=0.6 um) and each PMOS instance is a sg13_hv_pmos (W=6.66 um, L=0.6 um). More parallel transistors means more current capability and the ability to drive larger capacitive loads.

1.4.2.1. Short-Circuit Current by Process Corner

The following tables show the simulated short-circuit current for each output pad variant across process corners. Values are from the simulation notebook doc/DriveStrengthSim.html.

Tip

The TriState (IOPadTriOut) and Bidirectional (IOPadInOut) variants have identical drive characteristics to their corresponding IOPadOut variant.

Sink current (NMOS pull-down active, pad driven to VOL):

Sink Current

Cell

NOM

SLOW

SLOW_COMM

SLOW_ROOM

FAST

FAST_COMM

FAST_ROOM

sg13g2_IOPadOut4mA

4.0 mA

2.3 mA

2.6 mA

3.0 mA

6.1 mA

5.5 mA

5.2 mA

sg13g2_IOPadOut16mA

16.0 mA

9.3 mA

10.6 mA

11.9 mA

24.5 mA

22.2 mA

20.9 mA

sg13g2_IOPadOut30mA

30.0 mA

17.4 mA

19.9 mA

22.2 mA

46.0 mA

41.6 mA

39.1 mA

Source current (PMOS pull-up active, pad driven to VOH):

Source Current

Cell

NOM

SLOW

SLOW_COMM

SLOW_ROOM

FAST

FAST_COMM

FAST_ROOM

sg13g2_IOPadOut4mA

4.0 mA

2.3 mA

2.5 mA

2.8 mA

6.4 mA

5.9 mA

5.6 mA

sg13g2_IOPadOut16mA

16.0 mA

9.2 mA

10.2 mA

11.1 mA

25.5 mA

23.4 mA

22.2 mA

sg13g2_IOPadOut30mA

30.0 mA

17.3 mA

19.1 mA

20.7 mA

47.8 mA

43.9 mA

41.6 mA

1.4.2.2. Maximum Load Capacitance

The Liberty timing models specify a max_capacitance constraint for each pad output pin. STA tools will flag a violation when the actual load exceeds this value.

Liberty max_capacitance Constraint

Cell

drive_current

max_capacitance (pF)

Liberty Corner

sg13g2_IOPadOut4mA

4

1.11

typ_1p2V_3p3V_25C

sg13g2_IOPadOut16mA

16

4.21

typ_1p2V_3p3V_25C

sg13g2_IOPadOut30mA

30

4.53

typ_1p2V_3p3V_25C

However, the Liberty timing lookup tables (cell_rise, cell_fall) are characterized up to much higher loads:

  • 4 mA: up to 10 pF

  • 16 mA: up to 15 pF

  • 30 mA: up to 30 pF

These are the index_2 upper bounds of the delay tables, meaning timing data is available and the pads can physically drive loads up to these values.

Note

The max_capacitance values are significantly lower than the index_2 upper bounds in the timing lookup tables. This means STA tools will flag violations at capacitances where timing data is still available and the pad can physically drive the load.

1.4.2.3. Output Transition Times

The following tables show the output rise_transition and fall_transition times from the Liberty timing models (typical corner, lib/sg13g2_io_typ_1p2V_3p3V_25C.lib).

The Liberty lookup tables use two indices: input slew (index_1) and output load capacitance (index_2). Since the input slew has a negligible effect on the output transition time (< 0.1% variation), only the load capacitance dependency is shown below.

Note

Each drive strength variant is characterized at different load capacitance points (index_2) in the Liberty file. The load values shown in each table below are exactly those defined in the Liberty lookup tables. This is why the three tables do not share the same capacitance points.

sg13g2_IOPadOut4mA (characterized from 1 to 10 pF):

Transition Times (4 mA)

Load (pF)

Rise (ns)

Fall (ns)

1

1.101

1.004

2

1.988

1.825

3

2.884

2.654

4

3.782

3.486

7

6.484

5.982

10

9.182

8.479

sg13g2_IOPadOut16mA (characterized from 1 to 15 pF):

Transition Times (16 mA)

Load (pF)

Rise (ns)

Fall (ns)

1

0.511

0.611

3

0.942

0.934

7

1.793

1.676

9

2.226

2.065

12

2.885

2.662

15

3.548

3.268

sg13g2_IOPadOut30mA (characterized from 2 to 30 pF):

Transition Times (30 mA)

Load (pF)

Rise (ns)

Fall (ns)

2

0.657

0.999

6

1.169

1.315

14

2.077

2.023

18

2.530

2.411

24

3.220

3.020

30

3.921

3.643

1.4.2.4. Sources

PDK files in $PDK_ROOT/ihp-sg13g2/libs.ref/sg13g2_io/:

  • spice/sg13g2_io.spi: Internal architecture, clamp subcircuit names, parallel transistor counts, transistor dimensions (W, L)

  • doc/DriveStrengthSim.html: Sink and source current tables (all process corners)

  • lib/sg13g2_io_typ_1p2V_3p3V_25C.lib: drive_current, max_capacitance, rise_transition, fall_transition, output voltage definitions (VOH, VOL)