Beruflich Dokumente
Kultur Dokumente
Description
The ESD devices between any 2 pads shall be as less as possible so the excessive charge can utilize shortest
path to discharge the energy. For example, the charge from pad “I/O1” to pad “I/O2” is discharged
traversing 5 ESD devices from domain A to domain B. Likewise this check will detect 2 diodes from
VSS1 to VSS2. The check allows you to find if any power domains are isolated and missing adequate ESD
cell structures.
This check verifies overall connectivity of ESD scheme. It identifies all the ESD devices connected among
pads and find the shortest ESD paths between any 2 pads. It will also report the highest ESD cell count
between pads so designer can add ESD devices to reduce the stage number.
The check can be run at IO or block or SoC level by specifying a top level circuit name. The overall ESD
integrity is verified with the following checks:
Verify ESD protection element between I/O and Power (VDD, VSS) Rails, including correct
diode polarities, within I/O or supply cell
Verify power clamp between power rails (VDD, VSS), including correct device polarity, within
I/O or supply cell
Verify inter-domain continuity with back-to-back diodes
Verify the presence of intended ESD current path for each pin-pair combination within an I/O
bank od same power-domian.
Verify the presence of intended ESD current paths between any pin pairs belonging to different
power-domains.
Check the sizes of ESD devices against existing ESD sizing rules (diode area or clamp width
requirements, etc.).
Operation
The user will be required to supply the lists of I/O (-pad_io) and Power/Ground pads (-pad_pg) as the
starting point for the check’s ESD path tracing.
If the pad name list is not specified then top level sub-circuit ports are considered as pads to proceed
operation (if not any pads are detected, the check completes with empty results).
It’s a uni-directional discharge device, or bidirectional device, depending on the control option, -
bidir. The instances under this subckt intances will not be counted as ESD discharge device to
prevent duplicate/inconsistant result.
2. If a mosfet with both of its drain and source are directly connected between two power/ground
pads, and the source terminal and drain terminal are not connected to the same node, this mosfet is
considered as a potential mos-clamp device.
The discharge path is uni-directional, or bidirectional, depending on the control option, -bidir.
The default value of -bidir is 1, which implies the clamps act as bi-directional discharging
devices. If –bidir is set to 0, the discharge path on the mos-clamp is always from drain terminal
to source terminal. (The nets connected to mosfet terminals follow the spice terminal order,
namely, drain-gate-source-bulk.) User may further narrows down the clamp device to those mosfet
with a width larger than a threshold value by adding the option –wth. The default value for –wth
is 0.
3. If a diode with both of its cathode and anode are connected to I/O and/or power/ground pads, and
both terminals are not connected together, this diode is considered as an ESD device. It is also
supported a stack of diodes.
The discharge path is unidirectional, ie always from anode to cathnode. A stack of diodes also
form a discharge path, its discharge stage count is the number of devices in the path.
The user may further narrow down the discharge diodes to those diodes with area larger than a
threshold value by setting the option –areath. The default value for –areath is 0. When –areath is
set to 0, the script does not check whether a diode is assigned with the area value or not.
-areath (default 0) Diodes without area parameter Diodes with area parameter
For the zener diodes, the script relies on the break-down voltage parameter, bv, to distinguish from
regular diodes. The user may change the threshold of bv to decide whether the zener acts as bi-
directional discharge path or uni-directional discharge path:
-bvth (default=10V) Diode without “bv” paramter Diode with “bv” paramter
Based upon the above consiiderations, only those diodes with “bv” (break-down voltage) lower
than –bvth will be considered as zener diodes and form bi-directional discharge path.
For serial connected diodes:
If there is one diode without bv parameter, the whole path become uni-directional.
If all diodes are with bv parameters, the path will become bi-directional if:
∑
It is an uni-directional path or a bi-directional path depending on the rules listed above. The total
resistance must be less than –resmax otherwise it is not a discharge path. For above example,
R1+R2 must be smaller than –resmax.
After all the ESD devices (mos-clamp, clamp-subckt, diode) are identified and their connectivity is
recognized, the check ends up by applying an algorithm to find the shortest ESD/clamp path between any
combination of two pads, and completes by generating an output matrix view to better assess the protection
according to the ESD network.
The checker generates four output files with “CktCheck” as the default prefix name:
1. <CktCheck>.table – the table contains the matrix of stage numbers for shortest path between any
two pads. It also contains all the path details between pads.
2. <CktCheck>.conn – the discharge devices recognized by the script, including the subinfo, the
model name associated to the diode and clamp cells, and the subckt name of the clamp-subckt
defined by –clamp_esd.
3. <CktCheck>.clamp – the list of clamp devices recognized by the script, including the mos-clamps
and the clamp-subckts defined by –clamp_esd.
4. <CktCheck>.path – the shortest EDS stages between two pads with discharge path. There might
be multiple shortest paths between any two pads. In this case, only one path will be reported. This
file is generated in CCK Standard Output Format ready to be viewed with Customer-Explorer.
-pad_io List of I/O pads that being checked. Only discharge N/A
path formed by diodes and/or clamp-subckt is allowed
for I/O pads.
-clamp_esd List of esd subckt and associated ports for discharge N/A
input/output:
EX:
-clamp_esd "{-subckt io_ne -i d -o s; -subckt io_ne3 -i
d -o s;-subckt io_pe3 -i s -o d}"
Example-1
The example illustrates how to invoke directly the application in
console mode.
% cck appCntESDStage.tbc -i input_netlist_file.spice -top top_subckt
-pad_pg "VSSA VSSB VSSC"
A report matrix like following will be reported:
---------------------
A - VSSA
B - VSSB
C - VSSC
---------------------
A B C
- - -
A|- 1 1
B|2 - 1
C|1 2 -
Example-2
The example illustrates how to interpret the matrix view reported by
the checker.
% cck appCntESDStage.tbc -i input.sp -top top1 –pad_pg "gnd_ana_l1
gnd_lna gnd_synth_l1 sgnd sgnd_io sgnd_rf vss"
A B C D E F G
- - - - - - -
A|- 2 2 2 1 2 2
B|2 - 2 2 1 2 2
C|2 2 - 2 1 2 2
D|2 2 2 - 1 2 2
E|1 1 1 1 - 1 1
F|2 2 2 2 1 - 2
G|2 2 2 2 1 2 –
Take the highlighted red number “2” from above as example: It means it will take 2 ESD stages to go from
pad “sgnd” (The “D”) to pad “gnd_synthl1” (The “C”).
*test.sp
*Main vss
vvss vss 0 0
#test.tcl script
netlist test.sp -preserve gnds
cck::CntESDStage –pad_pg "vdd1 vss1 vdd2 vss2 vss" -o out –clamp_esd "{-name
clamp -i in -o out}"
quit
Executing test.tcl script, you will observe a transcript display showing the final matrix:
*Main vss
vvss vss 0 0
#script
netlist test.sp -preserve gnds
cck::CntESDStage -pad_io "in1 in2" -pad_pg "vdd1 vss1 vdd2 vss2" -o out2 -resmax
0.01 -clamp_esd "{-name clamp -i in -o out}"
quit
Notification
Most of the latest enhancements of appCntESDStage are available starting with 2014.09-
SP2.
2014.09-SP3 will support :
-The distinction of I/O and P/G pads (-pad_io, -pad_pg)
-The additional geometric threshold to identify ESD cells (-wth, -areath, -bvth).
-The upper bound resistor value to consider a resistor for being part of a ESD discharge
path (-resmax)