blob: 83c51beb4280c06bc93694233a2fa24392669eca [file] [log] [blame]
//////////////////////////////////////////////////////////////////////////////////////////////////////
// //
// Runset Spec Number : DRC-CC-000006.16 //
// //
// Header File: drc_header_13_16 Date: 29Sep2022 //
// //
// Description: Calibre DRC Runset For 0.18UM 3.3V/(5V)6V MCU TECHNOLOGY TOPOLOGICAL AND //
// Description: RELIABILITY DESIGN RULES //
// //
// DR/DM Spec Number : DM-000013.13 //
// //
// Runset Compatibility: Calibre v2014.4_18.13 //
// //
//////////////////////////////////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////////////////////////////
// ******************************************* IMPORTANT ****************************************** //
// //
// The following files are critical info relating to this deck and should be kept at all times //
// User must read these files carefully before using this deck for DRC checking. //
// //
// These are located under the Include directory. //
// 1. dm000013_Disclaimer.cal - GLOBALFOUNDRIES Disclaimer, read carefully before using this deck //
// 2. dm000013_History.cal - History of this deck //
// 3. dm000013_RulesNotCoded.cal - Rules which are not coded/checked //
// 4. dm000013_DeckSync.cal - Deck sync file to ensure compatibility between base and addendum //
// //
// ***************************************** IMPORTANT ******************************************** //
//////////////////////////////////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////////////////////////////
// ----------------------------------------------------------------------------------------------- //
// | GLOBALFOUNDRIES | //
// | COMPANY CONFIDENTIAL | //
// ------------------------------------------------------------------------------------------------ //
// | N O T I C E | //
// | This Document contains information of a proprietary nature and is delivered on the express | //
// | condition that it is not to be disclosed or reproduced in whole or in part without the | //
// | written consent of GLOBALFOUNDRIES. | //
// | | //
// | This restriction does not limit the right to disclose information obtained from other | //
// | sources. | //
// ------------------------------------------------------------------------------------------------ //
//////////////////////////////////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////////////////////////////
// ------ //
// NOTICE //
// ------ //
// - Please go through this File and Choose the correct Options //
// - If some LOGIC operations are needed prior to DRC, Please include them inside this File //
// //
//////////////////////////////////////////////////////////////////////////////////////////////////////
TITLE "This program invokes GLOBALFOUNDRIES' DRC for 0.18um technology. In using this runset, you have agreed to abide by the terms specified in the DISCLAIMER section of the dm000013_Disclaimer.cal. Compiled on 20171102_145905_13_15"
//////////////////////////////////////////////////////////////////////////////////////////////////////
// //
// Setup Environment for DRC //
// //
//////////////////////////////////////////////////////////////////////////////////////////////////////
//<fileselection -framelabel "Input GDSII File" -diespecific 1>
LAYOUT PATH $LAYOUT_PATH
//</fileselection> [Input]
LAYOUT PRIMARY "*" //TOPCELL NAME
//EXCLUDE CELL "" //Names of Cells to Exclude from DRC; Add on if necessary
// parameterized: LAYOUT SYSTEM GDSII or: LAYOUT SYSTEM OASIS
#IFDEF $LAYSYS_OASIS
LAYOUT SYSTEM OASIS
#ELSE
LAYOUT SYSTEM GDSII
#ENDIF
LAYOUT DEPTH ALL
//LAYOUT ERROR ON INPUT NO //IGNORE GDSII INPUT ERROR
RESOLUTION 5
PRECISION 1000
UNIT LENGTH U
FLAG ACUTE YES
FLAG OFFGRID NO //"NO" because a more detailed OffGrid Check is written separately
FLAG SKEW YES
DRC CHECK TEXT COMMENTS RFI
DRC KEEP EMPTY NO
DRC MAXIMUM RESULTS all //MAXIMUM NUMBER OF ERRORS PER CHECK
DRC MAXIMUM VERTEX 4096 // 199
//<entrybox -framelabel "Result Database" -diespecific 1>
DRC RESULTS DATABASE "$DRC_RESULTS_FILE" ASCII //DRC RESULTS OUTPUT FILE
//</entrybox> [Output]
//<entrybox -framelabel "Summary Report" -diespecific 1>
DRC SUMMARY REPORT "$DRC_SUMMARY_REPORT" HIER //DRC SUMMARY REPORT FILE
//</entrybox> [Output]
DRC TOLERANCE FACTOR .001 //Used in 45 degrees structures only
//DRC EXCLUDE FALSE NOTCH YES
#DEFINE DM000013
/////////////////////////////////////////////////////////////////////////////////////////////////////
// //
// LAYER DECLARATIONS //
// Edit the GDSII layer according to layer map //
// //
/////////////////////////////////////////////////////////////////////////////////////////////////////
//GUI LAYERS START
LAYER MAP 22 DATATYPE 0 6022 //COMP (L10)
LAYER MAP 22 DATATYPE 4 4022 //COMP_Dummy
LAYER MAP 22 DATATYPE 10 2022 //COMP_Label
LAYER my_COMP 6022
LAYER COMP_Dummy 4022
LAYER COMP_Label 2022
COMP = my_COMP OR (COMP_Dummy OR COMP_Label)
COMPwoLabel = my_COMP OR COMP_Dummy
LAYER MAP 12 DATATYPE 0 6012 //DNWELL (L06)
LAYER DNWELL 6012
LAYER MAP 21 DATATYPE 0 6021 //Nwell (L05)
LAYER Nwell 6021
LAYER MAP 204 DATATYPE 0 6204 //LVPWELL (L18)
LAYER LVPWELL 6204
LAYER MAP 55 DATATYPE 0 6055 //Dualgate (L38)
LAYER Dualgate 6055
LAYER MAP 30 DATATYPE 0 6030 //Poly2 (L60)
LAYER MAP 30 DATATYPE 4 4030 //Poly2_Dummy
LAYER MAP 30 DATATYPE 10 2030 //Poly2_Label
LAYER my_Poly2 6030
LAYER Poly2_Dummy 4030
LAYER Poly2_Label 2030
Poly2 = my_Poly2 OR (Poly2_Dummy OR Poly2_Label)
Poly2woLabel = my_Poly2 OR Poly2_Dummy
LAYER MAP 32 DATATYPE 0 6032 //Nplus (L65)
LAYER Nplus 6032
LAYER MAP 31 DATATYPE 0 6031 //Pplus (L70)
LAYER Pplus 6031
LAYER MAP 49 DATATYPE 0 6049 //SAB (L68)
LAYER SAB 6049
LAYER MAP 24 DATATYPE 0 6024 //ESD (L67)
LAYER ESD 6024
LAYER MAP 33 DATATYPE 0 6033 //Contact (L75)
LAYER Contact 6033
LAYER MAP 34 DATATYPE 0 6034 //Metal1 (L80)
LAYER MAP 34 DATATYPE 3 3034 //Metal1_Slot
LAYER MAP 34 DATATYPE 4 4034 //Metal1_Dummy
LAYER MAP 34 DATATYPE 10 2034 //Metal1_Label
LAYER my_Metal1 6034
LAYER Metal1_Slot 3034
LAYER Metal1_Dummy 4034
LAYER Metal1_Label 2034
Metal1wSlot = my_Metal1 OR (Metal1_Dummy OR Metal1_Label)
Metal1 = Metal1wSlot NOT Metal1_Slot
Metal1woLabel = (my_Metal1 OR Metal1_Dummy) NOT Metal1_Slot
LAYER MAP 35 DATATYPE 0 6035 //Via1 (L85)
LAYER Via1 6035
LAYER MAP 36 DATATYPE 0 6036 //Metal2 (L88)
LAYER MAP 36 DATATYPE 3 3036 //Metal2_Slot
LAYER MAP 36 DATATYPE 4 4036 //Metal2_Dummy
LAYER MAP 36 DATATYPE 10 2036 //Metal2_Label
LAYER my_Metal2 6036
LAYER Metal2_Slot 3036
LAYER Metal2_Dummy 4036
LAYER Metal2_Label 2036
Metal2wSlot = my_Metal2 OR (Metal2_Dummy OR Metal2_Label)
Metal2 = Metal2wSlot NOT Metal2_Slot
Metal2woLabel = (my_Metal2 OR Metal2_Dummy) NOT Metal2_Slot
LAYER MAP 38 DATATYPE 0 6038 //Via2 (L91)
LAYER Via2 6038
LAYER MAP 42 DATATYPE 0 6042 //Metal3 (L93)
LAYER MAP 42 DATATYPE 3 3042 //Metal3_Slot
LAYER MAP 42 DATATYPE 4 4042 //Metal3_Dummy
LAYER MAP 42 DATATYPE 10 2042 //Metal3_Label
LAYER my_Metal3 6042
LAYER Metal3_Slot 3042
LAYER Metal3_Dummy 4042
LAYER Metal3_Label 2042
Metal3wSlot = my_Metal3 OR (Metal3_Dummy OR Metal3_Label)
Metal3 = Metal3wSlot NOT Metal3_Slot
Metal3woLabel = (my_Metal3 OR Metal3_Dummy) NOT Metal3_Slot
LAYER MAP 40 DATATYPE 0 6040 //Via3 (L94)
LAYER Via3 6040
LAYER MAP 46 DATATYPE 0 6046 //Metal4 (L96)
LAYER MAP 46 DATATYPE 3 3046 //Metal4_Slot
LAYER MAP 46 DATATYPE 4 4046 //Metal4_Dummy
LAYER MAP 46 DATATYPE 10 2046 //Metal4_Label
LAYER my_Metal4 6046
LAYER Metal4_Slot 3046
LAYER Metal4_Dummy 4046
LAYER Metal4_Label 2046
Metal4wSlot = my_Metal4 OR (Metal4_Dummy OR Metal4_Label)
Metal4 = Metal4wSlot NOT Metal4_Slot
Metal4woLabel = (my_Metal4 OR Metal4_Dummy) NOT Metal4_Slot
LAYER MAP 41 DATATYPE 0 6041 //Via4 (L97)
LAYER Via4 6041
LAYER MAP 81 DATATYPE 0 6081 //Metal5 (L9E)
LAYER MAP 81 DATATYPE 3 3081 //Metal5_Slot
LAYER MAP 81 DATATYPE 4 4081 //Metal5_Dummy
LAYER MAP 81 DATATYPE 10 2081 //Metal5_Label
LAYER my_Metal5 6081
LAYER Metal5_Slot 3081
LAYER Metal5_Dummy 4081
LAYER Metal5_Label 2081
Metal5wSlot = my_Metal5 OR (Metal5_Dummy OR Metal5_Label)
Metal5 = Metal5wSlot NOT Metal5_Slot
Metal5woLabel = (my_Metal5 OR Metal5_Dummy) NOT Metal5_Slot
LAYER MAP 82 DATATYPE 0 6082 //Via5 (L9D)
LAYER Via5 6082
LAYER MAP 53 DATATYPE 0 6053 //MetalTop (L98)
LAYER MAP 53 DATATYPE 3 3053 //MetalTop_Slot
LAYER MAP 53 DATATYPE 4 4053 //MetalTop_Dummy
LAYER MAP 53 DATATYPE 10 2053 //MetalTop_Label
LAYER my_MetalTop 6053
LAYER MetalTop_Slot 3053
LAYER MetalTop_Dummy 4053
LAYER MetalTop_Label 2053
MetalTopwSlot = my_MetalTop OR (MetalTop_Dummy OR MetalTop_Label)
MetalTop = MetalTopwSlot NOT MetalTop_Slot
MetalTopwoLabel = (my_MetalTop OR MetalTop_Dummy) NOT MetalTop_Slot
LAYER MAP 37 DATATYPE 0 6037 //Pad (L95)
LAYER Pad 6037
LAYER MAP 62 DATATYPE 0 6062 //Resistor (L63)
LAYER Resistor 6062
LAYER MAP 227 DATATYPE 0 6227 //FHRES
LAYER FHRES 6227
LAYER MAP 75 DATATYPE 0 6075 //FuseTop (L92)
LAYER FuseTop 6075
LAYER MAP 96 DATATYPE 1 7096 //FuseWindow_D
LAYER FuseWindow_D 7096
LAYER MAP 220 DATATYPE 0 6220 //POLYFUSE (L9Z)
LAYER POLYFUSE 6220
LAYER MAP 5 DATATYPE 0 6005 //NAT
LAYER NAT 6005
LAYER MAP 183 DATATYPE 0 6183 //UBMPPeri
LAYER UBMPPeri 6183
LAYER MAP 184 DATATYPE 0 6184 //UBMPArray
LAYER UBMPArray 6184
LAYER MAP 185 DATATYPE 0 6185 //UBMEPlate
LAYER UBMEPlate 6185
LAYER MAP 241 DATATYPE 0 6241 //Schottky_diode
LAYER Schottky_diode 6241
LAYER MAP 178 DATATYPE 0 6178 //ZENER (L2C)
LAYER ZENER 6178
LAYER MAP 110 DATATYPE 5 5110 //Resistor Marking
LAYER RES_MK 5110
LAYER MAP 124 DATATYPE 5 5124 //OPC_drc
LAYER OPC_drc 5124
LAYER MAP 111 DATATYPE 5 5111 //NDMY
LAYER NDMY 5111
LAYER MAP 152 DATATYPE 5 5152 //PMNDMY
LAYER PMNDMY 5152
LAYER MAP 112 DATATYPE 1 7112 //V5_XTOR
LAYER V5_XTOR 7112
LAYER MAP 117 DATATYPE 5 5117 //Capacitor Marking
LAYER CAP_MK 5117
LAYER MAP 166 DATATYPE 5 5166 //MOS_CAP_MK
LAYER MOS_CAP_MK 5166
LAYER MAP 151 DATATYPE 5 5151 //Inductor Marking
LAYER IND_MK 5151
LAYER MAP 115 DATATYPE 5 5115 //Diode Marking
LAYER DIODE_MK 5115
LAYER MAP 127 DATATYPE 5 5127 //DRC_BJT
LAYER DRC_BJT 5127
LAYER MAP 118 DATATYPE 5 5118 //Bipolar Marking
LAYER LVS_BJT 5118
LAYER MAP 117 DATATYPE 10 2117 //MIM_L_MK
LAYER MIM_L_MK 2117
LAYER MAP 137 DATATYPE 5 5137 //Latchup_MK
LAYER Latchup_MK 5137
LAYER MAP 167 DATATYPE 5 5167 //GUARD_RING_MK
LAYER GUARD_RING_MK 5167
LAYER MAP 173 DATATYPE 5 20590 //OTP_MK
LAYER OTP_MK 20590
LAYER MAP 122 DATATYPE 5 5122 //MTPMARK
LAYER MTPMARK 5122
LAYER MAP 86 DATATYPE 17 21119 //YMTP_MK
LAYER YMTP_MK 21119
LAYER MAP 108 DATATYPE 5 5108 //SramCore
LAYER SramCore 5108
LAYER MAP 100 DATATYPE 5 5100 //LVS_RF
LAYER LVS_RF 5100
LAYER MAP 100 DATATYPE 7 9100 //LVS_DRAIN
LAYER LVS_DRAIN 9100
LAYER MAP 123 DATATYPE 5 5123 //HVPOLYRS
LAYER HVPOLYRS 5123
LAYER MAP 119 DATATYPE 5 5119 //LVS_IO
LAYER LVS_IO 5119
LAYER MAP 13 DATATYPE 17 9013 //PROBE_MK Marking
LAYER PROBE_MK 9013
LAYER MAP 24 DATATYPE 5 5024 //Marking layer on ESD
LAYER ESD_MK 5024
LAYER MAP 100 DATATYPE 8 8100 //LVS_Source
LAYER LVS_Source 8100
LAYER MAP 153 DATATYPE 51 37398 //Well Diode Marking
LAYER WELL_DIODE_MK 37398
LAYER MAP 50 DATATYPE 0 6050 //PIB (L99)
LAYER PIB 6050
LAYER MAP 125 DATATYPE 5 5125 //PLFUSE
LAYER PLFUSE 5125
LAYER MAP 80 DATATYPE 5 5080 //EFUSE_MK
LAYER EFUSE_MK 5080
LAYER MAP 11 DATATYPE 17 21117 //Marking layer for FEOL RF devices
LAYER MCELL_FEOL_MK 21117
LAYER MAP 226 DATATYPE 0 6226 //LDMOS_XTOR
LAYER LDMOS_XTOR 6226
LAYER MAP 210 DATATYPE 0 6210 //MVSD
LAYER MVSD 6210
LAYER MAP 11 DATATYPE 39 9011 //MVPSD
LAYER MVPSD 9011
LAYER MAP 128 DATATYPE 17 57250 //LVS marking layer for Fab special purposes layout
LAYER DEV_WF_MK 57250
LAYER MAP 88 DATATYPE 17 57249 //NEO_EE_MK
LAYER NEO_EE_MK 57249
// The following layers are not use by the DRC deck and commented out.
// Add to match the Design Manual.
// LAYER MAP 34 DATATYPE 5 18115 //Metal1 Blockage
// LAYER Metal1_BLK 18115
// LAYER MAP 36 DATATYPE 5 18122 //Metal2 Blockage
// LAYER Metal2_BLK 18122
// LAYER MAP 42 DATATYPE 5 18128 //Metal3 Blockage
// LAYER Metal3_BLK 18128
// LAYER MAP 46 DATATYPE 5 18134 //Metal4 Blockage
// LAYER Metal4_BLK 18134
// LAYER MAP 81 DATATYPE 5 18140 //Metal5 Blockage
// LAYER Metal5_BLK 18140
// LAYER MAP 53 DATATYPE 5 18166 //MetalTop Blockage
// LAYER MetalT_BLK 18166
// LAYER MAP 0 DATATYPE 0 21247 //PR_bndry
// LAYER PR_bndry 21247
// LAYER MAP 116 DATATYPE 5 17424 //MDIODE
// LAYER MDIODE 17424
// LAYER MAP 110 DATATYPE 11 9201 //Metal1_Res
// LAYER Metal1_Res 9201
// LAYER MAP 110 DATATYPE 12 9202 //Metal2_Res
// LAYER Metal2_Res 9202
// LAYER MAP 110 DATATYPE 13 9203 //Metal3_Res
// LAYER Metal3_Res 9203
// LAYER MAP 110 DATATYPE 14 9204 //Metal4_Res
// LAYER Metal4_Res 9204
// LAYER MAP 110 DATATYPE 15 9205 //Metal5_Res
// LAYER Metal5_Res 9205
// LAYER MAP 110 DATATYPE 16 9206 //Metal6_Res
// LAYER Metal6_Res 9206
// LAYER MAP 63 DATATYPE 0 6063 //Border
// LAYER Border 6063
//GUI LAYERS END
LAYOUT BASE LAYER Nwell Dualgate my_COMP my_Poly2 Nplus Pplus SAB Contact
/////////////////////////////////////////////////////////////////////////////////////////////////
// ------------------------------------- //
// PAD OPENING and PITCH CHECK VARIABLES //
// ------------------------------------- //
// - Please change these variables according to the DR or assembly specs. //
// - PAD rules have been moved to guidelines. //
// As such, all PAD related rules are now Unselected. //
// //
/////////////////////////////////////////////////////////////////////////////////////////////////
VARIABLE PAD_SPACE 9 //PAD TO PAD SPACE (if different from DR Spec)
VARIABLE PAD_OPENING1 40 //WIDTH OF PAD OPENING (if different from DR Spec) - For Wire and Solder
VARIABLE PAD_OPENING2 4 //WIDTH OF PAD OPENING (if different from DR Spec) - For Gold Bump
VARIABLE PM.2 50 //Probe pad opening (Solder)
VARIABLE PM.3 80 //Probe pad pitch (Solder)
VARIABLE PM.4 2 //Top metal overlap Probe opening (Solder)
VARIABLE PM.5 13 //Probe pad opening to UBM opening (Solder)
//////////////////////////////////////////////////////////////////////////////////////////////////
// //
// OFFGRID CHECK VARIABLE //
// ---------------------- //
// The number determines the RESOLUTION for Offgrid Checks //
// Example: 50 = 0.05um , 25 = 0.025um , 10 = 0.01um , 5 = 0.005um and 1 = 0.001um //
// Offgrid variables are all set to "OFFGRID_DEF" in the first line //
// If a different grid check is desired for a specific layer, change the number for that layer //
// //
//////////////////////////////////////////////////////////////////////////////////////////////////
VARIABLE OFFGRID_DEF 5 // Default technology offgrid check
//GUI GRID START
VARIABLE OFG_COMP OFFGRID_DEF //COMP
VARIABLE OFG_COMP_Dummy OFFGRID_DEF //COMP_Dummy
VARIABLE OFG_COMP_Label OFFGRID_DEF //COMP_Label
VARIABLE OFG_DNWELL OFFGRID_DEF //DNWELL
VARIABLE OFG_Nwell OFFGRID_DEF //Nwell
VARIABLE OFG_LVPWELL OFFGRID_DEF //LVPWELL
VARIABLE OFG_Dualgate OFFGRID_DEF //Dualgate
VARIABLE OFG_Poly2 OFFGRID_DEF //Poly2
VARIABLE OFG_Poly2_Dummy OFFGRID_DEF //Poly2_Dummy
VARIABLE OFG_Poly2_Label OFFGRID_DEF //Poly2_Label
VARIABLE OFG_Nplus OFFGRID_DEF //Nplus
VARIABLE OFG_Pplus OFFGRID_DEF //Pplus
VARIABLE OFG_SAB OFFGRID_DEF //SAB
VARIABLE OFG_ESD OFFGRID_DEF //ESD
VARIABLE OFG_Contact OFFGRID_DEF //Contact
VARIABLE OFG_Metal1 OFFGRID_DEF //Metal1
VARIABLE OFG_Metal1_Slot OFFGRID_DEF //Metal1_Slot
VARIABLE OFG_Metal1_Dummy OFFGRID_DEF //Metal1_Dummy
VARIABLE OFG_Metal1_Label OFFGRID_DEF //Metal1_Label
VARIABLE OFG_Via1 OFFGRID_DEF //Via1
VARIABLE OFG_Metal2 OFFGRID_DEF //Metal2
VARIABLE OFG_Metal2_Slot OFFGRID_DEF //Metal2_Slot
VARIABLE OFG_Metal2_Dummy OFFGRID_DEF //Metal2_Dummy
VARIABLE OFG_Metal2_Label OFFGRID_DEF //Metal2_Label
VARIABLE OFG_Via2 OFFGRID_DEF //Via2
VARIABLE OFG_Metal3 OFFGRID_DEF //Metal3
VARIABLE OFG_Metal3_Slot OFFGRID_DEF //Metal3_Slot
VARIABLE OFG_Metal3_Dummy OFFGRID_DEF //Metal3_Dummy
VARIABLE OFG_Metal3_Label OFFGRID_DEF //Metal3_Label
VARIABLE OFG_Via3 OFFGRID_DEF //Via3
VARIABLE OFG_Metal4 OFFGRID_DEF //Metal4
VARIABLE OFG_Metal4_Slot OFFGRID_DEF //Metal4_Slot
VARIABLE OFG_Metal4_Dummy OFFGRID_DEF //Metal4_Dummy
VARIABLE OFG_Metal4_Label OFFGRID_DEF //Metal4_Label
VARIABLE OFG_Via4 OFFGRID_DEF //Via4
VARIABLE OFG_Metal5 OFFGRID_DEF //Metal5
VARIABLE OFG_Metal5_Slot OFFGRID_DEF //Metal5_Slot
VARIABLE OFG_Metal5_Dummy OFFGRID_DEF //Metal5_Dummy
VARIABLE OFG_Metal5_Label OFFGRID_DEF //Metal5_Label
VARIABLE OFG_Via5 OFFGRID_DEF //Via5
VARIABLE OFG_MetalTop OFFGRID_DEF //MetalTop
VARIABLE OFG_MetalTop_Slot OFFGRID_DEF //MetalTop_Slot
VARIABLE OFG_MetalTop_Dummy OFFGRID_DEF //MetalTop_Dummy
VARIABLE OFG_MetalTop_Label OFFGRID_DEF //MetalTop_Label
VARIABLE OFG_Pad OFFGRID_DEF //Pad
VARIABLE OFG_Resistor OFFGRID_DEF //Resistor
VARIABLE OFG_FHRES OFFGRID_DEF //FHRES
VARIABLE OFG_FuseTop OFFGRID_DEF //FuseTop
VARIABLE OFG_FuseWindow_D OFFGRID_DEF //FuseWindow_D
VARIABLE OFG_POLYFUSE OFFGRID_DEF //POLYFUSE
VARIABLE OFG_NAT OFFGRID_DEF //NAT
VARIABLE OFG_UBMPPeri OFFGRID_DEF //UBMPPeri
VARIABLE OFG_UBMPArray OFFGRID_DEF //UBMPArray
VARIABLE OFG_UBMEPlate OFFGRID_DEF //UBMEPlate
VARIABLE OFG_Schottky_diode OFFGRID_DEF //Schottky_diode
VARIABLE OFG_ZENER OFFGRID_DEF //ZENER
VARIABLE OFG_OPC_drc OFFGRID_DEF //OPC_drc
VARIABLE OFG_NDMY OFFGRID_DEF //NDMY
VARIABLE OFG_PMNDMY OFFGRID_DEF //PMNDMY
VARIABLE OFG_V5_XTOR OFFGRID_DEF //V5_XTOR
VARIABLE OFG_MOS_CAP_MK OFFGRID_DEF //MOS_CAP_MK
VARIABLE OFG_DRC_BJT OFFGRID_DEF //DRC_BJT
VARIABLE OFG_MIM_L_MK OFFGRID_DEF //MIM_L_MK
VARIABLE OFG_GUARD_RING_MK OFFGRID_DEF //GUARD_RING_MK
VARIABLE OFG_OTP_MK OFFGRID_DEF //OTP_MK
VARIABLE OFG_MTPMARK OFFGRID_DEF //MTPMARK
VARIABLE OFG_YMTP_MK OFFGRID_DEF //YMTP_MK
VARIABLE OFG_LVS_RF OFFGRID_DEF //LVS_RF
VARIABLE OFG_LVS_DRAIN OFFGRID_DEF //LVS_DRAIN
VARIABLE OFG_HVPOLYRS OFFGRID_DEF //HVPOLYRS
VARIABLE OFG_LVS_IO OFFGRID_DEF //LVS_IO
VARIABLE OFG_LVS_Source OFFGRID_DEF //LVS_Source
VARIABLE OFG_PIB OFFGRID_DEF //PIB
VARIABLE OFG_PLFUSE OFFGRID_DEF //PLFUSE
VARIABLE OFG_EFUSE_MK OFFGRID_DEF //EFUSE_MK
VARIABLE OFG_LDMOS_XTOR OFFGRID_DEF //LDMOS_XTOR
VARIABLE OFG_MVSD OFFGRID_DEF //MVSD
VARIABLE OFG_MVPSD OFFGRID_DEF //MVPSD
VARIABLE OFG_DEV_WF_MK OFFGRID_DEF //DEV_WF_MK
VARIABLE OFG_NEO_EE_MK OFFGRID_DEF //NEO_EE_MK
//GUI GRID END
///////////////////////////////////////////////////////////////////////////////////////////////////////
//
// Please select (uncomment)
// one process that fits your requirement
// Checks will be treated as single voltage process when dualgate IS NOT present,
// WARNING: If you do not uncomment any line in this section, Calibre will check
// all rules in rule deck.
//
//////////////////////////////////////////////////////////////////////////////////////////////////////
// ---------------------------------------
// Metal Layer Number DRC Check Selection
// ---------------------------------------
//GUI LIST START (Select Number of Metals )
//<dropdown -label "Number of Metals">
// #DEFINE 2LM // M2 as Top Metal $plmspl(No Of Metal Layers) <2>
// #DEFINE 3LM // M3 as Top Metal $plmspl(No Of Metal Layers) <3>
// #DEFINE 4LM // M4 as Top Metal $plmspl(No Of Metal Layers) <4>
#DEFINE 5LM // M5 as Top Metal $plmspl(No Of Metal Layers) <5>
// #DEFINE 6LM // M6 as Top Metal $plmspl(No Of Metal Layers) <6>
//</dropdown> [DRC Check Selection]
//GUI LIST END
#IFDEF $BEOL_STACK 1P2M
#DEFINE 2LM
#ENDIF
#IFDEF $BEOL_STACK 1P3M
#DEFINE 3LM
#ENDIF
#IFDEF $BEOL_STACK 1P4M
#DEFINE 4LM
#ENDIF
#IFDEF $BEOL_STACK 1P5M
#DEFINE 5LM
#ENDIF
#IFDEF $BEOL_STACK 1P6M
#DEFINE 6LM
#ENDIF
// ---------------------------------------
// TopMetal Thickness DRC Check Selection
// ---------------------------------------
//GUI LIST START (Select TopMetal Thickness )
//<dropdown -label "TopMetal Thickness">
// #DEFINE MT6K // 6kA Top Metal $plmspl(Top Metal Thickness) <6KTM>
#DEFINE MT9K // 9kA Top Metal $plmspl(Top Metal Thickness) <9KTM>
// #DEFINE MT11K // 11kA Top Metal $plmspl(Top Metal Thickness) <11KTM>
// #DEFINE MT30K // 30kA Top Metal $plmspl(Top Metal Thickness) <30KTM>
//</dropdown> [DRC Check Selection]
//GUI LIST END
#IFDEF $TOPMETAL 6kA
#DEFINE MT6K
#ENDIF
#IFDEF $TOPMETAL 9kA
#DEFINE MT9K
#ENDIF
#IFDEF $TOPMETAL 11kA
#DEFINE MT11K
#ENDIF
#IFDEF $TOPMETAL 30kA
#DEFINE MT30K
#ENDIF
// ---------------------------------------
// MIM Option DRC Check Selection
// ---------------------------------------
//GUI LIST START (Select MIM Option )
//<dropdown -label "MIM Option">
// #DEFINE MIM_OptionA // MIM option fixed between Metal2 and Metal3 only $plmspl(MIM Capacitor Position) <MIM@M2/M3 \(200mm\)|MIM@M2/M3 \(200/300mm\)|NA>
#DEFINE MIM_OptionB // MIM option floating between TopMetal and TopMetal-1 $plmspl(MIM Capacitor Position) <MIM@TM/TM-1 \(200mm 1 Top Metal Process\)>
//</dropdown> [MIM Option]
//GUI LIST END
#IFDEF $MIMCAP_SELECTION OPT_A
#DEFINE MIM_OptionA
#ENDIF
#IFDEF $MIMCAP_SELECTION OPT_B
#DEFINE MIM_OptionB
#ENDIF
// Refer to DM-000013_setting_xxx.pdf for more detailed explanation
//GUI LIST START (Select Type of Pad Bonding)
//<dropdown -label "Pad Bonding">
#DEFINE BALL // Ball Wire Bond $drcConfiguration(Bonding) <Wire Ball Bond>
// #DEFINE WEDGE // Wedge Wire Bond $drcConfiguration(Bonding) <Wire Wedge Bond>
// #DEFINE GOLD_BUMP // Gold Bump $drcConfiguration(Bonding) <Gold Bump>
// #DEFINE SOLDER_BUMP // Solder Bump. $drcConfiguration(Bonding) <Solder Bump>
//</dropdown> [Pad Bonding]
//GUI LIST END
#IFDEF $PADBONDING BALL
#DEFINE BALL
#ENDIF
#IFDEF $PADBONDING WEDGE
#DEFINE WEDGE
#ENDIF
#IFDEF $PADBONDING GOLD_BUMP
#DEFINE GOLD_BUMP
#ENDIF
#IFDEF $PADBONDING SOLDER_BUMP
#DEFINE SOLDER_BUMP
#ENDIF
// Refer to DM-000013_setting_xxx.pdf for more detailed explanation
//GUI LIST START (Include Virtual Latchup_MK)
//<dropdown -diespecific 1>
#DEFINE LATCHUP_DECK_PLUS_USER // $drcConfiguration(Latchup) <LATCHUP_DECK_PLUS_USER>
// #DEFINE LATCHUP_DECK_ONLY // $drcConfiguration(Latchup) <LATCHUP_DECK_ONLY>
// #DEFINE LATCHUP_USER_ONLY // $drcConfiguration(Latchup) <LATCHUP_USER_ONLY>
//</dropdown> [LATCHUP]
//GUI LIST END
#IFDEF $LATCH_CHECK DECK_PLUS_USER
#DEFINE LATCHUP_DECK_PLUS_USER
#ENDIF
#IFDEF $LATCH_CHECK DECK_ONLY
#DEFINE LATCHUP_DECK_ONLY
#ENDIF
#IFDEF $LATCH_CHECK USER_ONLY
#DEFINE LATCHUP_USER_ONLY
#ENDIF
// --------------------------------
// WAIVER SELECTION
// --------------------------------
//GUI LIST START (Select if Waiver Library is used)
//<dropdown -label "Waiver Library">
// #DEFINE EDA_WAIVER // Waived Library or IP is used $ipLibraryUsed <Yes>
#UNDEFINE EDA_WAIVER // Waived Library or IP is NOT used $ipLibraryUsed <No>
//</dropdown> [Waiver Library]
//GUI LIST END
#IFDEF $USE_GF_WAIVER YES
#DEFINE EDA_WAIVER
#ENDIF
#IFDEF $USE_GF_WAIVER NO
#UNDEFINE EDA_WAIVER
#ENDIF
// GUIDELINES (Off by Default)
// --------------------------------
//GUI LIST START (Guideline Checks)
// #DEFINE GUIDELINES_ALL // Select to run Guidelines
#UNDEFINE GUIDELINES_ALL // Select to turn off the Guidelines
//GUI LIST END
#IFDEF $RECOMMENDED_GUIDELINES YES
#DEFINE GUIDELINES_ALL
#ENDIF
#IFDEF $RECOMMENDED_GUIDELINES NO
#UNDEFINE GUIDELINES_ALL
#ENDIF
//GUI LIST START (Select Type of Guard Ring)
//<dropdown -label "Guard Ring">
// #DEFINE CUSTOMER_INSERT_GUARD_RING // Customer to insert guard ring $drcConfiguration(GuardRing) <Cust Insert Guard Ring>
#DEFINE FOUNDRY_INSERT_GUARD_RING // Foundry to insert guard ring $drcConfiguration(GuardRing) <Foundry Insert Guard Ring>
//</dropdown> [Guard Ring]
//GUI LIST END
//
#IFDEF $GUARD_RING CUST
#DEFINE CUSTOMER_INSERT_GUARD_RING
#ENDIF
#IFDEF $GUARD_RING FOUNDRY
#DEFINE FOUNDRY_INSERT_GUARD_RING
#ENDIF
// ------------------------------------------------------------------------------------------
// Additional drc check selection (uncomment the following lines for those Checks are NOT needed)
// ------------------------------------------------------------------------------------------
//GUI CHECK START (DR Checks to be Included)
//<checkbox -commentaslabel 1 -inverse 1>
// DRC UNSELECT CHECK ANALOG //Check Analog layer checks
DRC UNSELECT CHECK DCM_2 DCM_3 DCM_4 DCM_5 DCM_6 //Check Density checks
// DRC UNSELECT CHECK ANT_CHK //Check Antenna checks
DRC UNSELECT CHECK LAY_OFFGRID //Check Off-grid checks
DRC UNSELECT CHECK DCF_CHK
// DRC UNSELECT CHECK PAD_CHK //Check Pads Guidelines
DRC UNSELECT CHECK CUP_CHK //Check CUP WIRE bonding
// DRC UNSELECT CHECK TM_CHK //Check Bump Pad Checks
// DRC UNSELECT CHECK MSLOT_CHK //Check Metal Slot Checks
// DRC UNSELECT CHECK LATCH_UP_CHK //Check Latch-up Rules Checks
// DRC UNSELECT CHECK GR_CHK //Check Guard Ring Checks
//</checkbox> [DR Select Checks]
//GUI CHECK END
//////////////////////////////////////////////////////////////////
// --------------- //
// Include Section //
// --------------- //
// - Please CHECK to make sure the Include Filename is correct //
// - Please DO NOT Edit File //
// //
//////////////////////////////////////////////////////////////////
#ENCRYPT
INCLUDE $TECHDIR/DRC/Calibre/DRC-CC-000006/$baseDeckRev/Include_Files.cal
#ENDCRYPT
///////////////////////////////////////////////////////////////////////////////////////////////////////
///////////////////////// - END OF FILE - //////////////////////////