| //////////////////////////////////////////////////////////// |
| // DEFINE BOOLEAN LAYERS |
| //////////////////////////////////////////////////////////// |
| LAYOUT USE DATABASE PRECISION YES |
| |
| layer pwell 41 |
| layer nwell 42 |
| layer active 43 |
| layer poly 46 |
| layer nimplant 45 |
| layer pimplant 44 |
| layer contact 25 |
| layer active_contact 48 |
| layer poly_contact 47 |
| layer metal1 49 |
| layer via1 50 |
| layer metal2 51 |
| layer via2 61 |
| layer metal3 62 |
| layer glass 52 |
| layer pad 26 |
| |
| //Enabling incremental connectivity for antenna rule checks |
| DRC Incremental Connect Yes |
| |
| well = nwell OR pwell |
| gate = poly AND active |
| implant = nimplant OR pimplant |
| fieldpoly = poly NOT active |
| |
| contactenc1 = active OR poly |
| contactenc = contactenc1 AND metal1 |
| diode = contact AND active |
| act_poly = interact poly active |
| |
| GROUP mask_check |
| //Well.2 Well.4 |
| Poly.1 Poly.2 Poly.3 Poly.4 Poly.5 |
| Active.1 Active.2 // Active.3 |
| Contact.1 Contact.2 Contact.3 Contact.4 |
| Contact.5 Contact.6 Metal1.1 Metal1.2 Metal1.3 |
| |
| |
| |
| //Well.1 { |
| //@Nwell and Pwell must not overlap |
| //AND nwell pwell |
| //} |
| |
| //Well.2 { |
| //@Min spacing of pwell to nwell = 0.00 |
| //EXTERNAL nwell pwell < 0.00 |
| //} |
| |
| //Well.4 { |
| //@Min width of nwell = 3.6 |
| //INTERNAL nwell < 3.6 |
| //} |
| |
| Poly.1 { |
| @Min width of poly = 0.6 |
| INTERNAL poly < 0.6 |
| } |
| |
| Poly.2 { |
| @Min spacing of gate poly = 0.9 |
| EXTERNAL gate < 0.9 |
| } |
| |
| Poly.3 { |
| @Min extension of poly past active = 0.6 |
| ENCLOSURE active poly < 0.6 |
| } |
| |
| Poly.4 { |
| @Minimum active enclosure of gate =0.6 |
| ENCLOSURE poly active < 0.6 |
| } |
| |
| Poly.5 { |
| @Minimum spacing of poly to active = 0.3 |
| EXTERNAL act_poly active < 0.3 |
| } |
| |
| Active.1 { |
| @Minimum width of active = 0.9 |
| INTERNAL active < 0.9 |
| } |
| |
| Active.2 { |
| @Minimum spacing of active areas = 0.9 |
| EXTERNAL active < 0.9 |
| } |
| |
| //Active.3 { |
| //@Minimum well enclosure of active = 1.8 |
| //ENCLOSURE active well < 1.8 |
| //} |
| |
| Contact.1 { |
| @Minimum width of contact = 0.6 |
| INTERNAL contact < 0.6 |
| } |
| |
| Contact.2 { |
| @Minimum spacing of contact = 0.9 |
| EXTERNAL contact < 0.9 |
| } |
| |
| Contact.3 { |
| @Contact must be inside metal1 and active or poly |
| NOT contact contactenc |
| } |
| |
| Contact.4 { |
| @Minimum active enclosure of contact = 0.3 |
| ENCLOSURE contact active < 0.3 |
| } |
| |
| Contact.5 { |
| @Minimum poly enclosure of contact = 0.3 |
| ENCLOSURE contact poly < 0.3 |
| } |
| |
| Contact.6 { |
| @Minimum spacing of contact to poly = 0.6 |
| EXTERNAL poly contact < 0.6 |
| } |
| |
| Metal1.1 { |
| @Minimum width of metal1 = 0.9 |
| INTERNAL metal1 < 0.9 |
| } |
| |
| Metal1.2 { |
| @Minimum spacing of metal1 = 0.9 |
| EXTERNAL metal1 < 0.9 |
| } |
| |
| Metal1.3 { |
| @Metal1 must extend past contact by 0.3 on two opposite sides |
| RECTANGLE ENCLOSURE contact metal1 |
| GOOD 0.00 0.3 OPPOSITE 0.00 0.3 OPPOSITE |
| } |
| |
| Metal1.4 { |
| @Metal1 must extend past via1 by 0.3 on two opposite sides |
| RECTANGLE ENCLOSURE via1 metal1 |
| GOOD 0.00 0.3 OPPOSITE 0.00 0.3 OPPOSITE |
| } |
| |
| Via1.1 { |
| @Minimum width of via1 = 0.6 |
| INTERNAL via1 < 0.6 |
| } |
| |
| Via1.2 { |
| @Minimum spacing of via1 = 0.6 |
| EXTERNAL via1 < 0.6 |
| } |
| |
| Via1.3 { |
| @Via1 must be inside metal1 |
| NOT via1 metal1 |
| } |
| |
| |
| Metal2.1 { |
| @Minimum width of metal2 = 0.9 |
| INTERNAL metal2 < 0.9 |
| } |
| |
| Metal2.2 { |
| @Minimum spacing of metal2 = 0.9 |
| EXTERNAL metal2 < 0.9 |
| } |
| |
| Metal2.3 { |
| @Metal2 must extend past via1 by 0.3 on two opposite sides |
| RECTANGLE ENCLOSURE via1 metal2 |
| GOOD 0.00 0.3 OPPOSITE 0.00 0.3 OPPOSITE |
| } |
| |
| Metal2.4 { |
| @Metal2 must extend past via2 by 0.3 on two opposite sides |
| RECTANGLE ENCLOSURE via2 metal2 |
| GOOD 0.00 0.3 OPPOSITE 0.00 0.3 OPPOSITE |
| } |
| |
| Via2.1 { |
| @Minimum width of via2 = 0.6 |
| INTERNAL via2 < 0.6 |
| } |
| |
| Via2.2 { |
| @Minimum spacing of via2 = 0.9 |
| EXTERNAL via2 < 0.9 |
| } |
| |
| Via2.3 { |
| @Via2 must be inside metal2 |
| NOT via2 metal2 |
| } |
| |
| Via2.4 { |
| @Via2 must be inside metal3 |
| NOT via2 metal3 |
| } |
| |
| Metal3.1 { |
| @Minimum width of metal3 = 1.5 |
| INTERNAL metal3 < 1.5 |
| } |
| |
| Metal3.2 { |
| @Minimum spacing of metal3 = 0.9 |
| EXTERNAL metal3 < 0.9 |
| } |
| |
| Metal3.3 { |
| @Metal3 must extend past via2 by 0.6 on two opposite sides |
| RECTANGLE ENCLOSURE via2 metal3 |
| GOOD 0.00 0.6 OPPOSITE 0.00 0.6 OPPOSITE |
| } |
| |