<?xml version="1.0" encoding="UTF-8"?>

<!--
 *
 * Electric(tm) VLSI Design System
 *
 * File: bicmos.xml
 * bicmos technology description
 * Generated automatically from a library
 *
 * Copyright (c) 2008, Oracle and/or its affiliates. All rights reserved.
 *
 * Electric(tm) is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation; either version 3 of the License, or
 * (at your option) any later version.
 *
 * Electric(tm) is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with this program.  If not, see <http://www.gnu.org/licenses/>.
 */
-->

<technology name="bicmos"
     xmlns="http://electric.sun.com/Technology"
     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
     xsi:schemaLocation="http://electric.sun.com/Technology ../../technology/Technology.xsd">

    <description>Bipolar/CMOS (from MOSIS, N-Well, SCE Rules)</description>
    <version tech="1" electric="8.05g"/>
    <version tech="2" electric="8.05o"/>
    <numMetals min="2" max="2" default="2"/>
    <scale value="1000.0" relevant="true"/>
    <defaultFoundry value="MOSIS"/>
    <minResistance value="10.0"/>
    <minCapacitance value="0.0"/>

    <!-- Transparent layers -->
    <transparentLayer transparent="1">
        <r>96</r>
        <g>209</g>
        <b>255</b>
    </transparentLayer>
    <transparentLayer transparent="2">
        <r>255</r>
        <g>155</g>
        <b>192</b>
    </transparentLayer>
    <transparentLayer transparent="3">
        <r>107</r>
        <g>226</g>
        <b>96</b>
    </transparentLayer>
    <transparentLayer transparent="4">
        <r>224</r>
        <g>95</g>
        <b>255</b>
    </transparentLayer>
    <transparentLayer transparent="5">
        <r>240</r>
        <g>221</g>
        <b>181</b>
    </transparentLayer>

    <!-- **************************************** LAYERS **************************************** -->
    <layer name="M1" fun="METAL1">
        <transparentColor transparent="1"/>
        <patternedOnDisplay>false</patternedOnDisplay>
        <patternedOnPrinter>false</patternedOnPrinter>
        <pattern>  X   X   X   X </pattern>
        <pattern>                </pattern>
        <pattern>X   X   X   X   </pattern>
        <pattern>                </pattern>
        <pattern>  X   X   X   X </pattern>
        <pattern>                </pattern>
        <pattern>X   X   X   X   </pattern>
        <pattern>                </pattern>
        <pattern>  X   X   X   X </pattern>
        <pattern>                </pattern>
        <pattern>X   X   X   X   </pattern>
        <pattern>                </pattern>
        <pattern>  X   X   X   X </pattern>
        <pattern>                </pattern>
        <pattern>X   X   X   X   </pattern>
        <pattern>                </pattern>
        <outlined>NOPAT</outlined>
        <opacity>0.8</opacity>
        <foreground>true</foreground>
        <display3D thick="0.5" height="11.0" mode="NONE" factor="0.2"/>
        <cifLayer cif="CMF"/>
        <pureLayerNode name="M1_Node" port="metal-1">
            <lambda>4.0</lambda>
            <portArc>Metal_1</portArc>
        </pureLayerNode>
    </layer>

    <layer name="M2" fun="METAL2">
        <transparentColor transparent="4"/>
        <patternedOnDisplay>false</patternedOnDisplay>
        <patternedOnPrinter>false</patternedOnPrinter>
        <pattern>   X       X    </pattern>
        <pattern>  X       X     </pattern>
        <pattern> X       X      </pattern>
        <pattern>X       X       </pattern>
        <pattern>       X       X</pattern>
        <pattern>      X       X </pattern>
        <pattern>     X       X  </pattern>
        <pattern>    X       X   </pattern>
        <pattern>   X       X    </pattern>
        <pattern>  X       X     </pattern>
        <pattern> X       X      </pattern>
        <pattern>X       X       </pattern>
        <pattern>       X       X</pattern>
        <pattern>      X       X </pattern>
        <pattern>     X       X  </pattern>
        <pattern>    X       X   </pattern>
        <outlined>NOPAT</outlined>
        <opacity>0.8</opacity>
        <foreground>true</foreground>
        <display3D thick="0.5" height="12.0" mode="NONE" factor="0.2"/>
        <cifLayer cif="CMS"/>
        <pureLayerNode name="M2_Node" port="metal-2">
            <lambda>4.0</lambda>
            <portArc>Metal_2</portArc>
        </pureLayerNode>
    </layer>

    <layer name="Poly1" fun="POLY1">
        <transparentColor transparent="2"/>
        <patternedOnDisplay>false</patternedOnDisplay>
        <patternedOnPrinter>false</patternedOnPrinter>
        <pattern>    X       X   </pattern>
        <pattern>     X       X  </pattern>
        <pattern>      X       X </pattern>
        <pattern>       X       X</pattern>
        <pattern>X       X       </pattern>
        <pattern> X       X      </pattern>
        <pattern>  X       X     </pattern>
        <pattern>   X       X    </pattern>
        <pattern>    X       X   </pattern>
        <pattern>     X       X  </pattern>
        <pattern>      X       X </pattern>
        <pattern>       X       X</pattern>
        <pattern>X       X       </pattern>
        <pattern> X       X      </pattern>
        <pattern>  X       X     </pattern>
        <pattern>   X       X    </pattern>
        <outlined>NOPAT</outlined>
        <opacity>0.8</opacity>
        <foreground>true</foreground>
        <display3D thick="0.5" height="9.0" mode="NONE" factor="0.2"/>
        <cifLayer cif="CPG"/>
        <pureLayerNode name="Poly1_Node" port="polysilicon">
            <lambda>4.0</lambda>
            <portArc>Polysilicon</portArc>
        </pureLayerNode>
    </layer>

    <layer name="Poly2" fun="POLY2">
        <opaqueColor r="255" g="0" b="255"/>
        <patternedOnDisplay>true</patternedOnDisplay>
        <patternedOnPrinter>true</patternedOnPrinter>
        <pattern>XXX     XXX     </pattern>
        <pattern> XXX     XXX    </pattern>
        <pattern>  XXX     XXX   </pattern>
        <pattern>   XXX     XXX  </pattern>
        <pattern>    XXX     XXX </pattern>
        <pattern>     XXX     XXX</pattern>
        <pattern>X     XXX     XX</pattern>
        <pattern>XX     XXX     X</pattern>
        <pattern>XXX     XXX     </pattern>
        <pattern> XXX     XXX    </pattern>
        <pattern>  XXX     XXX   </pattern>
        <pattern>   XXX     XXX  </pattern>
        <pattern>    XXX     XXX </pattern>
        <pattern>     XXX     XXX</pattern>
        <pattern>X     XXX     XX</pattern>
        <pattern>XX     XXX     X</pattern>
        <outlined>PAT_S</outlined>
        <opacity>0.8</opacity>
        <foreground>true</foreground>
        <display3D thick="0.5" height="10.0" mode="NONE" factor="0.2"/>
        <cifLayer cif="CEL"/>
        <pureLayerNode name="Poly2_Node" port="P2">
            <lambda>2.0</lambda>
            <portArc>Polysilicon_2</portArc>
        </pureLayerNode>
    </layer>

    <layer name="Active" fun="DIFF">
        <transparentColor transparent="3"/>
        <patternedOnDisplay>false</patternedOnDisplay>
        <patternedOnPrinter>false</patternedOnPrinter>
        <pattern>                </pattern>
        <pattern>      XX      XX</pattern>
        <pattern> X  X    X  X   </pattern>
        <pattern>      XX      XX</pattern>
        <pattern>                </pattern>
        <pattern>  XX      XX    </pattern>
        <pattern>X    X  X    X  </pattern>
        <pattern>  XX      XX    </pattern>
        <pattern>                </pattern>
        <pattern>      XX      XX</pattern>
        <pattern> X  X    X  X   </pattern>
        <pattern>      XX      XX</pattern>
        <pattern>                </pattern>
        <pattern>  XX      XX    </pattern>
        <pattern>X    X  X    X  </pattern>
        <pattern>  XX      XX    </pattern>
        <outlined>NOPAT</outlined>
        <opacity>0.8</opacity>
        <foreground>true</foreground>
        <display3D thick="2.0" height="7.0" mode="NONE" factor="0.2"/>
        <cifLayer cif="CAA"/>
        <pureLayerNode name="Active_Node" port="active">
            <lambda>4.0</lambda>
            <portArc>Active</portArc>
            <portArc>Pdiff</portArc>
            <portArc>Ndiff</portArc>
        </pureLayerNode>
    </layer>

    <layer name="Poly1_Cut" fun="CONTACT1">
        <opaqueColor r="0" g="0" b="0"/>
        <patternedOnDisplay>false</patternedOnDisplay>
        <patternedOnPrinter>false</patternedOnPrinter>
        <pattern>                </pattern>
        <pattern>                </pattern>
        <pattern>                </pattern>
        <pattern>                </pattern>
        <pattern>                </pattern>
        <pattern>                </pattern>
        <pattern>                </pattern>
        <pattern>                </pattern>
        <pattern>                </pattern>
        <pattern>                </pattern>
        <pattern>                </pattern>
        <pattern>                </pattern>
        <pattern>                </pattern>
        <pattern>                </pattern>
        <pattern>                </pattern>
        <pattern>                </pattern>
        <outlined>NOPAT</outlined>
        <opacity>0.8</opacity>
        <foreground>true</foreground>
        <display3D thick="0.5" height="9.5" mode="NONE" factor="0.2"/>
        <cifLayer cif="CCP"/>
        <pureLayerNode name="Poly1_Cut_Node" port="polycut">
            <lambda>2.0</lambda>
        </pureLayerNode>
    </layer>

    <layer name="Poly2_Cut" fun="CONTACT3">
        <opaqueColor r="0" g="0" b="0"/>
        <patternedOnDisplay>false</patternedOnDisplay>
        <patternedOnPrinter>false</patternedOnPrinter>
        <pattern>                </pattern>
        <pattern>                </pattern>
        <pattern>                </pattern>
        <pattern>                </pattern>
        <pattern>                </pattern>
        <pattern>                </pattern>
        <pattern>                </pattern>
        <pattern>                </pattern>
        <pattern>                </pattern>
        <pattern>                </pattern>
        <pattern>                </pattern>
        <pattern>                </pattern>
        <pattern>                </pattern>
        <pattern>                </pattern>
        <pattern>                </pattern>
        <pattern>                </pattern>
        <outlined>NOPAT</outlined>
        <opacity>0.8</opacity>
        <foreground>true</foreground>
        <display3D thick="0.5" height="10.5" mode="NONE" factor="0.2"/>
        <cifLayer cif="CCE"/>
        <pureLayerNode name="Poly_2_Cut_Node" port="Poly_2_Cut">
            <lambda>4.0</lambda>
            <portArc>Polysilicon_2</portArc>
        </pureLayerNode>
    </layer>

    <layer name="Active_Cut" fun="CONTACT1">
        <opaqueColor r="0" g="0" b="0"/>
        <patternedOnDisplay>false</patternedOnDisplay>
        <patternedOnPrinter>false</patternedOnPrinter>
        <pattern>                </pattern>
        <pattern>                </pattern>
        <pattern>                </pattern>
        <pattern>                </pattern>
        <pattern>                </pattern>
        <pattern>                </pattern>
        <pattern>                </pattern>
        <pattern>                </pattern>
        <pattern>                </pattern>
        <pattern>                </pattern>
        <pattern>                </pattern>
        <pattern>                </pattern>
        <pattern>                </pattern>
        <pattern>                </pattern>
        <pattern>                </pattern>
        <pattern>                </pattern>
        <outlined>NOPAT</outlined>
        <opacity>0.8</opacity>
        <foreground>true</foreground>
        <display3D thick="2.0" height="9.0" mode="NONE" factor="0.2"/>
        <cifLayer cif="CCA"/>
        <pureLayerNode name="Active_Cut_Node" port="activecut">
            <lambda>2.0</lambda>
        </pureLayerNode>
    </layer>

    <layer name="Via" fun="CONTACT2">
        <opaqueColor r="0" g="0" b="0"/>
        <patternedOnDisplay>false</patternedOnDisplay>
        <patternedOnPrinter>false</patternedOnPrinter>
        <pattern>                </pattern>
        <pattern>                </pattern>
        <pattern>                </pattern>
        <pattern>                </pattern>
        <pattern>                </pattern>
        <pattern>                </pattern>
        <pattern>                </pattern>
        <pattern>                </pattern>
        <pattern>                </pattern>
        <pattern>                </pattern>
        <pattern>                </pattern>
        <pattern>                </pattern>
        <pattern>                </pattern>
        <pattern>                </pattern>
        <pattern>                </pattern>
        <pattern>                </pattern>
        <outlined>NOPAT</outlined>
        <opacity>0.8</opacity>
        <foreground>true</foreground>
        <display3D thick="0.5" height="11.0" mode="NONE" factor="0.2"/>
        <cifLayer cif="CVA"/>
        <pureLayerNode name="Via_Node" style="CLOSED" port="via">
            <lambda>2.0</lambda>
        </pureLayerNode>
    </layer>

    <layer name="P_Select" fun="IMPLANTP">
        <opaqueColor r="255" g="255" b="0"/>
        <patternedOnDisplay>true</patternedOnDisplay>
        <patternedOnPrinter>true</patternedOnPrinter>
        <pattern>   X       X    </pattern>
        <pattern>  X       X     </pattern>
        <pattern> X       X      </pattern>
        <pattern>X       X       </pattern>
        <pattern>       X       X</pattern>
        <pattern>      X       X </pattern>
        <pattern>     X       X  </pattern>
        <pattern>    X       X   </pattern>
        <pattern>   X       X    </pattern>
        <pattern>  X       X     </pattern>
        <pattern> X       X      </pattern>
        <pattern>X       X       </pattern>
        <pattern>       X       X</pattern>
        <pattern>      X       X </pattern>
        <pattern>     X       X  </pattern>
        <pattern>    X       X   </pattern>
        <outlined>PAT_S</outlined>
        <opacity>0.8</opacity>
        <foreground>true</foreground>
        <display3D thick="5.0" height="4.0" mode="SCREEN_DOOR" factor="0.4"/>
        <cifLayer cif="CSP"/>
        <pureLayerNode name="P_Select_Node" style="CLOSED" port="select">
            <lambda>6.0</lambda>
        </pureLayerNode>
    </layer>

    <layer name="N_Select" fun="IMPLANTN">
        <opaqueColor r="175" g="255" b="175"/>
        <patternedOnDisplay>true</patternedOnDisplay>
        <patternedOnPrinter>true</patternedOnPrinter>
        <pattern>   X       X    </pattern>
        <pattern>  X       X     </pattern>
        <pattern> X       X      </pattern>
        <pattern>X       X       </pattern>
        <pattern>       X       X</pattern>
        <pattern>      X       X </pattern>
        <pattern>     X       X  </pattern>
        <pattern>    X       X   </pattern>
        <pattern>   X       X    </pattern>
        <pattern>  X       X     </pattern>
        <pattern> X       X      </pattern>
        <pattern>X       X       </pattern>
        <pattern>       X       X</pattern>
        <pattern>      X       X </pattern>
        <pattern>     X       X  </pattern>
        <pattern>    X       X   </pattern>
        <outlined>PAT_S</outlined>
        <opacity>0.8</opacity>
        <foreground>true</foreground>
        <display3D thick="5.0" height="4.0" mode="SCREEN_DOOR" factor="0.4"/>
        <cifLayer cif="CSN"/>
        <pureLayerNode name="N_Select_Node" style="CLOSED" port="N_Select">
            <lambda>4.0</lambda>
        </pureLayerNode>
    </layer>

    <layer name="N_Well" fun="WELLN">
        <transparentColor transparent="5"/>
        <patternedOnDisplay>false</patternedOnDisplay>
        <patternedOnPrinter>false</patternedOnPrinter>
        <pattern>   X            </pattern>
        <pattern>          X     </pattern>
        <pattern>                </pattern>
        <pattern>                </pattern>
        <pattern>               X</pattern>
        <pattern>      X         </pattern>
        <pattern>                </pattern>
        <pattern>                </pattern>
        <pattern>   X            </pattern>
        <pattern>          X     </pattern>
        <pattern>                </pattern>
        <pattern>                </pattern>
        <pattern>               X</pattern>
        <pattern>      X         </pattern>
        <pattern>                </pattern>
        <pattern>                </pattern>
        <outlined>NOPAT</outlined>
        <opacity>0.8</opacity>
        <foreground>true</foreground>
        <display3D thick="9.0" height="0.0" mode="NICEST" factor="0.8"/>
        <cifLayer cif="CWN"/>
        <pureLayerNode name="N_Well_Node" port="well">
            <lambda>6.0</lambda>
            <portArc>Pdiff</portArc>
        </pureLayerNode>
    </layer>

    <layer name="Pad_Frame" fun="ART">
        <opaqueColor r="255" g="0" b="0"/>
        <patternedOnDisplay>false</patternedOnDisplay>
        <patternedOnPrinter>false</patternedOnPrinter>
        <pattern>                </pattern>
        <pattern>                </pattern>
        <pattern>                </pattern>
        <pattern>                </pattern>
        <pattern>                </pattern>
        <pattern>                </pattern>
        <pattern>                </pattern>
        <pattern>                </pattern>
        <pattern>                </pattern>
        <pattern>                </pattern>
        <pattern>                </pattern>
        <pattern>                </pattern>
        <pattern>                </pattern>
        <pattern>                </pattern>
        <pattern>                </pattern>
        <pattern>                </pattern>
        <outlined>NOPAT</outlined>
        <opacity>0.8</opacity>
        <foreground>true</foreground>
        <display3D thick="1.0" height="13.0" mode="NONE" factor="0.2"/>
        <cifLayer cif="XP"/>
        <pureLayerNode name="Pad_Frame_Node" style="CLOSED" port="pad-frame">
            <lambda>8.0</lambda>
        </pureLayerNode>
    </layer>

    <layer name="Transistor" fun="TRANSISTOR">
        <opaqueColor r="200" g="200" b="200"/>
        <patternedOnDisplay>false</patternedOnDisplay>
        <patternedOnPrinter>false</patternedOnPrinter>
        <pattern>                </pattern>
        <pattern>                </pattern>
        <pattern>                </pattern>
        <pattern>                </pattern>
        <pattern>                </pattern>
        <pattern>                </pattern>
        <pattern>                </pattern>
        <pattern>                </pattern>
        <pattern>                </pattern>
        <pattern>                </pattern>
        <pattern>                </pattern>
        <pattern>                </pattern>
        <pattern>                </pattern>
        <pattern>                </pattern>
        <pattern>                </pattern>
        <pattern>                </pattern>
        <outlined>NOPAT</outlined>
        <opacity>0.8</opacity>
        <foreground>true</foreground>
    </layer>

    <layer name="P_Base_Active" fun="DIFFP">
        <transparentColor transparent="3"/>
        <patternedOnDisplay>true</patternedOnDisplay>
        <patternedOnPrinter>true</patternedOnPrinter>
        <pattern> X   X   X   X  </pattern>
        <pattern>  X   X   X   X </pattern>
        <pattern>   X   X   X   X</pattern>
        <pattern>X   X   X   X   </pattern>
        <pattern> X   X   X   X  </pattern>
        <pattern>  X   X   X   X </pattern>
        <pattern>   X   X   X   X</pattern>
        <pattern>    X   X   X   </pattern>
        <pattern> X   X   X   X  </pattern>
        <pattern>  X   X   X   X </pattern>
        <pattern>   X   X   X   X</pattern>
        <pattern>X   X   X   X   </pattern>
        <pattern> X   X   X   X  </pattern>
        <pattern>  X   X   X   X </pattern>
        <pattern>   X   X   X   X</pattern>
        <pattern>    X   X   X   </pattern>
        <outlined>PAT_S</outlined>
        <opacity>0.8</opacity>
        <foreground>true</foreground>
        <display3D thick="2.0" height="7.0" mode="NONE" factor="0.2"/>
        <cifLayer cif="CBA"/>
        <pureLayerNode name="P_Base_Active_Node" port="P_Base">
            <lambda>4.0</lambda>
        </pureLayerNode>
    </layer>

    <layer name="BCCD" fun="IMPLANTN">
        <opaqueColor r="255" g="150" b="150"/>
        <patternedOnDisplay>true</patternedOnDisplay>
        <patternedOnPrinter>true</patternedOnPrinter>
        <pattern>X   X   X   X   </pattern>
        <pattern>                </pattern>
        <pattern>  X   X   X   X </pattern>
        <pattern>                </pattern>
        <pattern>X   X   X   X   </pattern>
        <pattern>                </pattern>
        <pattern>  X   X   X   X </pattern>
        <pattern>                </pattern>
        <pattern>X   X   X   X   </pattern>
        <pattern>                </pattern>
        <pattern>  X   X   X   X </pattern>
        <pattern>                </pattern>
        <pattern>X   X   X   X   </pattern>
        <pattern>                </pattern>
        <pattern>  X   X   X   X </pattern>
        <pattern>                </pattern>
        <outlined>PAT_S</outlined>
        <opacity>0.8</opacity>
        <foreground>true</foreground>
        <display3D thick="5.0" height="4.0" mode="SCREEN_DOOR" factor="0.4"/>
        <cifLayer cif="CCD"/>
        <pureLayerNode name="BCCD_Node" port="BCCD">
            <lambda>4.0</lambda>
        </pureLayerNode>
    </layer>

    <layer name="Ohmic_Substrate" fun="SUBSTRATE">
        <transparentColor transparent="3"/>
        <patternedOnDisplay>false</patternedOnDisplay>
        <patternedOnPrinter>false</patternedOnPrinter>
        <pattern>                </pattern>
        <pattern>                </pattern>
        <pattern>                </pattern>
        <pattern>                </pattern>
        <pattern>                </pattern>
        <pattern>                </pattern>
        <pattern>                </pattern>
        <pattern>                </pattern>
        <pattern>                </pattern>
        <pattern>                </pattern>
        <pattern>                </pattern>
        <pattern>                </pattern>
        <pattern>                </pattern>
        <pattern>                </pattern>
        <pattern>                </pattern>
        <pattern>                </pattern>
        <outlined>NOPAT</outlined>
        <opacity>0.8</opacity>
        <foreground>true</foreground>
        <display3D thick="9.0" height="0.0" mode="NICEST" factor="0.8"/>
        <cifLayer cif="CAA"/>
        <pureLayerNode name="Ohmic_Substrate" port="Ohmic_Substrate">
            <lambda>4.0</lambda>
        </pureLayerNode>
    </layer>

    <layer name="Ohmic_Well" fun="WELL">
        <transparentColor transparent="3"/>
        <patternedOnDisplay>false</patternedOnDisplay>
        <patternedOnPrinter>false</patternedOnPrinter>
        <pattern>                </pattern>
        <pattern>                </pattern>
        <pattern>                </pattern>
        <pattern>                </pattern>
        <pattern>                </pattern>
        <pattern>                </pattern>
        <pattern>                </pattern>
        <pattern>                </pattern>
        <pattern>                </pattern>
        <pattern>                </pattern>
        <pattern>                </pattern>
        <pattern>                </pattern>
        <pattern>                </pattern>
        <pattern>                </pattern>
        <pattern>                </pattern>
        <pattern>                </pattern>
        <outlined>NOPAT</outlined>
        <opacity>0.8</opacity>
        <foreground>true</foreground>
        <cifLayer cif="CAA"/>
        <pureLayerNode name="Ohmic_Well" port="Ohmic_Well">
            <lambda>4.0</lambda>
        </pureLayerNode>
    </layer>

    <layer name="Passivation" fun="OVERGLASS">
        <opaqueColor r="100" g="100" b="100"/>
        <patternedOnDisplay>true</patternedOnDisplay>
        <patternedOnPrinter>true</patternedOnPrinter>
        <pattern>   XXX     XXX  </pattern>
        <pattern>  XXXXX   XXXXX </pattern>
        <pattern>  XX XX   XX XX </pattern>
        <pattern>  XXXXX   XXXXX </pattern>
        <pattern>   XXX     XXX  </pattern>
        <pattern>                </pattern>
        <pattern>                </pattern>
        <pattern>                </pattern>
        <pattern>   XXX     XXX  </pattern>
        <pattern>  XXXXX   XXXXX </pattern>
        <pattern>  XX XX   XX XX </pattern>
        <pattern>  XXXXX   XXXXX </pattern>
        <pattern>   XXX     XXX  </pattern>
        <pattern>                </pattern>
        <pattern>                </pattern>
        <pattern>                </pattern>
        <outlined>NOPAT</outlined>
        <opacity>0.8</opacity>
        <foreground>true</foreground>
        <display3D thick="1.0" height="13.0" mode="NONE" factor="0.2"/>
        <cifLayer cif="COG"/>
        <pureLayerNode name="Passivation_Node" style="CLOSED" port="passivation">
            <lambda>8.0</lambda>
        </pureLayerNode>
    </layer>

    <!-- ******************** ARCS ******************** -->
    <arcProto name="Metal_1" fun="METAL1">
        <wipable/>
        <extended>true</extended>
        <fixedAngle>true</fixedAngle>
        <angleIncrement>90</angleIncrement>
        <antennaRatio>400.0</antennaRatio>
        <diskOffset untilVersion="2" width="1.5"/>
        <arcLayer layer="M1" style="FILLED">
            <lambda>1.5</lambda>
        </arcLayer>
    </arcProto>

    <arcProto name="Metal_2" fun="METAL2">
        <wipable/>
        <extended>true</extended>
        <fixedAngle>true</fixedAngle>
        <angleIncrement>90</angleIncrement>
        <antennaRatio>400.0</antennaRatio>
        <diskOffset untilVersion="2" width="1.5"/>
        <arcLayer layer="M2" style="FILLED">
            <lambda>1.5</lambda>
        </arcLayer>
    </arcProto>

    <arcProto name="Polysilicon" fun="POLY1">
        <wipable/>
        <extended>true</extended>
        <fixedAngle>true</fixedAngle>
        <angleIncrement>90</angleIncrement>
        <antennaRatio>200.0</antennaRatio>
        <diskOffset untilVersion="2" width="1.0"/>
        <arcLayer layer="Poly1" style="FILLED">
            <lambda>1.0</lambda>
        </arcLayer>
    </arcProto>

    <arcProto name="Polysilicon_2" fun="POLY2">
        <wipable/>
        <extended>true</extended>
        <fixedAngle>true</fixedAngle>
        <angleIncrement>90</angleIncrement>
        <antennaRatio>200.0</antennaRatio>
        <diskOffset untilVersion="2" width="1.0"/>
        <arcLayer layer="Poly2" style="FILLED">
            <lambda>1.0</lambda>
        </arcLayer>
    </arcProto>

    <arcProto name="Ndiff" fun="DIFFN">
        <wipable/>
        <extended>true</extended>
        <fixedAngle>true</fixedAngle>
        <angleIncrement>90</angleIncrement>
        <antennaRatio>200.0</antennaRatio>
        <diskOffset untilVersion="1" width="3.0"/>
        <diskOffset untilVersion="2" width="1.0"/>
        <arcLayer layer="Active" style="FILLED">
            <lambda>1.0</lambda>
        </arcLayer>
        <arcLayer layer="N_Select" style="FILLED">
            <lambda>3.0</lambda>
        </arcLayer>
    </arcProto>

    <arcProto name="Pdiff" fun="DIFFP">
        <wipable/>
        <extended>true</extended>
        <fixedAngle>true</fixedAngle>
        <angleIncrement>90</angleIncrement>
        <antennaRatio>200.0</antennaRatio>
        <diskOffset untilVersion="1" width="6.0"/>
        <diskOffset untilVersion="2" width="1.0"/>
        <arcLayer layer="Active" style="FILLED">
            <lambda>1.0</lambda>
        </arcLayer>
        <arcLayer layer="P_Select" style="CLOSED">
            <lambda>3.0</lambda>
        </arcLayer>
        <arcLayer layer="N_Well" style="FILLED">
            <lambda>6.0</lambda>
        </arcLayer>
    </arcProto>

    <arcProto name="Active" fun="DIFF">
        <wipable/>
        <extended>true</extended>
        <fixedAngle>true</fixedAngle>
        <angleIncrement>90</angleIncrement>
        <antennaRatio>200.0</antennaRatio>
        <diskOffset untilVersion="2" width="1.0"/>
        <arcLayer layer="Active" style="FILLED">
            <lambda>1.0</lambda>
        </arcLayer>
    </arcProto>

    <!-- ******************** NODES ******************** -->
    <primitiveNode name="M1_Pin" fun="PIN">
        <shrinkArcs/>
        <diskOffset untilVersion="2" x="1.5" y="1.5"/>
        <nodeBase>
            <box>
                <lambdaBox klx="-1.5" khx="1.5" kly="-1.5" khy="1.5"/>
            </box>
        </nodeBase>
        <nodeLayer layer="M1" style="CROSSED">
            <box>
                <lambdaBox klx="-1.5" khx="1.5" kly="-1.5" khy="1.5"/>
            </box>
        </nodeLayer>
        <primitivePort name="metal-1">
            <portAngle primary="0" range="180"/>
            <portTopology>0</portTopology>
            <box>
                <lambdaBox klx="0.0" khx="0.0" kly="0.0" khy="0.0"/>
            </box>
            <portArc>Metal_1</portArc>
        </primitivePort>
    </primitiveNode>

    <primitiveNode name="M2_Pin" fun="PIN">
        <shrinkArcs/>
        <diskOffset untilVersion="2" x="1.5" y="1.5"/>
        <nodeBase>
            <box>
                <lambdaBox klx="-1.5" khx="1.5" kly="-1.5" khy="1.5"/>
            </box>
        </nodeBase>
        <nodeLayer layer="M2" style="CROSSED">
            <box>
                <lambdaBox klx="-1.5" khx="1.5" kly="-1.5" khy="1.5"/>
            </box>
        </nodeLayer>
        <primitivePort name="metal-2">
            <portAngle primary="0" range="180"/>
            <portTopology>0</portTopology>
            <box>
                <lambdaBox klx="0.0" khx="0.0" kly="0.0" khy="0.0"/>
            </box>
            <portArc>Metal_2</portArc>
        </primitivePort>
    </primitiveNode>

    <primitiveNode name="Poly1_Pin" fun="PIN">
        <shrinkArcs/>
        <diskOffset untilVersion="2" x="1.0" y="1.0"/>
        <nodeBase>
            <box>
                <lambdaBox klx="-1.0" khx="1.0" kly="-1.0" khy="1.0"/>
            </box>
        </nodeBase>
        <nodeLayer layer="Poly1" style="CROSSED">
            <box>
                <lambdaBox klx="-1.0" khx="1.0" kly="-1.0" khy="1.0"/>
            </box>
        </nodeLayer>
        <primitivePort name="polysilicon">
            <portAngle primary="0" range="180"/>
            <portTopology>0</portTopology>
            <box>
                <lambdaBox klx="0.0" khx="0.0" kly="0.0" khy="0.0"/>
            </box>
            <portArc>Polysilicon</portArc>
        </primitivePort>
    </primitiveNode>

    <primitiveNode name="Poly2_Pin" fun="PIN">
        <shrinkArcs/>
        <diskOffset untilVersion="2" x="1.0" y="1.0"/>
        <nodeBase>
            <box>
                <lambdaBox klx="-1.0" khx="1.0" kly="-1.0" khy="1.0"/>
            </box>
        </nodeBase>
        <nodeLayer layer="Poly2" style="CROSSED">
            <box>
                <lambdaBox klx="-1.0" khx="1.0" kly="-1.0" khy="1.0"/>
            </box>
        </nodeLayer>
        <primitivePort name="p2-pin">
            <portAngle primary="0" range="180"/>
            <portTopology>0</portTopology>
            <box>
                <lambdaBox klx="0.0" khx="0.0" kly="0.0" khy="0.0"/>
            </box>
            <portArc>Polysilicon_2</portArc>
        </primitivePort>
    </primitiveNode>

    <primitiveNode name="Ndiff_Pin" fun="PIN">
        <shrinkArcs/>
        <diskOffset untilVersion="1" x="3.0" y="3.0"/>
        <diskOffset untilVersion="2" x="1.0" y="1.0"/>
        <nodeBase>
            <box>
                <lambdaBox klx="-1.0" khx="1.0" kly="-1.0" khy="1.0"/>
            </box>
        </nodeBase>
        <nodeLayer layer="Active" style="CROSSED">
            <box>
                <lambdaBox klx="-1.0" khx="1.0" kly="-1.0" khy="1.0"/>
            </box>
        </nodeLayer>
        <nodeLayer layer="N_Select" style="CROSSED">
            <box>
                <lambdaBox klx="-3.0" khx="3.0" kly="-3.0" khy="3.0"/>
            </box>
        </nodeLayer>
        <primitivePort name="Ndiff_Pin">
            <portAngle primary="0" range="180"/>
            <portTopology>0</portTopology>
            <box>
                <lambdaBox klx="0.0" khx="0.0" kly="0.0" khy="0.0"/>
            </box>
            <portArc>Ndiff</portArc>
        </primitivePort>
    </primitiveNode>

    <primitiveNode name="Pdiff_Pin" fun="PIN">
        <shrinkArcs/>
        <diskOffset untilVersion="1" x="6.0" y="6.0"/>
        <diskOffset untilVersion="2" x="1.0" y="1.0"/>
        <nodeBase>
            <box>
                <lambdaBox klx="-1.0" khx="1.0" kly="-1.0" khy="1.0"/>
            </box>
        </nodeBase>
        <nodeLayer layer="Active" style="CROSSED">
            <box>
                <lambdaBox klx="-1.0" khx="1.0" kly="-1.0" khy="1.0"/>
            </box>
        </nodeLayer>
        <nodeLayer layer="P_Select" style="CROSSED">
            <box>
                <lambdaBox klx="-3.0" khx="3.0" kly="-3.0" khy="3.0"/>
            </box>
        </nodeLayer>
        <nodeLayer layer="N_Well" style="CROSSED">
            <box>
                <lambdaBox klx="-6.0" khx="6.0" kly="-6.0" khy="6.0"/>
            </box>
        </nodeLayer>
        <primitivePort name="Pdiff_Pin">
            <portAngle primary="0" range="180"/>
            <portTopology>0</portTopology>
            <box>
                <lambdaBox klx="0.0" khx="0.0" kly="0.0" khy="0.0"/>
            </box>
            <portArc>Pdiff</portArc>
        </primitivePort>
    </primitiveNode>

    <primitiveNode name="Active_Pin" fun="PIN">
        <shrinkArcs/>
        <diskOffset untilVersion="2" x="1.0" y="1.0"/>
        <nodeBase>
            <box>
                <lambdaBox klx="-1.0" khx="1.0" kly="-1.0" khy="1.0"/>
            </box>
        </nodeBase>
        <nodeLayer layer="Active" style="CROSSED">
            <box>
                <lambdaBox klx="-1.0" khx="1.0" kly="-1.0" khy="1.0"/>
            </box>
        </nodeLayer>
        <primitivePort name="active">
            <portAngle primary="0" range="180"/>
            <portTopology>0</portTopology>
            <box>
                <lambdaBox klx="0.0" khx="0.0" kly="0.0" khy="0.0"/>
            </box>
            <portArc>Active</portArc>
            <portArc>Pdiff</portArc>
            <portArc>Ndiff</portArc>
        </primitivePort>
    </primitiveNode>

    <primitiveNode name="M1_Poly1_Con" fun="CONTACT">
        <diskOffset untilVersion="2" x="3.0" y="3.0"/>
        <nodeBase>
            <box>
                <lambdaBox klx="-3.0" khx="3.0" kly="-3.0" khy="3.0"/>
            </box>
        </nodeBase>
        <nodeLayer layer="M1" style="FILLED">
            <box>
                <lambdaBox klx="-2.0" khx="2.0" kly="-2.0" khy="2.0"/>
            </box>
        </nodeLayer>
        <nodeLayer layer="Poly1" style="FILLED">
            <box>
                <lambdaBox klx="-3.0" khx="3.0" kly="-3.0" khy="3.0"/>
            </box>
        </nodeLayer>
        <nodeLayer layer="Poly1_Cut" style="FILLED">
            <multicutbox sizex="2.0" sizey="2.0" sep1d="2.0" sep2d="2.0">
                <lambdaBox klx="0.0" khx="0.0" kly="0.0" khy="0.0"/>
            </multicutbox>
        </nodeLayer>
        <primitivePort name="metal-1-polysilicon">
            <portAngle primary="0" range="180"/>
            <portTopology>0</portTopology>
            <box>
                <lambdaBox klx="-2.0" khx="2.0" kly="-2.0" khy="2.0"/>
            </box>
            <portArc>Polysilicon</portArc>
            <portArc>Metal_1</portArc>
        </primitivePort>
    </primitiveNode>

    <primitiveNode name="M1_Poly2_Con" fun="CONTACT">
        <diskOffset untilVersion="1" x="3.0" y="3.0"/>
        <diskOffset untilVersion="2" x="2.0" y="2.0"/>
        <nodeBase>
            <box>
                <lambdaBox klx="-2.0" khx="2.0" kly="-2.0" khy="2.0"/>
            </box>
        </nodeBase>
        <nodeLayer layer="M1" style="FILLED">
            <box>
                <lambdaBox klx="-2.0" khx="2.0" kly="-2.0" khy="2.0"/>
            </box>
        </nodeLayer>
        <nodeLayer layer="Poly2" style="FILLED">
            <box>
                <lambdaBox klx="-3.0" khx="3.0" kly="-3.0" khy="3.0"/>
            </box>
        </nodeLayer>
        <nodeLayer layer="Poly2_Cut" style="FILLED">
            <multicutbox sizex="2.0" sizey="2.0" sep1d="2.0" sep2d="2.0">
                <lambdaBox klx="0.0" khx="0.0" kly="0.0" khy="0.0"/>
            </multicutbox>
        </nodeLayer>
        <primitivePort name="M1P2">
            <portAngle primary="0" range="180"/>
            <portTopology>0</portTopology>
            <box>
                <lambdaBox klx="-2.0" khx="2.0" kly="-2.0" khy="2.0"/>
            </box>
            <portArc>Metal_1</portArc>
            <portArc>Polysilicon_2</portArc>
        </primitivePort>
    </primitiveNode>

    <primitiveNode name="M1_Pdiff_Con" fun="CONTACT">
        <diskOffset untilVersion="1" x="8.0" y="8.0"/>
        <diskOffset untilVersion="2" x="3.0" y="3.0"/>
        <nodeBase>
            <box>
                <lambdaBox klx="-3.0" khx="3.0" kly="-3.0" khy="3.0"/>
            </box>
        </nodeBase>
        <nodeLayer layer="M1" style="FILLED">
            <box>
                <lambdaBox klx="-2.0" khx="2.0" kly="-2.0" khy="2.0"/>
            </box>
        </nodeLayer>
        <nodeLayer layer="Active" style="FILLED">
            <box>
                <lambdaBox klx="-3.0" khx="3.0" kly="-3.0" khy="3.0"/>
            </box>
        </nodeLayer>
        <nodeLayer layer="Active_Cut" style="FILLED">
            <multicutbox sizex="2.0" sizey="2.0" sep1d="2.0" sep2d="2.0">
                <lambdaBox klx="0.0" khx="0.0" kly="0.0" khy="0.0"/>
            </multicutbox>
        </nodeLayer>
        <nodeLayer layer="P_Select" style="CLOSED">
            <box>
                <lambdaBox klx="-5.0" khx="5.0" kly="-5.0" khy="5.0"/>
            </box>
        </nodeLayer>
        <nodeLayer layer="N_Well" style="FILLED">
            <box>
                <lambdaBox klx="-8.0" khx="8.0" kly="-8.0" khy="8.0"/>
            </box>
        </nodeLayer>
        <primitivePort name="m1_pdiff">
            <portAngle primary="0" range="180"/>
            <portTopology>0</portTopology>
            <box>
                <lambdaBox klx="-2.0" khx="2.0" kly="-2.0" khy="2.0"/>
            </box>
            <portArc>Metal_1</portArc>
            <portArc>Pdiff</portArc>
        </primitivePort>
    </primitiveNode>

    <primitiveNode name="M1_Ndiff_Con" fun="CONTACT">
        <diskOffset untilVersion="1" x="5.0" y="5.0"/>
        <diskOffset untilVersion="2" x="3.0" y="3.0"/>
        <nodeBase>
            <box>
                <lambdaBox klx="-3.0" khx="3.0" kly="-3.0" khy="3.0"/>
            </box>
        </nodeBase>
        <nodeLayer layer="M1" style="FILLED">
            <box>
                <lambdaBox klx="-2.0" khx="2.0" kly="-2.0" khy="2.0"/>
            </box>
        </nodeLayer>
        <nodeLayer layer="Active" style="FILLED">
            <box>
                <lambdaBox klx="-3.0" khx="3.0" kly="-3.0" khy="3.0"/>
            </box>
        </nodeLayer>
        <nodeLayer layer="Active_Cut" style="FILLED">
            <multicutbox sizex="2.0" sizey="2.0" sep1d="2.0" sep2d="2.0">
                <lambdaBox klx="0.0" khx="0.0" kly="0.0" khy="0.0"/>
            </multicutbox>
        </nodeLayer>
        <nodeLayer layer="N_Select" style="FILLED">
            <box>
                <lambdaBox klx="-5.0" khx="5.0" kly="-5.0" khy="5.0"/>
            </box>
        </nodeLayer>
        <primitivePort name="M1_Ndiff">
            <portAngle primary="0" range="180"/>
            <portTopology>0</portTopology>
            <box>
                <lambdaBox klx="-2.0" khx="2.0" kly="-2.0" khy="2.0"/>
            </box>
            <portArc>Metal_1</portArc>
            <portArc>Ndiff</portArc>
        </primitivePort>
    </primitiveNode>

    <primitiveNode name="M1_M2_Con" fun="CONTACT">
        <diskOffset untilVersion="2" x="2.0" y="2.0"/>
        <nodeBase>
            <box>
                <lambdaBox klx="-2.0" khx="2.0" kly="-2.0" khy="2.0"/>
            </box>
        </nodeBase>
        <nodeLayer layer="M1" style="FILLED">
            <box>
                <lambdaBox klx="-2.0" khx="2.0" kly="-2.0" khy="2.0"/>
            </box>
        </nodeLayer>
        <nodeLayer layer="M2" style="FILLED">
            <box>
                <lambdaBox klx="-2.0" khx="2.0" kly="-2.0" khy="2.0"/>
            </box>
        </nodeLayer>
        <nodeLayer layer="Via" style="CLOSED">
            <box klx="0.0" khx="0.0" kly="0.0" khy="0.0">
                <lambdaBox klx="-1.0" khx="1.0" kly="-1.0" khy="1.0"/>
            </box>
        </nodeLayer>
        <primitivePort name="metal-1-metal-2">
            <portAngle primary="0" range="180"/>
            <portTopology>0</portTopology>
            <box>
                <lambdaBox klx="-0.5" khx="0.5" kly="-0.5" khy="0.5"/>
            </box>
            <portArc>Metal_1</portArc>
            <portArc>Metal_2</portArc>
        </primitivePort>
    </primitiveNode>

    <primitiveNode name="PMOSFET" fun="TRAPMOS">
        <diskOffset untilVersion="1" x="6.0" y="8.0"/>
        <diskOffset untilVersion="2" x="1.0" y="1.0"/>
        <nodeBase>
            <box>
                <lambdaBox klx="-1.0" khx="1.0" kly="-1.0" khy="1.0"/>
            </box>
        </nodeBase>
        <nodeLayer layer="Poly1" style="FILLED">
            <serpbox lWidth="1.0" rWidth="1.0" tExtent="2.0" bExtent="2.0">
                <lambdaBox klx="-3.0" khx="3.0" kly="-1.0" khy="1.0"/>
            </serpbox>
        </nodeLayer>
        <nodeLayer layer="Active" style="FILLED" electrical="false">
            <serpbox lWidth="3.0" rWidth="3.0" tExtent="0.0" bExtent="0.0">
                <lambdaBox klx="-1.0" khx="1.0" kly="-3.0" khy="3.0"/>
            </serpbox>
        </nodeLayer>
        <nodeLayer layer="P_Select" style="FILLED" portNum="-1">
            <serpbox lWidth="5.0" rWidth="5.0" tExtent="2.0" bExtent="2.0">
                <lambdaBox klx="-3.0" khx="3.0" kly="-5.0" khy="5.0"/>
            </serpbox>
        </nodeLayer>
        <nodeLayer layer="N_Well" style="FILLED" portNum="-1">
            <serpbox lWidth="8.0" rWidth="8.0" tExtent="5.0" bExtent="5.0">
                <lambdaBox klx="-6.0" khx="6.0" kly="-8.0" khy="8.0"/>
            </serpbox>
        </nodeLayer>
        <nodeLayer layer="Active" style="FILLED" portNum="3" electrical="true">
            <serpbox kly="0.0" lWidth="3.0" rWidth="0.0" tExtent="0.0" bExtent="0.0">
                <lambdaBox klx="-1.0" khx="1.0" kly="0.0" khy="3.0"/>
            </serpbox>
        </nodeLayer>
        <nodeLayer layer="Active" style="FILLED" portNum="1" electrical="true">
            <serpbox khy="0.0" lWidth="0.0" rWidth="3.0" tExtent="0.0" bExtent="0.0">
                <lambdaBox klx="-1.0" khx="1.0" kly="-3.0" khy="0.0"/>
            </serpbox>
        </nodeLayer>
        <primitivePort name="pmos_poly_lt">
            <portAngle primary="180" range="90"/>
            <portTopology>0</portTopology>
            <box khx="-1.0" kly="0.0" khy="0.0">
                <lambdaBox klx="-3.0" khx="-2.0" kly="-1.0" khy="1.0"/>
            </box>
            <portArc>Polysilicon</portArc>
        </primitivePort>
        <primitivePort name="pmos_diff_top">
            <portAngle primary="90" range="90"/>
            <portTopology>1</portTopology>
            <box klx="0.0" khx="0.0" kly="1.0">
                <lambdaBox klx="-1.0" khx="1.0" kly="2.0" khy="3.0"/>
            </box>
            <portArc>Pdiff</portArc>
        </primitivePort>
        <primitivePort name="pmos_poly_rt">
            <portAngle primary="0" range="90"/>
            <portTopology>0</portTopology>
            <box klx="1.0" kly="0.0" khy="0.0">
                <lambdaBox klx="2.0" khx="3.0" kly="-1.0" khy="1.0"/>
            </box>
            <portArc>Polysilicon</portArc>
        </primitivePort>
        <primitivePort name="pmos_diff_bot">
            <portAngle primary="270" range="90"/>
            <portTopology>3</portTopology>
            <box klx="0.0" khx="0.0" khy="-1.0">
                <lambdaBox klx="-1.0" khx="1.0" kly="-3.0" khy="-2.0"/>
            </box>
            <portArc>Pdiff</portArc>
        </primitivePort>
        <serpTrans>
            <specialValue>5.0</specialValue>
            <specialValue>0.0</specialValue>
            <specialValue>1.0</specialValue>
            <specialValue>2.0</specialValue>
            <specialValue>0.0</specialValue>
            <specialValue>1.0</specialValue>
        </serpTrans>
    </primitiveNode>

    <primitiveNode name="NMOSFET" fun="TRANMOS">
        <diskOffset untilVersion="1" x="3.0" y="5.0"/>
        <diskOffset untilVersion="2" x="1.0" y="1.0"/>
        <nodeBase>
            <box>
                <lambdaBox klx="-1.0" khx="1.0" kly="-1.0" khy="1.0"/>
            </box>
        </nodeBase>
        <nodeLayer layer="Poly1" style="FILLED">
            <serpbox lWidth="1.0" rWidth="1.0" tExtent="2.0" bExtent="2.0">
                <lambdaBox klx="-3.0" khx="3.0" kly="-1.0" khy="1.0"/>
            </serpbox>
        </nodeLayer>
        <nodeLayer layer="Active" style="FILLED" electrical="false">
            <serpbox lWidth="3.0" rWidth="3.0" tExtent="0.0" bExtent="0.0">
                <lambdaBox klx="-1.0" khx="1.0" kly="-3.0" khy="3.0"/>
            </serpbox>
        </nodeLayer>
        <nodeLayer layer="N_Select" style="FILLED" portNum="-1">
            <serpbox lWidth="5.0" rWidth="5.0" tExtent="2.0" bExtent="2.0">
                <lambdaBox klx="-3.0" khx="3.0" kly="-5.0" khy="5.0"/>
            </serpbox>
        </nodeLayer>
        <nodeLayer layer="Active" style="FILLED" portNum="3" electrical="true">
            <serpbox kly="0.0" lWidth="3.0" rWidth="0.0" tExtent="0.0" bExtent="0.0">
                <lambdaBox klx="-1.0" khx="1.0" kly="0.0" khy="3.0"/>
            </serpbox>
        </nodeLayer>
        <nodeLayer layer="Active" style="FILLED" portNum="1" electrical="true">
            <serpbox khy="0.0" lWidth="0.0" rWidth="3.0" tExtent="0.0" bExtent="0.0">
                <lambdaBox klx="-1.0" khx="1.0" kly="-3.0" khy="0.0"/>
            </serpbox>
        </nodeLayer>
        <primitivePort name="nmos_poly_lt">
            <portAngle primary="180" range="90"/>
            <portTopology>0</portTopology>
            <box khx="-1.0" kly="0.0" khy="0.0">
                <lambdaBox klx="-3.0" khx="-2.0" kly="-1.0" khy="1.0"/>
            </box>
            <portArc>Polysilicon</portArc>
        </primitivePort>
        <primitivePort name="nmos_diff_top">
            <portAngle primary="90" range="90"/>
            <portTopology>1</portTopology>
            <box klx="0.0" khx="0.0" kly="1.0">
                <lambdaBox klx="-1.0" khx="1.0" kly="2.0" khy="3.0"/>
            </box>
            <portArc>Ndiff</portArc>
        </primitivePort>
        <primitivePort name="nmos_poly_rt">
            <portAngle primary="0" range="90"/>
            <portTopology>0</portTopology>
            <box klx="1.0" kly="0.0" khy="0.0">
                <lambdaBox klx="2.0" khx="3.0" kly="-1.0" khy="1.0"/>
            </box>
            <portArc>Polysilicon</portArc>
        </primitivePort>
        <primitivePort name="nmos_diff_bot">
            <portAngle primary="270" range="90"/>
            <portTopology>3</portTopology>
            <box klx="0.0" khx="0.0" khy="-1.0">
                <lambdaBox klx="-1.0" khx="1.0" kly="-3.0" khy="-2.0"/>
            </box>
            <portArc>Ndiff</portArc>
        </primitivePort>
        <serpTrans>
            <specialValue>4.0</specialValue>
            <specialValue>0.0</specialValue>
            <specialValue>1.0</specialValue>
            <specialValue>2.0</specialValue>
            <specialValue>0.0</specialValue>
            <specialValue>1.0</specialValue>
        </serpTrans>
    </primitiveNode>

    <primitiveNode name="NPN1_transistor" fun="TRANPN">
        <diskOffset untilVersion="1" x="23.0" y="12.0"/>
        <diskOffset untilVersion="2" x="4.0" y="4.0"/>
        <nodeBase>
            <box>
                <lambdaBox klx="-1.0" khx="7.0" kly="-4.0" khy="4.0"/>
            </box>
        </nodeBase>
        <nodeLayer layer="M1" style="FILLED">
            <box>
                <lambdaBox klx="12.0" khx="16.0" kly="-2.0" khy="2.0"/>
            </box>
        </nodeLayer>
        <nodeLayer layer="M1" style="FILLED" portNum="1">
            <box>
                <lambdaBox klx="-10.0" khx="-6.0" kly="-2.0" khy="2.0"/>
            </box>
        </nodeLayer>
        <nodeLayer layer="M1" style="FILLED" portNum="2">
            <box>
                <lambdaBox klx="1.0" khx="5.0" kly="-2.0" khy="2.0"/>
            </box>
        </nodeLayer>
        <nodeLayer layer="M1" style="FILLED" portNum="3">
            <box>
                <lambdaBox klx="-20.0" khx="-16.0" kly="-2.0" khy="2.0"/>
            </box>
        </nodeLayer>
        <nodeLayer layer="Active" style="FILLED">
            <box>
                <lambdaBox klx="11.0" khx="17.0" kly="-3.0" khy="3.0"/>
            </box>
        </nodeLayer>
        <nodeLayer layer="Active" style="FILLED" portNum="2">
            <box>
                <lambdaBox klx="-1.0" khx="7.0" kly="-4.0" khy="4.0"/>
            </box>
        </nodeLayer>
        <nodeLayer layer="Active" style="FILLED" portNum="1">
            <box>
                <lambdaBox klx="-11.0" khx="-5.0" kly="-3.0" khy="3.0"/>
            </box>
        </nodeLayer>
        <nodeLayer layer="Active" style="FILLED" portNum="3">
            <box>
                <lambdaBox klx="-21.0" khx="-15.0" kly="-3.0" khy="3.0"/>
            </box>
        </nodeLayer>
        <nodeLayer layer="Active_Cut" style="FILLED">
            <box>
                <lambdaBox klx="13.0" khx="15.0" kly="-1.0" khy="1.0"/>
            </box>
        </nodeLayer>
        <nodeLayer layer="Active_Cut" style="FILLED" portNum="3">
            <box>
                <lambdaBox klx="-19.0" khx="-17.0" kly="-1.0" khy="1.0"/>
            </box>
        </nodeLayer>
        <nodeLayer layer="Active_Cut" style="FILLED" portNum="1">
            <box>
                <lambdaBox klx="-9.0" khx="-7.0" kly="-1.0" khy="1.0"/>
            </box>
        </nodeLayer>
        <nodeLayer layer="Active_Cut" style="FILLED" portNum="2">
            <box>
                <lambdaBox klx="2.0" khx="4.0" kly="-1.0" khy="1.0"/>
            </box>
        </nodeLayer>
        <nodeLayer layer="P_Select" style="FILLED">
            <box>
                <lambdaBox klx="11.0" khx="17.0" kly="-3.0" khy="3.0"/>
            </box>
        </nodeLayer>
        <nodeLayer layer="P_Select" style="FILLED" portNum="1">
            <box>
                <lambdaBox klx="-11.0" khx="-5.0" kly="-3.0" khy="3.0"/>
            </box>
        </nodeLayer>
        <nodeLayer layer="N_Select" style="FILLED" portNum="2">
            <box>
                <lambdaBox klx="-1.0" khx="7.0" kly="-4.0" khy="4.0"/>
            </box>
        </nodeLayer>
        <nodeLayer layer="N_Select" style="CLOSED" portNum="3">
            <box>
                <lambdaBox klx="-23.0" khx="-13.0" kly="-5.0" khy="5.0"/>
            </box>
        </nodeLayer>
        <nodeLayer layer="N_Well" style="FILLED" portNum="-1">
            <box>
                <lambdaBox klx="-21.0" khx="23.0" kly="-12.0" khy="12.0"/>
            </box>
        </nodeLayer>
        <nodeLayer layer="P_Base_Active" style="FILLED" portNum="-1">
            <box>
                <lambdaBox klx="-11.0" khx="17.0" kly="-6.0" khy="6.0"/>
            </box>
        </nodeLayer>
        <primitivePort name="B1">
            <portAngle primary="0" range="180"/>
            <portTopology>1</portTopology>
            <box>
                <lambdaBox klx="-9.0" khx="-7.0" kly="-1.0" khy="1.0"/>
            </box>
            <portArc>Metal_1</portArc>
        </primitivePort>
        <primitivePort name="B2">
            <portAngle primary="0" range="180"/>
            <portTopology>0</portTopology>
            <box>
                <lambdaBox klx="13.0" khx="15.0" kly="-1.0" khy="1.0"/>
            </box>
            <portArc>Metal_1</portArc>
        </primitivePort>
        <primitivePort name="C1">
            <portAngle primary="0" range="180"/>
            <portTopology>3</portTopology>
            <box>
                <lambdaBox klx="-19.0" khx="-17.0" kly="-1.0" khy="1.0"/>
            </box>
            <portArc>Metal_1</portArc>
        </primitivePort>
        <primitivePort name="E1">
            <portAngle primary="0" range="180"/>
            <portTopology>2</portTopology>
            <box>
                <lambdaBox klx="2.0" khx="4.0" kly="-1.0" khy="1.0"/>
            </box>
            <portArc>Metal_1</portArc>
        </primitivePort>
    </primitiveNode>

    <primitiveNode name="NPN2_Transistor" fun="TRANPN">
        <diskOffset untilVersion="2" x="23.0" y="18.0"/>
        <nodeBase>
            <box>
                <lambdaBox klx="-23.0" khx="23.0" kly="-18.0" khy="18.0"/>
            </box>
        </nodeBase>
        <nodeLayer layer="M1" style="FILLED">
            <box>
                <lambdaBox klx="-10.0" khx="-6.0" kly="-8.0" khy="-4.0"/>
            </box>
        </nodeLayer>
        <nodeLayer layer="M1" style="FILLED" portNum="6">
            <box>
                <lambdaBox klx="12.0" khx="16.0" kly="4.0" khy="8.0"/>
            </box>
        </nodeLayer>
        <nodeLayer layer="M1" style="FILLED" portNum="1">
            <box>
                <lambdaBox klx="1.0" khx="5.0" kly="4.0" khy="8.0"/>
            </box>
        </nodeLayer>
        <nodeLayer layer="M1" style="FILLED" portNum="3">
            <box>
                <lambdaBox klx="-20.0" khx="-16.0" kly="-8.0" khy="-4.0"/>
            </box>
        </nodeLayer>
        <nodeLayer layer="M1" style="FILLED" portNum="2">
            <box>
                <lambdaBox klx="-10.0" khx="-6.0" kly="4.0" khy="8.0"/>
            </box>
        </nodeLayer>
        <nodeLayer layer="M1" style="FILLED" portNum="5">
            <box>
                <lambdaBox klx="1.0" khx="5.0" kly="-8.0" khy="-4.0"/>
            </box>
        </nodeLayer>
        <nodeLayer layer="M1" style="FILLED" portNum="7">
            <box>
                <lambdaBox klx="12.0" khx="16.0" kly="-8.0" khy="-4.0"/>
            </box>
        </nodeLayer>
        <nodeLayer layer="M1" style="FILLED" portNum="4">
            <box>
                <lambdaBox klx="-20.0" khx="-16.0" kly="4.0" khy="8.0"/>
            </box>
        </nodeLayer>
        <nodeLayer layer="Active" style="FILLED">
            <box>
                <lambdaBox klx="-11.0" khx="-5.0" kly="-9.0" khy="-3.0"/>
            </box>
        </nodeLayer>
        <nodeLayer layer="Active" style="FILLED" portNum="6">
            <box>
                <lambdaBox klx="11.0" khx="17.0" kly="3.0" khy="9.0"/>
            </box>
        </nodeLayer>
        <nodeLayer layer="Active" style="FILLED" portNum="1">
            <box>
                <lambdaBox klx="-1.0" khx="7.0" kly="2.0" khy="10.0"/>
            </box>
        </nodeLayer>
        <nodeLayer layer="Active" style="FILLED" portNum="2">
            <box>
                <lambdaBox klx="-11.0" khx="-5.0" kly="3.0" khy="9.0"/>
            </box>
        </nodeLayer>
        <nodeLayer layer="Active" style="FILLED" portNum="4">
            <box>
                <lambdaBox klx="-21.0" khx="-15.0" kly="3.0" khy="9.0"/>
            </box>
        </nodeLayer>
        <nodeLayer layer="Active" style="FILLED" portNum="7">
            <box>
                <lambdaBox klx="11.0" khx="17.0" kly="-9.0" khy="-3.0"/>
            </box>
        </nodeLayer>
        <nodeLayer layer="Active" style="FILLED" portNum="5">
            <box>
                <lambdaBox klx="-1.0" khx="7.0" kly="-10.0" khy="-2.0"/>
            </box>
        </nodeLayer>
        <nodeLayer layer="Active" style="FILLED" portNum="3">
            <box>
                <lambdaBox klx="-21.0" khx="-15.0" kly="-9.0" khy="-3.0"/>
            </box>
        </nodeLayer>
        <nodeLayer layer="Active_Cut" style="FILLED">
            <box>
                <lambdaBox klx="-9.0" khx="-7.0" kly="-7.0" khy="-5.0"/>
            </box>
        </nodeLayer>
        <nodeLayer layer="Active_Cut" style="FILLED" portNum="2">
            <box>
                <lambdaBox klx="-9.0" khx="-7.0" kly="5.0" khy="7.0"/>
            </box>
        </nodeLayer>
        <nodeLayer layer="Active_Cut" style="FILLED" portNum="5">
            <box>
                <lambdaBox klx="2.0" khx="4.0" kly="-7.0" khy="-5.0"/>
            </box>
        </nodeLayer>
        <nodeLayer layer="Active_Cut" style="FILLED" portNum="6">
            <box>
                <lambdaBox klx="13.0" khx="15.0" kly="5.0" khy="7.0"/>
            </box>
        </nodeLayer>
        <nodeLayer layer="Active_Cut" style="FILLED" portNum="1">
            <box>
                <lambdaBox klx="2.0" khx="4.0" kly="5.0" khy="7.0"/>
            </box>
        </nodeLayer>
        <nodeLayer layer="Active_Cut" style="FILLED" portNum="7">
            <box>
                <lambdaBox klx="13.0" khx="15.0" kly="-7.0" khy="-5.0"/>
            </box>
        </nodeLayer>
        <nodeLayer layer="Active_Cut" style="FILLED" portNum="3">
            <box>
                <lambdaBox klx="-19.0" khx="-17.0" kly="-7.0" khy="-5.0"/>
            </box>
        </nodeLayer>
        <nodeLayer layer="Active_Cut" style="FILLED" portNum="4">
            <box>
                <lambdaBox klx="-19.0" khx="-17.0" kly="5.0" khy="7.0"/>
            </box>
        </nodeLayer>
        <nodeLayer layer="P_Select" style="FILLED">
            <box>
                <lambdaBox klx="-11.0" khx="-5.0" kly="-9.0" khy="-3.0"/>
            </box>
        </nodeLayer>
        <nodeLayer layer="P_Select" style="FILLED" portNum="6">
            <box>
                <lambdaBox klx="11.0" khx="17.0" kly="3.0" khy="9.0"/>
            </box>
        </nodeLayer>
        <nodeLayer layer="P_Select" style="FILLED" portNum="7">
            <box>
                <lambdaBox klx="11.0" khx="17.0" kly="-9.0" khy="-3.0"/>
            </box>
        </nodeLayer>
        <nodeLayer layer="P_Select" style="FILLED" portNum="2">
            <box>
                <lambdaBox klx="-11.0" khx="-5.0" kly="3.0" khy="9.0"/>
            </box>
        </nodeLayer>
        <nodeLayer layer="N_Select" style="FILLED" portNum="4">
            <box>
                <lambdaBox klx="-23.0" khx="-13.0" kly="1.0" khy="11.0"/>
            </box>
        </nodeLayer>
        <nodeLayer layer="N_Select" style="FILLED" portNum="3">
            <box>
                <lambdaBox klx="-23.0" khx="-13.0" kly="-11.0" khy="-1.0"/>
            </box>
        </nodeLayer>
        <nodeLayer layer="N_Select" style="FILLED" portNum="1">
            <box>
                <lambdaBox klx="-1.0" khx="7.0" kly="2.0" khy="10.0"/>
            </box>
        </nodeLayer>
        <nodeLayer layer="N_Select" style="FILLED" portNum="5">
            <box>
                <lambdaBox klx="-1.0" khx="7.0" kly="-10.0" khy="-2.0"/>
            </box>
        </nodeLayer>
        <nodeLayer layer="N_Well" style="FILLED" portNum="-1">
            <box>
                <lambdaBox klx="-21.0" khx="23.0" kly="-18.0" khy="18.0"/>
            </box>
        </nodeLayer>
        <nodeLayer layer="P_Base_Active" style="FILLED" portNum="-1">
            <box>
                <lambdaBox klx="-11.0" khx="17.0" kly="-12.0" khy="12.0"/>
            </box>
        </nodeLayer>
        <primitivePort name="B1">
            <portAngle primary="0" range="180"/>
            <portTopology>0</portTopology>
            <box>
                <lambdaBox klx="-9.0" khx="-7.0" kly="-7.0" khy="-5.0"/>
            </box>
            <portArc>Metal_1</portArc>
        </primitivePort>
        <primitivePort name="B2">
            <portAngle primary="0" range="180"/>
            <portTopology>7</portTopology>
            <box>
                <lambdaBox klx="13.0" khx="15.0" kly="-7.0" khy="-5.0"/>
            </box>
            <portArc>Metal_1</portArc>
        </primitivePort>
        <primitivePort name="B3">
            <portAngle primary="0" range="180"/>
            <portTopology>2</portTopology>
            <box>
                <lambdaBox klx="-9.0" khx="-7.0" kly="5.0" khy="7.0"/>
            </box>
            <portArc>Metal_1</portArc>
        </primitivePort>
        <primitivePort name="B4">
            <portAngle primary="0" range="180"/>
            <portTopology>6</portTopology>
            <box>
                <lambdaBox klx="13.0" khx="15.0" kly="5.0" khy="7.0"/>
            </box>
            <portArc>Metal_1</portArc>
        </primitivePort>
        <primitivePort name="C1">
            <portAngle primary="0" range="180"/>
            <portTopology>3</portTopology>
            <box>
                <lambdaBox klx="-19.0" khx="-17.0" kly="-7.0" khy="-5.0"/>
            </box>
            <portArc>Metal_1</portArc>
        </primitivePort>
        <primitivePort name="C2">
            <portAngle primary="0" range="180"/>
            <portTopology>4</portTopology>
            <box>
                <lambdaBox klx="-19.0" khx="-17.0" kly="5.0" khy="7.0"/>
            </box>
            <portArc>Metal_1</portArc>
        </primitivePort>
        <primitivePort name="E1">
            <portAngle primary="0" range="180"/>
            <portTopology>5</portTopology>
            <box>
                <lambdaBox klx="2.0" khx="4.0" kly="-7.0" khy="-5.0"/>
            </box>
            <portArc>Metal_1</portArc>
        </primitivePort>
        <primitivePort name="E2">
            <portAngle primary="0" range="180"/>
            <portTopology>1</portTopology>
            <box>
                <lambdaBox klx="2.0" khx="4.0" kly="5.0" khy="7.0"/>
            </box>
            <portArc>Metal_1</portArc>
        </primitivePort>
    </primitiveNode>

    <primitiveNode name="M1_N_Well_Con" fun="WELL">
        <diskOffset untilVersion="1" x="6.0" y="6.0"/>
        <diskOffset untilVersion="2" x="3.0" y="3.0"/>
        <nodeBase>
            <box>
                <lambdaBox klx="-3.0" khx="3.0" kly="-3.0" khy="3.0"/>
            </box>
        </nodeBase>
        <nodeLayer layer="M1" style="FILLED">
            <box>
                <lambdaBox klx="-2.0" khx="2.0" kly="-2.0" khy="2.0"/>
            </box>
        </nodeLayer>
        <nodeLayer layer="Active_Cut" style="FILLED">
            <multicutbox sizex="2.0" sizey="2.0" sep1d="2.0" sep2d="2.0">
                <lambdaBox klx="0.0" khx="0.0" kly="0.0" khy="0.0"/>
            </multicutbox>
        </nodeLayer>
        <nodeLayer layer="N_Select" style="FILLED">
            <box>
                <lambdaBox klx="-5.0" khx="5.0" kly="-5.0" khy="5.0"/>
            </box>
        </nodeLayer>
        <nodeLayer layer="N_Well" style="FILLED">
            <box>
                <lambdaBox klx="-6.0" khx="6.0" kly="-6.0" khy="6.0"/>
            </box>
        </nodeLayer>
        <nodeLayer layer="Ohmic_Well" style="FILLED">
            <box>
                <lambdaBox klx="-3.0" khx="3.0" kly="-3.0" khy="3.0"/>
            </box>
        </nodeLayer>
        <primitivePort name="metal-1-well">
            <portAngle primary="0" range="180"/>
            <portTopology>0</portTopology>
            <box>
                <lambdaBox klx="-2.0" khx="2.0" kly="-2.0" khy="2.0"/>
            </box>
            <portArc>Metal_1</portArc>
            <portArc>Active</portArc>
        </primitivePort>
    </primitiveNode>

    <primitiveNode name="Poly1_Poly2_Cap" fun="CAPAC">
        <diskOffset untilVersion="2" x="6.0" y="6.0"/>
        <nodeBase>
            <box>
                <lambdaBox klx="-6.0" khx="6.0" kly="-6.0" khy="6.0"/>
            </box>
        </nodeBase>
        <nodeLayer layer="Poly1" style="FILLED">
            <box>
                <lambdaBox klx="-6.0" khx="6.0" kly="-6.0" khy="6.0"/>
            </box>
        </nodeLayer>
        <nodeLayer layer="Poly2" style="FILLED">
            <box>
                <lambdaBox klx="-4.0" khx="4.0" kly="-4.0" khy="4.0"/>
            </box>
        </nodeLayer>
        <primitivePort name="P1P2">
            <portAngle primary="0" range="180"/>
            <portTopology>0</portTopology>
            <box>
                <lambdaBox klx="-3.0" khx="3.0" kly="-3.0" khy="3.0"/>
            </box>
            <portArc>Polysilicon</portArc>
            <portArc>Polysilicon_2</portArc>
        </primitivePort>
        <primitivePort name="P1P2alt">
            <portAngle primary="0" range="180"/>
            <portTopology>0</portTopology>
            <box>
                <lambdaBox klx="-3.0" khx="3.0" kly="-3.0" khy="3.0"/>
            </box>
            <portArc>Polysilicon</portArc>
            <portArc>Polysilicon_2</portArc>
        </primitivePort>
    </primitiveNode>

    <primitiveNode name="M1_Substrate_Con" fun="UNKNOWN">
        <diskOffset untilVersion="1" x="5.0" y="5.0"/>
        <diskOffset untilVersion="2" x="2.0" y="2.0"/>
        <nodeBase>
            <box>
                <lambdaBox klx="-2.0" khx="2.0" kly="-2.0" khy="2.0"/>
            </box>
        </nodeBase>
        <nodeLayer layer="M1" style="FILLED">
            <box>
                <lambdaBox klx="-2.0" khx="2.0" kly="-2.0" khy="2.0"/>
            </box>
        </nodeLayer>
        <nodeLayer layer="Active_Cut" style="FILLED">
            <multicutbox sizex="2.0" sizey="2.0" sep1d="2.0" sep2d="2.0">
                <lambdaBox klx="0.0" khx="0.0" kly="0.0" khy="0.0"/>
            </multicutbox>
        </nodeLayer>
        <nodeLayer layer="P_Select" style="FILLED">
            <box>
                <lambdaBox klx="-5.0" khx="5.0" kly="-5.0" khy="5.0"/>
            </box>
        </nodeLayer>
        <nodeLayer layer="Ohmic_Substrate" style="FILLED">
            <box>
                <lambdaBox klx="-3.0" khx="3.0" kly="-3.0" khy="3.0"/>
            </box>
        </nodeLayer>
        <primitivePort name="M1_Substrate">
            <portAngle primary="0" range="180"/>
            <portTopology>0</portTopology>
            <box>
                <lambdaBox klx="-1.0" khx="1.0" kly="-1.0" khy="1.0"/>
            </box>
            <portArc>Metal_1</portArc>
        </primitivePort>
    </primitiveNode>

    <primitiveNode name="Ndiff_Node" fun="UNKNOWN">
        <diskOffset untilVersion="1" x="4.0" y="4.0"/>
        <diskOffset untilVersion="2" x="2.0" y="2.0"/>
        <nodeBase>
            <box>
                <lambdaBox klx="-2.0" khx="2.0" kly="-2.0" khy="2.0"/>
            </box>
        </nodeBase>
        <nodeLayer layer="Active" style="FILLED">
            <box>
                <lambdaBox klx="-2.0" khx="2.0" kly="-2.0" khy="2.0"/>
            </box>
        </nodeLayer>
        <nodeLayer layer="N_Select" style="FILLED">
            <box>
                <lambdaBox klx="-4.0" khx="4.0" kly="-4.0" khy="4.0"/>
            </box>
        </nodeLayer>
        <primitivePort name="active">
            <portAngle primary="0" range="180"/>
            <portTopology>0</portTopology>
            <box>
                <lambdaBox klx="-4.0" khx="4.0" kly="-4.0" khy="4.0"/>
            </box>
            <portArc>Active</portArc>
            <portArc>Pdiff</portArc>
            <portArc>Ndiff</portArc>
        </primitivePort>
    </primitiveNode>

    <primitiveNode name="Pdiff_Node" fun="UNKNOWN">
        <diskOffset untilVersion="1" x="4.0" y="4.0"/>
        <diskOffset untilVersion="2" x="2.0" y="2.0"/>
        <nodeBase>
            <box>
                <lambdaBox klx="-2.0" khx="2.0" kly="-2.0" khy="2.0"/>
            </box>
        </nodeBase>
        <nodeLayer layer="Active" style="FILLED">
            <box>
                <lambdaBox klx="-2.0" khx="2.0" kly="-2.0" khy="2.0"/>
            </box>
        </nodeLayer>
        <nodeLayer layer="P_Select" style="FILLED">
            <box>
                <lambdaBox klx="-4.0" khx="4.0" kly="-4.0" khy="4.0"/>
            </box>
        </nodeLayer>
        <primitivePort name="Pdiff">
            <portAngle primary="0" range="180"/>
            <portTopology>0</portTopology>
            <box>
                <lambdaBox klx="-4.0" khx="4.0" kly="-4.0" khy="4.0"/>
            </box>
        </primitivePort>
    </primitiveNode>

    <menuPalette numColumns="3">

        <menuBox>
            <menuArc>Polysilicon</menuArc>
        </menuBox>
        <menuBox>
            <menuNodeInst protoName="Poly1_Pin" function="PIN"/>
        </menuBox>
        <menuBox>
            <menuNode>M1_Poly1_Con</menuNode>
        </menuBox>

        <menuBox>
            <menuArc>Polysilicon_2</menuArc>
        </menuBox>
        <menuBox>
            <menuNodeInst protoName="Poly2_Pin" function="PIN"/>
        </menuBox>
        <menuBox>
            <menuNode>M1_Poly2_Con</menuNode>
        </menuBox>

        <menuBox>
            <menuArc>Metal_1</menuArc>
        </menuBox>
        <menuBox>
            <menuNodeInst protoName="M1_Pin" function="PIN"/>
        </menuBox>
        <menuBox/>

        <menuBox>
            <menuArc>Metal_2</menuArc>
        </menuBox>
        <menuBox>
            <menuNodeInst protoName="M2_Pin" function="PIN"/>
        </menuBox>
        <menuBox>
            <menuNode>M1_M2_Con</menuNode>
        </menuBox>

        <menuBox>
            <menuArc>Pdiff</menuArc>
        </menuBox>
        <menuBox>
            <menuNodeInst protoName="Pdiff_Pin" function="PIN"/>
        </menuBox>
        <menuBox>
            <menuNode>M1_Pdiff_Con</menuNode>
        </menuBox>

        <menuBox>
            <menuArc>Ndiff</menuArc>
        </menuBox>
        <menuBox>
            <menuNodeInst protoName="Ndiff_Pin" function="PIN"/>
        </menuBox>
        <menuBox>
            <menuNode>M1_Ndiff_Con</menuNode>
        </menuBox>

        <menuBox>
            <menuArc>Active</menuArc>
        </menuBox>
        <menuBox>
            <menuNodeInst protoName="Active_Pin" function="PIN"/>
        </menuBox>
        <menuBox>
            <menuNode>M1_N_Well_Con</menuNode>
        </menuBox>

        <menuBox>
            <menuNode>M1_Substrate_Con</menuNode>
        </menuBox>
        <menuBox>
            <menuNode>NPN2_Transistor</menuNode>
        </menuBox>
        <menuBox>
            <menuNode>NPN1_transistor</menuNode>
        </menuBox>

        <menuBox>
            <menuNode>Poly1_Poly2_Cap</menuNode>
        </menuBox>
        <menuBox>
            <menuNode>NMOSFET</menuNode>
        </menuBox>
        <menuBox>
            <menuNode>PMOSFET</menuNode>
        </menuBox>

        <menuBox>
            <menuText>Pure</menuText>
        </menuBox>
        <menuBox>
            <menuText>Misc.</menuText>
        </menuBox>
        <menuBox>
            <menuText>Cell</menuText>
        </menuBox>

    </menuPalette>

    <Foundry name="MOSIS">

        <layerGds layer="M1" gds="10"/>
        <layerGds layer="M2" gds="12"/>
        <layerGds layer="Poly1" gds="4"/>
        <layerGds layer="Poly2" gds="19"/>
        <layerGds layer="Active" gds="31"/>
        <layerGds layer="Poly1_Cut" gds="45"/>
        <layerGds layer="Poly2_Cut" gds="55"/>
        <layerGds layer="Active_Cut" gds="35"/>
        <layerGds layer="P_Select" gds="8"/>
        <layerGds layer="N_Select" gds="7"/>
        <layerGds layer="N_Well" gds="1"/>
        <layerGds layer="Pad_Frame" gds="9"/>
        <layerGds layer="P_Base_Active" gds="33"/>
        <layerGds layer="BCCD" gds="17"/>
        <layerGds layer="Ohmic_Substrate" gds="3"/>
        <layerGds layer="Ohmic_Well" gds="3"/>
        <layerGds layer="Passivation" gds="13"/>

        <LayerRule ruleName="W_7" layerName="Active_Cut" type="MINWID" when="ALL" value="2.0"/>
        <LayerRule ruleName="W_13" layerName="Poly1_Cut" type="MINWID" when="ALL" value="2.0"/>
        <LayerRule ruleName="W_14" layerName="Poly2_Cut" type="MINWID" when="ALL" value="2.0"/>
        <LayersRule ruleName="C_3_3" layerNames="{Via,Via}" type="CONSPA" when="ALL" value="2.0"/>
        <LayersRule ruleName="U_3_3" layerNames="{Via,Via}" type="UCONSPA" when="ALL" value="3.0"/>
        <LayersRule ruleName="U_3_6" layerNames="{Via,Transistor}" type="UCONSPA" when="ALL" value="2.0"/>
        <LayersRule ruleName="C_3_7" layerNames="{Via,Active_Cut}" type="CONSPA" when="ALL" value="2.0"/>
        <LayersRule ruleName="U_3_10" layerNames="{Via,Poly1}" type="UCONSPA" when="ALL" value="2.0"/>
        <LayersRule ruleName="U_3_12" layerNames="{Via,Active}" type="UCONSPA" when="ALL" value="2.0"/>
        <LayersRule ruleName="C_3_13" layerNames="{Via,Poly1_Cut}" type="CONSPA" when="ALL" value="2.0"/>
        <LayersRule ruleName="C_7_7" layerNames="{Active_Cut,Active_Cut}" type="CONSPA" when="ALL" value="2.0"/>
        <LayersRule ruleName="U_7_12" layerNames="{Active_Cut,Active}" type="UCONSPA" when="ALL" value="5.0"/>
        <LayersRule ruleName="U_8_8" layerNames="{M1,M1}" type="UCONSPA" when="ALL" value="3.0"/>
        <LayersRule ruleName="U_9_9" layerNames="{M2,M2}" type="UCONSPA" when="ALL" value="4.0"/>
        <LayersRule ruleName="U_10_10" layerNames="{Poly1,Poly1}" type="UCONSPA" when="ALL" value="2.0"/>
        <LayersRule ruleName="C_10_12" layerNames="{Poly1,Active}" type="CONSPA" when="ALL" value="1.0"/>
        <LayersRule ruleName="U_10_12" layerNames="{Poly1,Active}" type="UCONSPA" when="ALL" value="1.0"/>
        <LayersRule ruleName="U_10_13" layerNames="{Poly1,Poly1_Cut}" type="UCONSPA" when="ALL" value="4.0"/>
        <LayersRule ruleName="U_11_11" layerNames="{Poly2,Poly2}" type="UCONSPA" when="ALL" value="3.0"/>
        <LayersRule ruleName="U_12_12" layerNames="{Active,Active}" type="UCONSPA" when="ALL" value="3.0"/>
        <LayersRule ruleName="C_13_13" layerNames="{Poly1_Cut,Poly1_Cut}" type="CONSPA" when="ALL" value="2.0"/>
        <LayersRule ruleName="C_14_14" layerNames="{Poly2_Cut,Poly2_Cut}" type="CONSPA" when="ALL" value="2.0"/>
    </Foundry>
</technology>
