Additional corrections to the gf180mcu tech file for magic to correct DRC rules. Note that there were two corrections to the code base in magic corresponding to these and other DRC rule check changes.
diff --git a/VERSION b/VERSION index 5abf950..d1a7dfa 100644 --- a/VERSION +++ b/VERSION
@@ -1 +1 @@ -1.0.468 +1.0.469
diff --git a/gf180mcu/magic/gf180mcu.tech b/gf180mcu/magic/gf180mcu.tech index 7270795..fa3e8bb 100644 --- a/gf180mcu/magic/gf180mcu.tech +++ b/gf180mcu/magic/gf180mcu.tech
@@ -1069,7 +1069,7 @@ #ifdef MIM && METALS3 layer VIA2 mimcapc - squares-grid 10 260 500 + squares-grid 40 260 500 calma 38 0 #endif (MIM && METALS3) @@ -1114,7 +1114,7 @@ #ifdef MIM && METALS4 layer VIA3 mimcapc - squares-grid 10 260 500 + squares-grid 40 260 500 calma 40 0 #endif (MIM && METALS4) @@ -1160,7 +1160,7 @@ #ifdef (MIM && METALS5) layer VIA4 mimcapc - squares-grid 10 260 500 + squares-grid 40 260 500 calma 41 0 #endif (MIM && METALS5) @@ -1206,7 +1206,7 @@ #ifdef MIM layer VIATP mimcapc - squares-grid 10 260 500 + squares-grid 40 260 500 calma 129 0 #endif (MIM) @@ -1601,6 +1601,23 @@ templayer bad_rnw rnw and dnwell + # Check for minimum PPLUS and NPLUS area. NOTE: These are simplified + # versions of the cifoutput rules. + + templayer check_pplus + bloat-or *pdif,*pdiode,pdiffres,pfet,pcap,*mvpdif,*mvpdiode,mvpdiffres,mvpfet,mvpcap * 160 allnactivenonfet 0 + bloat-or psc,mvpsc * 95 + bloat-or *psd,*mvpsd * 20 allnactivenonfet 0 + grow 200 + shrink 200 + + templayer check_nplus + bloat-or *ndif,*ndiode,*nndiode,ndiffres,*mvndif,*mvndiode,*mvnndiode,mvndiffres * 160 allpactivenonfet 0 + bloat-or nsc,mvnsc * 95 + bloat-or *nsd,*mvnsd * 20 allpactivenonfet 0 + grow 200 + shrink 200 + # Define HRES layer for DRC checks templayer res_hres bloat-all mvhires,hires *poly @@ -2963,6 +2980,9 @@ "Deep N-well overlap of P-Diffusion < %d (DF.4e)" surround *mvpdiff,*mvpdiode,mvpfet,mvpcap dnwell 1100 absence_okay \ "Deep N-well overlap of P-Diffusion < %d (DF.4e)" + + + variants (full) # Use CIF-DRC rule to ensure that at least one exists. cifmaxwidth missing_nwell 0 bend_illegal \ "P-diffusion and N-ohmic must be over N-well or deep N-well" @@ -2976,6 +2996,10 @@ cifmaxwidth mvndiff_missing_pwell 0 bend_illegal \ "P-well must surround MV N-diffusion inside deep N-well by 0.60um (DF.8)" + cifarea check_pplus 350000 400 "Minimum PPLUS area >= %a (PP.8a)" + cifarea check_nplus 350000 400 "Minimum NPLUS area >= %a (NP.8a)" + variants * + # surround *psd pwell 120 absence_ok \ # "P-well overlap of P-Ohmic < %d (DF.5)" # surround *mvpsd pwell 160 absence_ok \