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:
A level shifter (
GateLevelUpInv) converts the 1.2V core signal to the 3.3V IO domain.A complementary NMOS/PMOS clamp pair drives the pad.
ESD protection diodes (
DCNDiode,DCPDiode) protect against electrostatic discharge.
The difference between the variants is the number of parallel transistors in the clamp subcircuits:
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):
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):
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.
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):
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):
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):
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)