| tech | |
| format 32 | |
| TECHNAME-GDS | |
| end | |
| version | |
| version REVISION | |
| description "Google/SkyWater SKY130: Vendor GDS layers and supplementary DRC" | |
| requires magic-8.3.124 | |
| end | |
| #------------------------------------------------------------------------------ | |
| # This tech file represents all GDS layers exactly in magic with no boolean | |
| # transforms to generated layer types. It can be used to manipulate GDS and | |
| # is better for some DRC checks and for fill pattern generation. However, it | |
| # does not properly understand connectivity and cannot be used for extraction. | |
| #------------------------------------------------------------------------------ | |
| planes | |
| dnwell,dw | |
| well,w | |
| implant1,i1 | |
| implant2,i2 | |
| implant3,i3 | |
| implant4,i4 | |
| implant5,i5 | |
| implant6,i6 | |
| implant7,i7 | |
| implant8,i8 | |
| active,a | |
| poly,p | |
| mcon,mc | |
| locali,li1,li | |
| licon,lc | |
| metal1,m1 | |
| #ifdef RERAM | |
| reram,rr | |
| #endif | |
| via1,v1 | |
| metal2,m2 | |
| via2,v2 | |
| metal3,m3 | |
| cap1,c1 | |
| via3,v3 | |
| metal4,m4 | |
| cap2,c2 | |
| via4,v4 | |
| metal5,m5 | |
| glass,g | |
| blockd,bd | |
| blockp,bp | |
| blockl,bl | |
| block1,b1 | |
| block2,b2 | |
| block3,b3 | |
| block4,b4 | |
| block5,b5 | |
| ident1,id1 | |
| ident2,id2 | |
| ident3,id3 | |
| ident4,id4 | |
| ident5,id5 | |
| ident6,id6 | |
| ident7,id7 | |
| ident8,id8 | |
| ident9,id9 | |
| comment,c | |
| error,e | |
| end | |
| types | |
| dw DNWELL | |
| w NWELL | |
| w NWELLTXT | |
| w NWELLPIN | |
| w PWELL | |
| w PWELLTXT | |
| w PWELLPIN | |
| w PWELLRES | |
| a TAP | |
| a DIFF | |
| a DIFFTXT | |
| a DIFFPIN | |
| a DIFFRES | |
| a DIFFCUT | |
| a DIFFFILL | |
| i1 LVTN | |
| i1 HVTP | |
| i1 TUNM | |
| i1 NCM | |
| i2 THKOX | |
| i3 NPC | |
| i4 PSDM,PPLUS | |
| i5 NSDM,NPLUS | |
| i6 HVTR | |
| i6 RPM | |
| i6 URPM | |
| i7 LDNTM | |
| i8 HVNTM | |
| p POLY | |
| p POLYPIN | |
| p POLYTXT | |
| p POLYRES | |
| p POLYMOD | |
| p POLYCUT | |
| p POLYGATE | |
| p POLYFILL | |
| p POLYSHORT | |
| mc MCON | |
| li LI1,LI | |
| li LI1TXT,LITXT | |
| li LI1PIN,LIPIN | |
| li LI1RES,LIRES | |
| li LI1FILL,LIFILL | |
| li LI1SHORT,LISHORT | |
| lc LICON1,LICON | |
| m1 MET1 | |
| m1 MET1TXT | |
| m1 MET1PIN | |
| m1 MET1RES | |
| m1 MET1FILL | |
| m1 MET1SHORT | |
| v1 VIA1 | |
| #ifdef RERAM | |
| #undef RERAM | |
| rr RERAM | |
| #define RERAM 1 | |
| #endif | |
| m2 MET2 | |
| m2 MET2TXT | |
| m2 MET2PIN | |
| m2 MET2RES | |
| m2 MET2FILL | |
| m2 MET2SHORT | |
| v2 VIA2 | |
| m3 MET3 | |
| m3 MET3TXT | |
| m3 MET3PIN | |
| m3 MET3RES | |
| m3 MET3FILL | |
| m3 MET3SHORT | |
| c1 CAPM | |
| v3 VIA3 | |
| m4 MET4 | |
| m4 MET4TXT | |
| m4 MET4PIN | |
| m4 MET4RES | |
| m4 MET4FILL | |
| m4 MET4SHORT | |
| c2 CAPM2,CAP2M | |
| v4 VIA4 | |
| m5 MET5 | |
| m5 MET5TXT | |
| m5 MET5PIN | |
| m5 MET5RES | |
| m5 MET5FILL | |
| m5 MET5SHORT | |
| g PAD | |
| g PADTXT | |
| g PADPIN | |
| id1 SUBCUT | |
| id2 COREID | |
| id2 HVNWELLID | |
| id3 STDCELLID | |
| id4 ESDID | |
| id5 BOUND | |
| id5 BOUND2 | |
| id6 PNPID,PNP | |
| id6 NPNID,NPN | |
| id6 DIODEID,DIODE | |
| id6 PHOTOID,PHOTO | |
| id6 SEALID,SEAL | |
| id6 PADDIFFID | |
| id6 LVID,LOWVOLTAGE | |
| id7 INDID,IND | |
| id7 EDID,EXTDRAINID | |
| id7 CAPID,CAP | |
| id7 PADMETALID | |
| id8 LOWTAPDENSITY | |
| id8 PADCENTERID | |
| id8 OUTLINE | |
| id9 V5 | |
| id9 V12 | |
| id9 V20 | |
| bd DIFFBLOCK | |
| bp POLYBLOCK | |
| bl LIBLOCK | |
| b1 MET1BLOCK | |
| b2 MET2BLOCK | |
| b3 MET3BLOCK | |
| b4 MET4BLOCK | |
| b5 MET5BLOCK | |
| bp CP1MADD | |
| bp CP1MDROP | |
| bd CFOMDROP | |
| bl CLI1MADD | |
| bl CLI1MDROP | |
| id7 CNTMADD | |
| c TEXT | |
| c LVSTEXT | |
| c COMMENT | |
| c UNKNOWN1 | |
| c UNKNOWN2 | |
| c UNKNOWN3 | |
| e ERROR | |
| end | |
| contact | |
| end | |
| aliases | |
| ALLNWELL NWELL,NWELLTXT,NWELLPIN | |
| ALLPWELL PWELL,PWELLTXT,PWELLPIN,PWELLRES | |
| ALLDIFF TAP,DIFF,DIFFTXT,DIFFPIN,DIFFRES,DIFFCUT | |
| ALLPOLY POLY,POLYTXT,POLYPIN,POLYRES,POLYMOD,POLYCUT,POLYGATE | |
| ALLLI LI1,LI1TXT,LI1PIN,LI1RES | |
| ALLM1 MET1,MET1TXT,MET1PIN,MET1RES | |
| ALLM2 MET2,MET2TXT,MET2PIN,MET2RES | |
| ALLM3 MET3,MET3TXT,MET3PIN,MET3RES | |
| ALLM4 MET4,MET4TXT,MET4PIN,MET4RES | |
| ALLM5 MET5,MET5TXT,MET5PIN,MET5RES | |
| ALLPAD PAD,PADTXT,PADPIN | |
| end | |
| styles | |
| styletype mos | |
| NWELL nwell | |
| NWELLTXT nwell | |
| NWELLPIN nwell | |
| PWELL pwell | |
| PWELLTXT pwell | |
| PWELLPIN pwell | |
| PWELLRES pwell poly_resist_stripes | |
| DNWELL cwell | |
| TAP pdiffusion | |
| DIFF ndiffusion | |
| DIFFTXT ndiffusion | |
| DIFFPIN ndiffusion | |
| DIFFFILL ndiffusion | |
| DIFFCUT ndiffusion | |
| DIFFRES ndiffusion poly_resist_stripes | |
| BOUND subcircuit | |
| BOUND2 subcircuit | |
| OUTLINE subcircuit | |
| POLY polysilicon | |
| POLYTXT polysilicon | |
| POLYPIN polysilicon | |
| POLYRES poly_resist poly_resist_stripes | |
| POLYCUT polysilicon | |
| POLYSHORT polysilicon | |
| POLYFILL polysilicon | |
| POLYGATE polysilicon | |
| POLYMOD polysilicon | |
| PSDM pdop_stripes | |
| NSDM ndop_stripes | |
| MCON contact_X'es | |
| LI1 metal1 | |
| LI1TXT metal1 | |
| LI1PIN metal1 | |
| LI1FILL metal1 | |
| LI1RES metal1 poly_resist_stripes | |
| LI1SHORT metal1 | |
| LICON metal1 metal2 via1 | |
| MET1 metal2 | |
| MET1TXT metal2 | |
| MET1PIN metal2 | |
| MET1FILL metal2 | |
| MET1RES metal2 poly_resist_stripes | |
| MET1SHORT metal2 | |
| VIA1 metal2 metal3 via2 | |
| MET2 metal3 | |
| MET2TXT metal3 | |
| MET2PIN metal3 | |
| MET2FILL metal3 | |
| MET2RES metal3 poly_resist_stripes | |
| MET2SHORT metal3 | |
| VIA2 metal3 metal4 via3 | |
| MET3 metal4 | |
| MET3TXT metal4 | |
| MET3PIN metal4 | |
| MET3FILL metal4 | |
| MET3RES metal4 poly_resist_stripes | |
| MET3SHORT metal4 | |
| CAPM mim_top | |
| VIA3 metal4 metal5 via4 | |
| MET4 metal5 | |
| MET4TXT metal5 | |
| MET4PIN metal5 | |
| MET4FILL metal5 | |
| MET4SHORT metal5 | |
| MET4RES metal5 poly_resist_stripes | |
| CAP2M mim_bottom | |
| VIA4 metal5 metal6 via5 | |
| MET5 metal6 | |
| MET5TXT metal6 | |
| MET5PIN metal6 | |
| MET5FILL metal6 | |
| MET5RES metal6 poly_resist_stripes | |
| MET5SHORT metal6 | |
| PAD overglass | |
| PADTXT overglass | |
| PADPIN overglass | |
| THKOX implant1 | |
| NPC implant2 | |
| RPM implant3 | |
| URPM implant3 | |
| LVTN implant4 | |
| LVTN implant1 | |
| HVTP implant2 | |
| TUNM implant3 | |
| NCM implant4 | |
| V5 subcircuit | |
| V12 subcircuit | |
| V20 subcircuit | |
| HVTR implant1 | |
| LDNTM implant2 | |
| HVNTM implant3 | |
| SUBCUT subcircuit | |
| STDCELLID subcircuit | |
| DIFFBLOCK poly_resist_stripes | |
| POLYBLOCK poly_resist_stripes | |
| LIBLOCK poly_resist_stripes | |
| MET1BLOCK poly_resist_stripes | |
| MET2BLOCK poly_resist_stripes | |
| MET3BLOCK poly_resist_stripes | |
| MET4BLOCK poly_resist_stripes | |
| MET5BLOCK poly_resist_stripes | |
| TEXT electrode | |
| LVSTEXT electrode | |
| COMMENT comment | |
| ERROR error_waffle | |
| error_p error_waffle | |
| error_s error_waffle | |
| error_ps error_waffle | |
| end | |
| compose | |
| end | |
| connect | |
| # This is a very primitive connection table, and may not be useful. | |
| # It does not correctly handle ReRAM or MiM caps. | |
| DIFF MCON | |
| TAP MCON | |
| POLY MCON | |
| MCON LI1 | |
| LI1 LICON | |
| LICON MET1 | |
| MET1 VIA1 | |
| VIA1 MET2 | |
| MET2 VIA2 | |
| VIA2 MET3 | |
| MET3 VIA3 | |
| VIA3 MET4 | |
| MET4 VIA4 | |
| VIA4 MET5 | |
| end | |
| cifoutput | |
| style sky130 variants (),(altfill) | |
| scalefactor 10 nanometers | |
| options calma-permissive-labels | |
| gridlimit 1 | |
| layer NWELL ALLNWELL | |
| calma 64 20 | |
| layer NWELLTXT | |
| labels NWELLTXT noport | |
| calma 64 16 | |
| layer NWELLPIN | |
| labels NWELLPIN port | |
| calma 64 5 | |
| layer PWELL PWELL | |
| labels PWELL | |
| calma 81 53 | |
| layer PWELLTXT PWELLTXT | |
| labels PWELLTXT noport | |
| calma 122 16 | |
| layer PWELLPIN PWELLPIN | |
| labels PWELLPIN port | |
| calma 64 59 | |
| layer DNWELL DNWELL | |
| labels DNWELL | |
| calma 64 18 | |
| layer DIFF DIFF | |
| labels DIFF | |
| calma 65 20 | |
| layer DIFFTXT | |
| labels DIFFTXT noport | |
| calma 65 6 | |
| layer DIFFPIN | |
| labels DIFFPIN noport | |
| calma 65 16 | |
| layer DIFFRES DIFFRES | |
| labels DIFFRES | |
| calma 65 13 | |
| layer DIFFCUT DIFFCUT | |
| labels DIFFCUT | |
| calma 65 14 | |
| layer TAP TAP | |
| labels TAP | |
| calma 65 44 | |
| layer POLY ALLPOLY | |
| calma 66 20 | |
| layer POLYTTXT | |
| labels POLYTXT noport | |
| calma 66 16 | |
| layer POLYPIN | |
| labels POLYPIN port | |
| calma 66 5 | |
| layer POLYCUT POLYCUT | |
| labels POLYCUT | |
| calma 66 14 | |
| layer POLYGATE POLYGATE | |
| labels POLYGATE | |
| calma 66 9 | |
| layer POLYMOD POLYMOD | |
| labels POLYMOD | |
| calma 66 83 | |
| layer POLYSHORT POLYSHORT | |
| labels POLYSHORT | |
| calma 66 15 | |
| layer LVTN LVTN | |
| labels LVTN | |
| calma 125 44 | |
| layer HVTP HVTP | |
| labels HVTP | |
| calma 78 44 | |
| layer HVI THKOX | |
| labels THKOX | |
| calma 75 20 | |
| layer TUNM TUNM | |
| labels TUNM | |
| calma 80 20 | |
| layer NPC NPC | |
| labels NPC | |
| calma 95 20 | |
| layer NCM NCM | |
| labels NCM | |
| calma 92 44 | |
| layer PSDM PSDM | |
| labels PSDM | |
| calma 94 20 | |
| layer NSDM NSDM | |
| labels NSDM | |
| calma 93 44 | |
| layer LICON1 LICON1 | |
| labels LICON1 | |
| calma 66 44 | |
| layer LI1 ALLLI | |
| calma 67 20 | |
| layer LI1TXT | |
| labels LI1TXT noport | |
| calma 67 16 | |
| layer LI1PIN | |
| labels LI1PIN port | |
| calma 67 5 | |
| layer MET1 ALLM1 | |
| calma 68 20 | |
| layer MET1TXT | |
| labels MET1TXT noport | |
| calma 68 16 | |
| layer MET1PIN | |
| labels MET1PIN port | |
| calma 68 5 | |
| layer MCON MCON | |
| labels MCON | |
| calma 67 44 | |
| layer MET2 ALLM2 | |
| calma 69 20 | |
| layer MET2TXT | |
| labels MET2TXT noport | |
| calma 69 16 | |
| layer MET2PIN | |
| labels MET2PIN port | |
| calma 69 5 | |
| layer VIA1 VIA1 | |
| labels VIA1 | |
| calma 68 44 | |
| #ifdef RERAM | |
| #undef RERAM | |
| layer RERAM RERAM | |
| labels RERAM | |
| calma 201 20 | |
| #define RERAM 1 | |
| #endif | |
| layer MET3 ALLM3 | |
| calma 70 20 | |
| layer MET3TXT | |
| labels MET3TXT noport | |
| calma 70 16 | |
| layer MET3PIN | |
| labels MET3PIN port | |
| calma 70 5 | |
| layer VIA2 VIA2 | |
| labels VIA2 | |
| calma 69 44 | |
| layer CAPM CAPM | |
| labels CAPM | |
| calma 89 44 | |
| layer MET4 ALLM4 | |
| calma 71 20 | |
| layer MET4TXT | |
| labels MET4TXT noport | |
| calma 71 16 | |
| layer MET4PIN | |
| labels MET4PIN port | |
| calma 71 5 | |
| layer VIA3 VIA3 | |
| labels VIA3 | |
| calma 70 44 | |
| layer CAP2M CAP2M | |
| labels CAP2M | |
| calma 97 44 | |
| layer MET5 ALLM5 | |
| calma 72 20 | |
| layer MET5TXT | |
| labels MET5TXT noport | |
| calma 72 16 | |
| layer MET5PIN | |
| labels MET5PIN port | |
| calma 72 5 | |
| layer VIA4 VIA4 | |
| labels VIA4 | |
| calma 71 44 | |
| layer PAD ALLPAD | |
| calma 76 20 | |
| layer PADTXT | |
| labels PADTXT noport | |
| calma 76 16 | |
| layer PADPIN | |
| labels PADPIN port | |
| calma 76 5 | |
| layer STDCELLID STDCELLID | |
| labels STDCELLID | |
| calma 81 4 | |
| layer TEXT TEXT | |
| labels TEXT | |
| calma 83 44 | |
| layer HVTR HVTR | |
| labels HVTR | |
| calma 18 20 | |
| layer RPM RPM | |
| labels RPM | |
| calma 86 20 | |
| layer URPM URPM | |
| labels URPM | |
| calma 79 20 | |
| layer LDNTM LDNTM | |
| labels LDNTM | |
| calma 11 44 | |
| layer HVNTM HVNTM | |
| labels HVNTM | |
| calma 125 20 | |
| layer PNP PNP | |
| labels PNP | |
| calma 82 44 | |
| layer NPN NPN | |
| labels NPN | |
| calma 82 20 | |
| layer CAP CAP | |
| labels CAP | |
| calma 82 64 | |
| layer IND IND | |
| labels IND | |
| calma 82 24 | |
| layer LVID LVID | |
| labels LVID | |
| calma 81 60 | |
| layer CP1MADD CP1MADD | |
| labels CP1MADD | |
| calma 33 43 | |
| layer CP1MDROP CP1MDROP | |
| labels CP1MDROP | |
| calma 33 42 | |
| layer CFOMDROP CFOMDROP | |
| labels CFOMDROP | |
| calma 22 22 | |
| layer CLI1MADD CLI1MADD | |
| labels CLI1MADD | |
| calma 115 43 | |
| layer CLI1MDROP CLI1MDROP | |
| labels CLI1MDROP | |
| calma 115 42 | |
| layer CNTMADD CNTMADD | |
| labels CNTMADD | |
| calma 22 21 | |
| layer PWELLRES PWELLRES | |
| labels PWELLRES | |
| calma 64 13 | |
| layer POLYRES POLYRES | |
| labels POLYRES | |
| calma 66 13 | |
| layer DIODE DIODE | |
| labels DIODE | |
| calma 81 23 | |
| layer COREID COREID | |
| labels COREID | |
| calma 81 2 | |
| # Is BOUND2 preferable here? | |
| layer BOUND BOUND | |
| labels BOUND | |
| calma 235 4 | |
| layer BOUND2 BOUND2 | |
| labels BOUND2 | |
| calma 235 0 | |
| layer OUTLINE OUTLINE | |
| labels OUTLINE | |
| calma 236 0 | |
| layer ESDID ESDID | |
| labels ESDID | |
| calma 81 19 | |
| layer UNKNOWN1 UNKNOWN1 | |
| labels UNKNOWN1 | |
| calma 230 241 | |
| layer UNKNOWN2 UNKNOWN2 | |
| labels UNKNOWN2 | |
| calma 230 242 | |
| layer UNKNOWN3 UNKNOWN3 | |
| labels UNKNOWN3 | |
| calma 64 44 | |
| variants () | |
| layer DIFFFILL DIFFFILL | |
| labels DIFFFILL | |
| calma 23 28 | |
| layer POLYFILL POLYFILL | |
| labels POLYFILL | |
| calma 28 28 | |
| layer LI1FILL LI1FILL | |
| labels LI1FILL | |
| calma 56 28 | |
| layer MET1FILL MET1FILL | |
| labels MET1FILL | |
| calma 36 28 | |
| layer MET2FILL MET2FILL | |
| labels MET2FILL | |
| calma 41 28 | |
| layer MET3FILL MET3FILL | |
| labels MET3FILL | |
| calma 34 28 | |
| layer MET4FILL MET4FILL | |
| labels MET4FILL | |
| calma 51 28 | |
| layer MET5FILL MET5FILL | |
| labels MET5FILL | |
| calma 59 28 | |
| layer DIFFBLOCK DIFFBLOCK | |
| labels DIFFBLOCK | |
| calma 22 24 | |
| layer POLYBLOCK POLYBLOCK | |
| labels POLYBLOCK | |
| calma 33 24 | |
| layer MET1BLOCK MET1BLOCK | |
| labels MET1BLOCK | |
| calma 62 24 | |
| layer MET2BLOCK MET2BLOCK | |
| labels MET2BLOCK | |
| calma 105 52 | |
| layer MET3BLOCK MET3BLOCK | |
| labels MET3BLOCK | |
| calma 107 24 | |
| layer MET4BLOCK MET4BLOCK | |
| labels MET4BLOCK | |
| calma 112 4 | |
| layer MET5BLOCK MET5BLOCK | |
| labels MET5BLOCK | |
| calma 117 4 | |
| variants (altfill) | |
| layer DIFFFILL DIFFFILL | |
| labels DIFFFILL | |
| calma 65 99 | |
| layer POLYFILL POLYFILL | |
| labels POLYFILL | |
| calma 66 99 | |
| layer LI1FILL LI1FILL | |
| labels LI1FILL | |
| calma 67 99 | |
| layer MET1FILL MET1FILL | |
| labels MET1FILL | |
| calma 68 99 | |
| layer MET2FILL MET2FILL | |
| labels MET2FILL | |
| calma 69 99 | |
| layer MET3FILL MET3FILL | |
| labels MET3FILL | |
| calma 70 99 | |
| layer MET4FILL MET4FILL | |
| labels MET4FILL | |
| calma 71 99 | |
| layer MET5FILL MET5FILL | |
| labels MET5FILL | |
| calma 72 99 | |
| layer DIFFBLOCK DIFFBLOCK | |
| labels DIFFBLOCK | |
| calma 65 98 | |
| layer POLYBLOCK POLYBLOCK | |
| labels POLYBLOCK | |
| calma 67 98 | |
| layer MET1BLOCK MET1BLOCK | |
| labels MET1BLOCK | |
| calma 68 98 | |
| layer MET2BLOCK MET2BLOCK | |
| labels MET2BLOCK | |
| calma 69 98 | |
| layer MET3BLOCK MET3BLOCK | |
| labels MET3BLOCK | |
| calma 70 98 | |
| layer MET4BLOCK MET4BLOCK | |
| labels MET4BLOCK | |
| calma 71 98 | |
| layer MET5BLOCK MET5BLOCK | |
| labels MET5BLOCK | |
| calma 72 98 | |
| variants * | |
| layer LISHORT LISHORT | |
| labels LISHORT | |
| calma 67 15 | |
| layer MET1SHORT MET1SHORT | |
| labels MET1SHORT | |
| calma 68 15 | |
| layer MET2SHORT MET2SHORT | |
| labels MET2SHORT | |
| calma 69 15 | |
| layer MET3SHORT MET3SHORT | |
| labels MET3SHORT | |
| calma 70 15 | |
| layer MET4SHORT MET4SHORT | |
| labels MET4SHORT | |
| calma 71 15 | |
| layer MET5SHORT MET5SHORT | |
| labels MET5SHORT | |
| calma 72 15 | |
| layer MET1RES MET1RES | |
| labels MET1RES | |
| calma 68 13 | |
| layer MET2RES MET2RES | |
| labels MET2RES | |
| calma 69 13 | |
| layer MET3RES MET3RES | |
| labels MET3RES | |
| calma 70 13 | |
| layer MET4RES MET4RES | |
| labels MET4RES | |
| calma 71 13 | |
| layer MET5RES MET5RES | |
| labels MET5RES | |
| calma 72 13 | |
| #---------------------------------------------------------------- | |
| style wafflefill variants (),(tiled) | |
| #---------------------------------------------------------------- | |
| # Style used by scripts for automatically generating fill layers | |
| # NOTE: Be sure to generate output on flattened layout. | |
| #---------------------------------------------------------------- | |
| scalefactor 10 nanometers | |
| options calma-permissive-labels | |
| gridlimit 5 | |
| #---------------------------------------------------------------- | |
| # Generate and retain a layer representing the bounding box. | |
| # | |
| # For variant (): | |
| # The bounding box is the full extent of geometry on the top level | |
| # cell. | |
| # | |
| # For variant (tiled): | |
| # Use with a script that breaks layout into flattened tiles and runs | |
| # fill individually on each. The tiles should be larger than the | |
| # step size, and each should draw a layer "COMMENT" the size of the | |
| # step box. | |
| #---------------------------------------------------------------- | |
| variants () | |
| templayer topbox | |
| bbox top | |
| variants (tiled) | |
| templayer topbox COMMENT | |
| # Each tile imposes the full keepout distance rule of | |
| # 3um on all sides. | |
| shrink 1500 | |
| variants * | |
| #---------------------------------------------------------------- | |
| # Generate guard-band around nwells to keep FOM from crossing | |
| # Spacing from LV nwell = Diff/Tap 9 = 0.34um | |
| # Spacing from HV nwell = Diff/Tap 18 = 0.43um (= 0.18 + 0.25) | |
| # Enclosure by nwell = Diff/Tap 8 = 0.18um | |
| #---------------------------------------------------------------- | |
| templayer alldiffmv ALLDIFF | |
| and THKOX | |
| templayer mvnwell | |
| bloat-all alldiffmv ALLNWELL | |
| templayer lvnwell ALLNWELL | |
| and-not mvnwell | |
| templayer well_shrink mvnwell | |
| shrink 250 | |
| or lvnwell | |
| shrink 180 | |
| templayer well_guardband ALLNWELL | |
| grow 340 | |
| and-not well_shrink | |
| # Generate guard-band around THKOX edge to keep FOM from crossing | |
| # spacing from THKOX to diff 0.18um | |
| templayer hvi_shrink THKOX | |
| shrink 180 | |
| templayer hvi_guardband THKOX | |
| grow 180 | |
| and-not hvi_shrink | |
| #--------------------------------------------------- | |
| # Diffusion and poly keep-out areas | |
| #--------------------------------------------------- | |
| templayer obstruct_fom ALLDIFF,ALLPOLY,DIFFFILL,POLYFILL,DIFFBLOCK,POLYBLOCK | |
| or PWELLRES,PNP,NPN | |
| grow 500 | |
| or well_guardband,hvi_guardband,NSDM,PSDM | |
| templayer obstruct_poly ALLDIFF,ALLPOLY,DIFFFILL,POLYFILL,DIFFBLOCK,POLYBLOCK | |
| or PWELLRES,PNP,NPN | |
| grow 1000 | |
| or NSDM,PSDM | |
| #--------------------------------------------------- | |
| # FOM and POLY fill | |
| #--------------------------------------------------- | |
| templayer fomfill_pass1 topbox | |
| slots 0 4080 1600 0 4080 1600 1360 0 | |
| and-not obstruct_fom | |
| and topbox | |
| orthogonal remove | |
| shrink 2035 | |
| grow 2035 | |
| #--------------------------------------------------- | |
| templayer obstruct_poly_pass1 fomfill_pass1 | |
| grow 300 | |
| or obstruct_poly | |
| templayer polyfill_pass1 topbox | |
| slots 0 720 360 0 720 360 240 0 | |
| and-not obstruct_poly_pass1 | |
| and topbox | |
| orthogonal remove | |
| shrink 355 | |
| grow 355 | |
| #--------------------------------------------------- | |
| templayer obstruct_fom_pass2 fomfill_pass1 | |
| grow 1290 | |
| or polyfill_pass1 | |
| grow 300 | |
| or obstruct_fom | |
| templayer fomfill_pass2 topbox | |
| slots 0 2500 1320 0 2500 1320 1360 0 | |
| and-not obstruct_fom_pass2 | |
| and topbox | |
| orthogonal remove | |
| shrink 1245 | |
| grow 1245 | |
| #--------------------------------------------------- | |
| templayer obstruct_poly_coarse polyfill_pass1 | |
| grow 60 | |
| or fomfill_pass1,fomfill_pass2 | |
| grow 300 | |
| or obstruct_poly | |
| templayer polyfill_coarse topbox | |
| slots 0 720 360 0 720 360 240 120 | |
| and-not obstruct_poly_coarse | |
| and topbox | |
| orthogonal remove | |
| shrink 355 | |
| grow 355 | |
| #--------------------------------------------------- | |
| templayer obstruct_poly_medium polyfill_pass1,polyfill_coarse | |
| grow 60 | |
| or fomfill_pass1,fomfill_pass2 | |
| grow 300 | |
| or obstruct_poly | |
| templayer polyfill_medium topbox | |
| slots 0 540 360 0 540 360 240 100 | |
| and-not obstruct_poly_medium | |
| and topbox | |
| orthogonal remove | |
| shrink 265 | |
| grow 265 | |
| #--------------------------------------------------- | |
| templayer obstruct_poly_fine polyfill_pass1,polyfill_coarse,polyfill_medium | |
| grow 60 | |
| or fomfill_pass1,fomfill_pass2 | |
| grow 300 | |
| or obstruct_poly | |
| templayer polyfill_fine topbox | |
| slots 0 480 360 0 480 360 240 200 | |
| and-not obstruct_poly_fine | |
| and topbox | |
| orthogonal remove | |
| shrink 235 | |
| grow 235 | |
| #--------------------------------------------------- | |
| templayer obstruct_fom_coarse fomfill_pass1,fomfill_pass2 | |
| grow 1290 | |
| or polyfill_pass1,polyfill_coarse,polyfill_medium,polyfill_fine | |
| grow 300 | |
| or obstruct_fom | |
| templayer fomfill_coarse topbox | |
| slots 0 1500 1320 0 1500 1320 1360 0 | |
| and-not obstruct_fom_coarse | |
| and topbox | |
| orthogonal remove | |
| shrink 745 | |
| grow 745 | |
| #--------------------------------------------------- | |
| templayer obstruct_fom_fine fomfill_pass1,fomfill_pass2,fomfill_coarse | |
| grow 1290 | |
| or polyfill_pass1,polyfill_coarse,polyfill_medium,polyfill_fine | |
| grow 300 | |
| or obstruct_fom | |
| templayer fomfill_fine topbox | |
| slots 0 500 400 0 500 400 160 0 | |
| and-not obstruct_fom_fine | |
| and topbox | |
| orthogonal remove | |
| shrink 245 | |
| grow 245 | |
| #--------------------------------------------------- | |
| layer FOMFILL fomfill_pass1 | |
| or fomfill_pass2 | |
| or fomfill_coarse | |
| or fomfill_fine | |
| # calma 23 28 | |
| calma 65 99 | |
| layer POLYFILL polyfill_pass1 | |
| or polyfill_coarse | |
| or polyfill_medium | |
| or polyfill_fine | |
| # calma 28 28 | |
| calma 66 99 | |
| #--------------------------------------------------------- | |
| # LI fill | |
| # Note requirement that LI fill may not overlap (non-fill) | |
| # diff or poly. | |
| # | |
| # Important note: sky130 does not define an LI mask fill | |
| # blockage layer, because LI fill requirements were added | |
| # to the process after the open PDK was made. While | |
| # obstruction layers can be used in magic to block LI | |
| # fill, this does not translate into GDS, so running fill | |
| # on a GDS top level cell will result in LI fill shapes | |
| # being placed in the corner and under the seal ring. To | |
| # work around this, I have added obsm1 to the layers that | |
| # obstruct LI, which is a bit of a hack but should not | |
| # cause issues in practice. | |
| #--------------------------------------------------------- | |
| templayer obstruct_li_coarse ALLLI,LI1FILL,LIBLOCK | |
| grow 2800 | |
| or ALLDIFF,ALLPOLY | |
| grow 200 | |
| or MET1BLOCK | |
| templayer lifill_coarse topbox | |
| # slots 0 3000 650 0 3000 650 700 0 | |
| slots 0 3000 900 0 3000 900 700 0 | |
| and-not obstruct_li_coarse | |
| and topbox | |
| orthogonal remove | |
| shrink 1495 | |
| grow 1495 | |
| templayer obstruct_li_medium ALLLI,LI1FILL,LIBLOCK | |
| grow 2500 | |
| or lifill_coarse | |
| grow 300 | |
| or ALLDIFF,ALLPOLY | |
| grow 200 | |
| or MET1BLOCK | |
| templayer lifill_medium topbox | |
| slots 0 1500 500 0 1500 500 700 0 | |
| and-not obstruct_li_medium | |
| and topbox | |
| orthogonal remove | |
| shrink 745 | |
| grow 745 | |
| templayer obstruct_li_fine ALLLI,LI1FILL,LIBLOCK | |
| or lifill_coarse,lifill_medium | |
| grow 300 | |
| or ALLDIFF,ALLPOLY | |
| grow 200 | |
| or MET1BLOCK | |
| templayer lifill_fine topbox | |
| slots 0 580 500 0 580 500 700 0 | |
| and-not obstruct_li_fine | |
| and topbox | |
| orthogonal remove | |
| shrink 285 | |
| grow 285 | |
| layer LIFILL lifill_coarse | |
| or lifill_medium | |
| or lifill_fine | |
| # calma 56 28 | |
| calma 67 99 | |
| #--------------------------------------------------- | |
| # MET1 fill | |
| #--------------------------------------------------- | |
| templayer obstruct_m1_coarse ALLM1,PAD,MET1FILL,MET1BLOCK | |
| grow 3000 | |
| templayer met1fill_coarse topbox | |
| # slots 0 2000 200 0 2000 200 700 0 | |
| slots 0 2000 800 0 2000 800 700 350 | |
| and-not obstruct_m1_coarse | |
| and topbox | |
| orthogonal remove | |
| shrink 995 | |
| grow 995 | |
| templayer obstruct_m1_medium ALLM1,PAD,MET1FILL,MET1BLOCK | |
| grow 2800 | |
| or met1fill_coarse | |
| grow 200 | |
| templayer met1fill_medium topbox | |
| slots 0 1000 200 0 1000 200 700 0 | |
| and-not obstruct_m1_medium | |
| and topbox | |
| orthogonal remove | |
| shrink 495 | |
| grow 495 | |
| templayer obstruct_m1_fine ALLM1,PAD,MET1FILL,MET1BLOCK | |
| grow 300 | |
| or met1fill_coarse,met1fill_medium | |
| grow 200 | |
| templayer met1fill_fine topbox | |
| slots 0 580 200 0 580 200 700 0 | |
| and-not obstruct_m1_fine | |
| and topbox | |
| orthogonal remove | |
| shrink 285 | |
| grow 285 | |
| templayer obstruct_m1_veryfine ALLM1,PAD,MET1FILL,MET1BLOCK | |
| grow 100 | |
| or met1fill_coarse,met1fill_medium,met1fill_fine | |
| grow 200 | |
| templayer met1fill_veryfine topbox | |
| slots 0 300 200 0 300 200 100 50 | |
| and-not obstruct_m1_veryfine | |
| and topbox | |
| orthogonal remove | |
| shrink 145 | |
| grow 145 | |
| layer MET1FILL met1fill_coarse | |
| or met1fill_medium | |
| or met1fill_fine | |
| or met1fill_veryfine | |
| # calma 36 28 | |
| calma 68 99 | |
| #--------------------------------------------------- | |
| # MET2 fill | |
| #--------------------------------------------------- | |
| templayer obstruct_m2 ALLM2,PAD,MET2FILL,MET2BLOCK | |
| grow 3000 | |
| templayer met2fill_coarse topbox | |
| # slots 0 2000 200 0 2000 200 700 350 | |
| slots 0 2000 800 0 2000 800 700 350 | |
| and-not obstruct_m2 | |
| and topbox | |
| orthogonal remove | |
| shrink 995 | |
| grow 995 | |
| templayer obstruct_m2_medium ALLM2,PAD,MET2FILL,MET2BLOCK | |
| grow 2800 | |
| or met2fill_coarse | |
| grow 200 | |
| templayer met2fill_medium topbox | |
| slots 0 1000 200 0 1000 200 700 350 | |
| and-not obstruct_m2_medium | |
| and topbox | |
| orthogonal remove | |
| shrink 495 | |
| grow 495 | |
| templayer obstruct_m2_fine ALLM2,PAD,MET2FILL,MET2BLOCK | |
| grow 300 | |
| or met2fill_coarse,met2fill_medium | |
| grow 200 | |
| templayer met2fill_fine topbox | |
| slots 0 580 200 0 580 200 700 350 | |
| and-not obstruct_m2_fine | |
| and topbox | |
| orthogonal remove | |
| shrink 285 | |
| grow 285 | |
| templayer obstruct_m2_veryfine ALLM2,PAD,MET2FILL,MET2BLOCK | |
| grow 100 | |
| or met2fill_coarse,met2fill_medium,met2fill_fine | |
| grow 200 | |
| templayer met2fill_veryfine topbox | |
| slots 0 300 200 0 300 200 100 100 | |
| and-not obstruct_m2_veryfine | |
| and topbox | |
| orthogonal remove | |
| shrink 145 | |
| grow 145 | |
| layer MET2FILL met2fill_coarse | |
| or met2fill_medium | |
| or met2fill_fine | |
| or met2fill_veryfine | |
| # calma 41 28 | |
| calma 69 99 | |
| #--------------------------------------------------- | |
| # MET3 fill | |
| #--------------------------------------------------- | |
| templayer obstruct_m3 ALLM3,PAD,MET3FILL,MET3BLOCK | |
| grow 3000 | |
| templayer met3fill_coarse topbox | |
| # slots 0 2000 300 0 2000 300 700 700 | |
| slots 0 2000 800 0 2000 800 700 350 | |
| and-not obstruct_m3 | |
| and topbox | |
| orthogonal remove | |
| shrink 995 | |
| grow 995 | |
| templayer obstruct_m3_medium ALLM3,PAD,MET3FILL,MET3BLOCK | |
| grow 2700 | |
| or met3fill_coarse | |
| grow 300 | |
| templayer met3fill_medium topbox | |
| slots 0 1000 300 0 1000 300 700 700 | |
| and-not obstruct_m3_medium | |
| and topbox | |
| orthogonal remove | |
| shrink 495 | |
| grow 495 | |
| templayer obstruct_m3_fine CAPM | |
| grow 840 | |
| or ALLM3,PAD,MET3FILL,MET3BLOCK | |
| grow 200 | |
| or met3fill_coarse,met3fill_medium | |
| grow 300 | |
| templayer met3fill_fine topbox | |
| slots 0 580 300 0 580 300 700 700 | |
| and-not obstruct_m3_fine | |
| and topbox | |
| orthogonal remove | |
| shrink 285 | |
| grow 285 | |
| templayer obstruct_m3_veryfine CAPM | |
| grow 940 | |
| or ALLM3,PAD,MET3FILL,MET3BLOCK | |
| # Note: Adding 0.1 to waffle rule to clear wide spacing rule | |
| grow 100 | |
| or met3fill_coarse,met3fill_medium,met3fill_fine | |
| grow 300 | |
| templayer met3fill_veryfine topbox | |
| slots 0 500 300 0 500 300 150 200 | |
| and-not obstruct_m3_veryfine | |
| and topbox | |
| orthogonal remove | |
| shrink 245 | |
| grow 245 | |
| layer MET3FILL met3fill_coarse | |
| or met3fill_medium | |
| or met3fill_fine | |
| or met3fill_veryfine | |
| # calma 34 28 | |
| calma 70 99 | |
| #--------------------------------------------------- | |
| # MET4 fill | |
| #--------------------------------------------------- | |
| templayer obstruct_m4 PAD | |
| grow 2500 | |
| or ALLM4,MET4FILL,MET4BLOCK | |
| grow 3000 | |
| templayer met4fill_coarse topbox | |
| # slots 0 2000 300 0 2000 300 700 1050 | |
| slots 0 2000 800 0 2000 800 700 350 | |
| and-not obstruct_m4 | |
| and topbox | |
| orthogonal remove | |
| shrink 995 | |
| grow 995 | |
| templayer obstruct_m4_medium PAD | |
| grow 2500 | |
| or ALLM4,MET4FILL,MET4BLOCK | |
| grow 2700 | |
| or met4fill_coarse | |
| grow 300 | |
| templayer met4fill_medium topbox | |
| slots 0 1000 300 0 1000 300 700 1050 | |
| and-not obstruct_m4_medium | |
| and topbox | |
| orthogonal remove | |
| shrink 495 | |
| grow 495 | |
| templayer obstruct_m4_fine PAD | |
| grow 4160 | |
| or CAPM2 | |
| grow 840 | |
| or ALLM4,MET4FILL,MET4BLOCK | |
| grow 200 | |
| or met4fill_coarse,met4fill_medium | |
| grow 300 | |
| templayer met4fill_fine topbox | |
| slots 0 580 300 0 580 300 700 1050 | |
| and-not obstruct_m4_fine | |
| and topbox | |
| orthogonal remove | |
| shrink 285 | |
| grow 285 | |
| templayer obstruct_m4_veryfine PAD | |
| grow 4160 | |
| or CAPM2 | |
| grow 940 | |
| or ALLM4,MET4FILL,MET4BLOCK | |
| # Note: Adding 0.1 to waffle rule to clear wide spacing rule | |
| grow 100 | |
| or met4fill_coarse,met4fill_medium,met4fill_fine | |
| grow 300 | |
| templayer met4fill_veryfine topbox | |
| slots 0 500 300 0 500 300 150 300 | |
| and-not obstruct_m4_veryfine | |
| and topbox | |
| orthogonal remove | |
| shrink 245 | |
| grow 245 | |
| layer MET4FILL met4fill_coarse | |
| or met4fill_medium | |
| or met4fill_fine | |
| or met4fill_veryfine | |
| # calma 51 28 | |
| calma 71 99 | |
| #--------------------------------------------------- | |
| # MET5 fill | |
| #--------------------------------------------------- | |
| templayer obstruct_m5 ALLM5,PAD,MET5FILL,MET5BLOCK | |
| grow 3000 | |
| templayer met5fill_coarse topbox | |
| slots 0 5000 1600 0 5000 1600 1000 100 | |
| and-not obstruct_m5 | |
| and topbox | |
| orthogonal remove | |
| shrink 2495 | |
| grow 2495 | |
| templayer obstruct_m5_medium ALLM5,PAD,MET5FILL,MET5BLOCK | |
| grow 1400 | |
| or met5fill_coarse | |
| grow 1600 | |
| templayer met5fill_medium topbox | |
| slots 0 3000 1600 0 3000 1600 1000 100 | |
| and-not obstruct_m5_medium | |
| and topbox | |
| orthogonal remove | |
| shrink 1495 | |
| grow 1495 | |
| layer MET5FILL met5fill_coarse | |
| or met5fill_medium | |
| # calma 59 28 | |
| calma 72 99 | |
| end | |
| cifinput | |
| style sky130 | |
| scalefactor 10 nanometers | |
| layer DNWELL DNWELL | |
| layer NWELL NWELL,NWELLTXT,NWELLPIN | |
| labels NWELL | |
| labels NWELLPIN port | |
| labels NWELLTXT text | |
| layer PWELL PWELL,PWELLTXT,PWELLPIN | |
| labels PWELL | |
| labels PWELLPIN port | |
| labels PWELLTXT text | |
| layer LVTN LVTN | |
| layer HVTP HVTP | |
| layer THKOX HVI | |
| layer TUNM TUNM | |
| layer DIFF DIFF,TAP,DIFFTXT,DIFFPIN | |
| labels DIFF | |
| labels DIFFPIN port | |
| labels DIFFTXT text | |
| layer DIFFCUT DIFFCUT | |
| layer DIFFRES DIFFRES | |
| layer DIFFFILL DIFFFILL,ALTDIFFFILL | |
| layer DIFFBLOCK DIFFBLOCK,ALTDIFFBLOCK | |
| layer POLY POLY,POLYTXT,POLYPIN | |
| labels POLY | |
| labels POLYPIN port | |
| labels POLYTXT text | |
| layer POLYMOD POLYMOD | |
| layer POLYRES POLYRES | |
| layer POLYCUT POLYCUT | |
| layer POLYGATE POLYGATE | |
| layer POLYFILL POLYFILL,ALTPOLYFILL | |
| layer POLYBLOCK POLYBLOCK,ALTPOLYBLOCK | |
| layer POLYSHORT POLYSHORT | |
| layer NPC NPC | |
| layer NCM NCM | |
| layer PSDM PSDM | |
| layer NSDM NSDM | |
| layer LICON LICON1 | |
| layer LI1 LI1,LI1TXT,LI1PIN | |
| labels LI1 | |
| labels LI1PIN port | |
| labels LI1TXT text | |
| layer LI1RES LI1RES | |
| layer LI1FILL LI1FILL,ALTLI1FILL | |
| layer LIBLOCK LIBLOCK,ALTLIBLOCK,OLDLIBLOCK | |
| layer LISHORT LISHORT | |
| layer MCON MCON | |
| layer MET1 MET1,MET1TXT,MET1PIN | |
| labels MET1 | |
| labels MET1PIN port | |
| labels MET1TXT text | |
| layer MET1RES MET1RES | |
| layer MET1FILL MET1FILL,ALTMET1FILL | |
| layer MET1BLOCK MET1BLOCK,ALTMET1BLOCK,OLDMET1BLOCK | |
| layer MET1SHORT MET1SHORT | |
| layer VIA1 VIA1 | |
| layer MET2 MET2,MET2TXT,MET2PIN | |
| labels MET2 | |
| labels MET2PIN port | |
| labels MET2TXT text | |
| layer MET2RES MET2RES | |
| layer MET2FILL MET2FILL,ALTMET2FILL | |
| layer MET2BLOCK MET2BLOCK,ALTMET2BLOCK,OLDMET2BLOCK | |
| layer MET2SHORT MET2SHORT | |
| layer VIA2 VIA2 | |
| layer MET3 MET3,MET3TXT,MET3PIN | |
| labels MET3 | |
| labels MET3PIN port | |
| labels MET3TXT text | |
| layer MET3RES MET3RES | |
| layer MET3FILL MET3FILL,ALTMET3FILL | |
| layer MET3BLOCK MET3BLOCK,ALTMET3BLOCK,OLDMET3BLOCK | |
| layer MET3SHORT MET3SHORT | |
| layer VIA3 VIA3 | |
| layer MET4 MET4,MET4TXT,MET4PIN | |
| labels MET4 | |
| labels MET4PIN port | |
| labels MET4TXT text | |
| layer MET4RES MET4RES | |
| layer MET4FILL MET4FILL,ALTMET4FILL | |
| layer MET4BLOCK MET4BLOCK,ALTMET4BLOCK,OLDMET4BLOCK | |
| layer MET4SHORT MET4SHORT | |
| layer VIA4 VIA4 | |
| layer MET5 MET5,MET5TXT,MET5PIN | |
| labels MET5 | |
| labels MET5PIN port | |
| labels MET5TXT text | |
| layer MET5RES MET5RES | |
| layer MET5FILL MET5FILL,ALTMET5FILL | |
| layer MET5BLOCK MET5BLOCK,ALTMET5BLOCK,OLDMET5BLOCK | |
| layer MET5SHORT MET5SHORT | |
| layer PAD PAD,PADTXT,PADPIN | |
| labels PAD | |
| labels PADPIN port | |
| labels PADTXT text | |
| layer STDCELLID STDCELLID | |
| layer COREID COREID | |
| layer TEXT TEXT | |
| layer HVTR HVTR | |
| layer RPM RPM | |
| layer URPM URPM | |
| layer LDNTM LDNTM | |
| layer HVNTM HVNTM | |
| layer PNP PNP | |
| layer NPN NPN | |
| layer CAP CAP | |
| layer LVID LVID | |
| layer IND IND | |
| layer ESD ESDID | |
| layer DIODE DIODE | |
| layer BOUND BOUND | |
| layer BOUND2 BOUND2 | |
| layer OUTLINE OUTLINE | |
| #ifdef RERAM | |
| #undef RERAM | |
| layer RERAM RERAM | |
| #define RERAM 1 | |
| #endif | |
| layer CAPM CAPM | |
| layer CAP2M CAP2M | |
| layer PWELLRES PWELLRES | |
| layer LOWTAPDENSITY LOWTAPDENSITY | |
| layer PADDIFFID PADDIFFID | |
| layer PADMETALID PADMETALID | |
| layer PADCENTERID PADCENTERID | |
| layer CP1MADD CP1MADD | |
| layer CP1MDROP CP1MDROP | |
| layer CNTMADD CNTMADD | |
| layer CLI1MADD CLI1MADD | |
| layer CLI1MDROP CLI1MDROP | |
| layer CFOMDROP CFOMDROP | |
| layer UNKNOWN1 UNKNOWN1 | |
| layer UNKNOWN2 UNKNOWN2 | |
| layer UNKNOWN3 UNKNOWN3 | |
| calma NWELL 64 20 | |
| calma PWELL 81 53 | |
| calma DNWELL 64 18 | |
| calma DIFF 65 20 | |
| calma TAP 65 44 | |
| calma LVTN 125 44 | |
| calma HVTP 78 44 | |
| calma HVI 75 20 | |
| calma TUNM 80 20 | |
| calma POLY 66 20 | |
| calma NPC 95 20 | |
| calma NCM 92 44 | |
| calma PSDM 94 20 | |
| calma NSDM 93 44 | |
| calma LICON1 66 44 | |
| calma LI1 67 20 | |
| calma LI1TXT 67 16 | |
| calma LI1PIN 67 5 | |
| calma MCON 67 44 | |
| calma MET1 68 20 | |
| calma MET1TXT 68 16 | |
| calma MET1PIN 68 5 | |
| calma VIA1 68 44 | |
| #ifdef RERAM | |
| #undef RERAM | |
| calma RERAM 201 20 | |
| #define RERAM 1 | |
| #endif | |
| calma MET2 69 20 | |
| calma MET2TXT 69 16 | |
| calma MET2PIN 69 5 | |
| calma VIA2 69 44 | |
| calma MET3 70 20 | |
| calma MET3TXT 70 16 | |
| calma MET3PIN 70 5 | |
| calma CAPM 89 44 | |
| calma VIA3 70 44 | |
| calma MET4 71 20 | |
| calma MET4TXT 71 16 | |
| calma MET4PIN 71 5 | |
| calma CAP2M 97 44 | |
| calma VIA4 71 44 | |
| calma MET5 72 20 | |
| calma MET5TXT 72 16 | |
| calma MET5PIN 72 5 | |
| calma PAD 76 20 | |
| calma PADTXT 76 16 | |
| calma PADPIN 76 5 | |
| calma STDCELLID 81 4 | |
| calma TEXT 83 44 | |
| calma HVTR 18 20 | |
| calma RPM 86 20 | |
| calma URPM 79 20 | |
| calma LDNTM 11 44 | |
| calma HVNTM 125 20 | |
| calma PNP 82 44 | |
| calma NPN 82 20 | |
| calma CAP 82 64 | |
| calma LVID 81 60 | |
| calma IND 82 24 | |
| calma LOWTAPDENSITY 81 14 | |
| calma PWELLRES 64 13 | |
| calma POLYRES 66 13 | |
| calma POLYGATE 66 9 | |
| calma POLYCUT 66 14 | |
| calma DIFFRES 65 13 | |
| calma DIFFCUT 65 14 | |
| calma DIODE 81 23 | |
| calma POLYMOD 66 83 | |
| calma COREID 81 2 | |
| calma PADDIFFID 81 6 | |
| calma PADMETALID 81 8 | |
| calma PADCENTERID 81 20 | |
| calma CP1MADD 33 43 | |
| calma CP1MDROP 33 42 | |
| calma CNTMADD 22 21 | |
| calma CLI1MADD 115 43 | |
| calma CLI1MDROP 115 42 | |
| calma CFOMDROP 22 22 | |
| calma UNKNOWN1 230 241 | |
| calma UNKNOWN2 230 242 | |
| calma UNKNOWN3 64 44 | |
| calma NWELLTXT 64 16 | |
| calma PWELLTXT 122 16 | |
| calma NWELLPIN 64 5 | |
| calma POLYTXT 66 16 | |
| calma POLYPIN 66 5 | |
| calma PWELLPIN 64 59 | |
| calma BOUND 235 4 | |
| calma BOUND2 235 0 | |
| calma OUTLINE 236 0 | |
| calma ESDID 81 19 | |
| calma DIFFBLOCK 22 24 | |
| calma POLYBLOCK 33 24 | |
| calma LIBLOCK 67 10 | |
| calma MET1BLOCK 62 24 | |
| calma MET2BLOCK 105 52 | |
| calma MET3BLOCK 107 24 | |
| calma MET4BLOCK 112 4 | |
| calma MET5BLOCK 117 4 | |
| calma DIFFFILL 23 28 | |
| calma POLYFILL 28 28 | |
| calma LI1FILL 56 28 | |
| calma MET1FILL 36 28 | |
| calma MET2FILL 41 28 | |
| calma MET3FILL 34 28 | |
| calma MET4FILL 51 28 | |
| calma MET5FILL 59 28 | |
| calma POLYSHORT 66 15 | |
| calma LISHORT 67 15 | |
| calma MET1SHORT 68 15 | |
| calma MET2SHORT 69 15 | |
| calma MET3SHORT 70 15 | |
| calma MET4SHORT 71 15 | |
| calma MET5SHORT 72 15 | |
| calma LI1RES 67 13 | |
| calma MET1RES 68 13 | |
| calma MET2RES 69 13 | |
| calma MET3RES 70 13 | |
| calma MET4RES 71 13 | |
| calma MET5RES 72 13 | |
| calma ALTDIFFFILL 65 99 | |
| calma ALTPOLYFILL 66 99 | |
| calma ALTLI1FILL 67 99 | |
| calma ALTMET1FILL 68 99 | |
| calma ALTMET2FILL 69 99 | |
| calma ALTMET3FILL 70 99 | |
| calma ALTMET4FILL 71 99 | |
| calma ALTMET5FILL 72 99 | |
| calma ALTDIFFBLOCK 65 98 | |
| calma ALTPOLYBLOCK 66 98 | |
| calma ALTLIBLOCK 67 98 | |
| calma ALTMET1BLOCK 68 98 | |
| calma ALTMET2BLOCK 69 98 | |
| calma ALTMET3BLOCK 70 98 | |
| calma ALTMET4BLOCK 71 98 | |
| calma ALTMET5BLOCK 72 98 | |
| calma OLDLIBLOCK 67 10 | |
| calma OLDMET1BLOCK 68 10 | |
| calma OLDMET2BLOCK 69 10 | |
| calma OLDMET3BLOCK 70 10 | |
| calma OLDMET4BLOCK 71 10 | |
| calma OLDMET5BLOCK 72 10 | |
| end | |
| mzrouter | |
| end | |
| #--------------------------------------------------------------------- | |
| # DRC style used to check DRC errors GDS layers directly. Generally, | |
| # this covers rules not found in sky130A.tech | |
| #--------------------------------------------------------------------- | |
| drc | |
| scalefactor 10 | |
| # NPC rules | |
| width NPC 270 "NPC width < %d (NPC.1)" | |
| spacing NPC NPC 270 touching_ok "NPC to NPC spacing < %d (NPC.2)" | |
| spacing NPC LICON 90 surround_ok "NPC to non-poly LICON spacing < %d (LICON.13)" | |
| angles NPC 45 "Only 45 degree angles allowed on NPC (X.3)" | |
| off_grid NPC 5 "NPC shape not on %d grid (X.1b)" | |
| # HVTP rules | |
| width HVTP 380 "HVTP width < %d (HVTP.1)" | |
| spacing HVTP HVTP 700 touching_ok "HVTP to HVTP spacing < %d (HVTP.2)" | |
| area HVTP 265000 380 "HVTP minimum area < %a (HVTP.5)" | |
| angles HVTP 45 "Only 45 degree angles allowed on HVTP (X.3)" | |
| off_grid HVTP 5 "HVTP shape not on %d grid (X.1b)" | |
| # THKOX rules | |
| width THKOX 600 "HVI width < %d (HVI.1)" | |
| spacing THKOX THKOX 700 touching_ok "THKOX to THKOX spacing < %d (HVI.2)" | |
| spacing THKOX NWELL 700 surround_ok "THKOX to NWELL spacint < %d (HVI.5)" | |
| no_overlap THKOX TUNM | |
| off_grid THKOX 5 "THKOX shape not on %d grid (X.1b)" | |
| # NSDM rules | |
| width NSDM 380 "NSDM width < %d (NSDM.1)" | |
| spacing NSDM NSDM 380 touching_ok "NSDM to NSDM spacing < %d (NSDM.2)" | |
| angles NSDM 45 "Only 45 degree angles allowed on NSDM (X.3)" | |
| off_grid NSDM 5 "NSDM shape not on %d grid (X.1b)" | |
| # PSDM rules | |
| width PSDM 380 "PSDM width < %d (PSDM.1)" | |
| spacing PSDM PSDM 380 touching_ok "PSDM to PSDM spacing < %d (PSDM.2)" | |
| angles PSDM 45 "Only 45 degree angles allowed on PSDM (X.3)" | |
| off_grid PSDM 5 "PSDM shape not on %d grid (X.1b)" | |
| end | |
| extract | |
| style default | |
| planeorder dw 0 | |
| planeorder w 1 | |
| planeorder i1 2 | |
| planeorder i2 3 | |
| planeorder i3 4 | |
| planeorder i4 5 | |
| planeorder i5 6 | |
| planeorder i6 7 | |
| planeorder i7 8 | |
| planeorder i8 9 | |
| planeorder a 10 | |
| planeorder p 11 | |
| planeorder mc 12 | |
| planeorder li 13 | |
| planeorder lc 14 | |
| #ifdef RERAM | |
| planeorder rr 15 | |
| planeorder m1 16 | |
| planeorder v1 17 | |
| planeorder m2 18 | |
| planeorder v2 19 | |
| planeorder m3 20 | |
| planeorder c1 21 | |
| planeorder v3 22 | |
| planeorder m4 23 | |
| planeorder c2 24 | |
| planeorder v4 25 | |
| planeorder m5 26 | |
| planeorder g 27 | |
| planeorder bd 28 | |
| planeorder bp 29 | |
| planeorder bl 30 | |
| planeorder b1 31 | |
| planeorder b2 32 | |
| planeorder b3 33 | |
| planeorder b4 34 | |
| planeorder b5 35 | |
| planeorder id1 36 | |
| planeorder id2 37 | |
| planeorder id3 38 | |
| planeorder id4 39 | |
| planeorder id5 40 | |
| planeorder id6 41 | |
| planeorder id7 42 | |
| planeorder id8 43 | |
| planeorder id9 44 | |
| planeorder c 45 | |
| planeorder e 46 | |
| #else | |
| planeorder m1 15 | |
| planeorder v1 16 | |
| planeorder m2 17 | |
| planeorder v2 18 | |
| planeorder m3 19 | |
| planeorder c1 20 | |
| planeorder v3 21 | |
| planeorder m4 22 | |
| planeorder c2 23 | |
| planeorder v4 24 | |
| planeorder m5 25 | |
| planeorder g 26 | |
| planeorder bd 27 | |
| planeorder bp 28 | |
| planeorder bl 29 | |
| planeorder b1 30 | |
| planeorder b2 31 | |
| planeorder b3 32 | |
| planeorder b4 33 | |
| planeorder b5 34 | |
| planeorder id1 35 | |
| planeorder id2 36 | |
| planeorder id3 37 | |
| planeorder id4 38 | |
| planeorder id5 39 | |
| planeorder id6 40 | |
| planeorder id7 41 | |
| planeorder id8 42 | |
| planeorder id9 43 | |
| planeorder c 44 | |
| planeorder e 45 | |
| #endif | |
| end |