001_connectivity : Build Connectivity Information for Layout Objects
Minimum Required Version
: Expert 4.14.0.R, Guardian 4.14.0.R
This example demonstrates how to build connectivity information. For building connectivity, Guardian DRC requires two statements:
- CONNECT_ORDER: This statement defines layer connectivity sequence from bottom to top.
- CONNECT: This statement connects two layers with/without contact layer.
This operation is used in various situations to enable advanced DRC verification dependant on node potentials.
This example drc file can detect "N-ACT" Space errors according to two rules, one is for different nodes, another is for same nodes using the following descriptions.
// Define the Connect_Order statement
Connect_Order: NSD, PSD, POLY, METAL1;
//Define the Connect statement between METAL1 and N-ACT("NSD")
CONNECT: Layer1=METAL1, Layer2=NSD, LayerC=CONTACT;
// Check N-ACT Space < 2 for different nodes
// Options=(C) checks only for pairs of segments
// that belong to different nodes.
OutDistance: Options=(R,C), Layer=NSD, LayerR=N-ACT_D_diff, Limits < 2,
ID = "N-ACT Space error: @Difference node < 2";
// Check N-ACT Space < 1 for different nodes
// Options=(C') checks only for pairs of segments
// that belong to the same node.
OutDistance: Options=(R,C'), Layer=NSD, LayerR=N-ACT_D_same, Limits < 1,
ID = "N-ACT same nodes Space error: @Same node < 1";
Please refer to build_connectivity.dsf for details.
To run the example:
1) Start
Guardian DRC
or
Expert.
2) Load
"build_connectivity.eld"
and open the
"build_connectivity" cell
(File->Open).
See
build_connectivity_lay.png
3) Load
build_connectivity.dsf script from the Script panel
(Verification->DRC->DRC Script Panel).
4) Run DRC
(DRC->Run).
5) View DRC errors
(select DRC->Errors->Load Errors and click "Load" in the Load DRC Errors dialog).
See
build_connectivity_error.png
As a result, Guardian DRC detects only an "N-ACT" space error for different nodes, because another "N-ACT" space is connected between the "N-ACT" layer by "METAL1"
To learn more about Guardian DRC commands and their syntax, see the Guardian DRC user manual "guardian_users1.pdf" located in lib/expert/4.14.0.R/docs/ in your installation area.
build_connectivity.dsf
/* *********************************************************** */
/* DRC Script */
/* *********************************************************** */
LAYERS:
NWELL (1),
POLY (5),
METAL1 (9),
CONTACT (8),
WELLCON (23),
N-ACT (21),
P-ACT (22);
Connect_Order: NSD, PSD, POLY, METAL1;
attach_labels: layer = METAL1, layerC = METAL1;
And: Layer1=POLY, Layer2=N-ACT, LayerR=NGATE;
Dif: Layer1=N-ACT, Layer2=NGATE, LayerR=NSD;
And: Layer1=POLY, Layer2=P-ACT, LayerR=PGATE;
Dif: Layer1=P-ACT, Layer2=PGATE, LayerR=PSD;
CONNECT: Layer1=METAL1, Layer2=POLY, LayerC=CONTACT;
CONNECT: Layer1=METAL1, Layer2=NSD, LayerC=CONTACT;
CONNECT: Layer1=METAL1, Layer2=PSD, LayerC=CONTACT;
OutDistance: Options=(R,C), Layer=NSD, LayerR=N-ACT_D_diff, Limits < 2,
ID = "N-ACT Space error: @Difference node < 2";
OutDistance: Options=(R,C'), Layer=NSD, LayerR=N-ACT_D_same, Limits < 1,
ID = "N-ACT Space error: @Same node < 1";



