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

<!--
 *
 * Electric(tm) VLSI Design System
 *
 * File: photonics.xml
 * photonics technology description
 *
 * Copyright (c) 2015, Static Free Software. 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="photonics"
     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">

    <shortName>Photonics</shortName>
    <description>Silicon Photonics 130nm</description>
    <numMetals min="10" max="10" default="10"/>
    <scale value="130.0" relevant="true"/>
    <resolution value="0.1"/>
    <defaultFoundry value="TSMC"/>
    <minResistance value="1.0"/>
    <minCapacitance value="0.1"/>

    <!-- Transparent layers -->
    <transparentLayer transparent="1">
        <r>96</r>
        <g>209</g>
        <b>255</b>
    </transparentLayer>
    <transparentLayer transparent="2">
        <r>255</r>
        <g>100</g>
        <b>100</b>
    </transparentLayer>
    <transparentLayer transparent="3">
        <r>100</r>
        <g>100</g>
        <b>100</b>
    </transparentLayer>
    <transparentLayer transparent="4">
        <r>224</r>
        <g>95</g>
        <b>255</b>
    </transparentLayer>
    <transparentLayer transparent="5">
        <r>100</r>
        <g>100</g>
        <b>255</b>
    </transparentLayer>

    <!-- **************************************** LAYERS **************************************** -->
    <layer name="m1" fun="METAL1">
        <transparentColor transparent="1"/>
        <patternedOnDisplay>false</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>NOPAT</outlined>
        <opacity>0.8</opacity>
        <foreground>true</foreground>
        <display3D thick="8" height="17.0" mode="NONE" factor="0.2"/>
        <pureLayerNode name="m1-Node" port="metal-1">
            <lambda>2.4</lambda>
            <portArc>metal-1</portArc>
        </pureLayerNode>
    </layer>

    <layer name="m2" fun="METAL2">
        <transparentColor transparent="4"/>
        <patternedOnDisplay>false</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>NOPAT</outlined>
        <opacity>0.7</opacity>
        <foreground>true</foreground>
        <display3D thick="8.0" height="33.0" mode="NONE" factor="0.2"/>
        <pureLayerNode name="m2-Node" port="metal-2">
            <lambda>2.8</lambda>
            <portArc>metal-2</portArc>
        </pureLayerNode>
    </layer>

    <layer name="poly" fun="POLY1">
        <opaqueColor r="255" g="0" b="0"/>
        <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   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   X  </pattern>
        <outlined>NOPAT</outlined>
        <opacity>0.5</opacity>
        <foreground>true</foreground>
        <display3D thick="4.8" height="7.2" mode="SCREEN_DOOR" factor="0.5"/>
        <pureLayerNode name="poly-Node" port="polysilicon">
            <lambda>2.0</lambda>
            <portArc>poly</portArc>
        </pureLayerNode>
    </layer>

    <layer name="p-active" fun="DIFFP">
        <opaqueColor r="0" g="255" b="0"/>
        <patternedOnDisplay>true</patternedOnDisplay>
        <patternedOnPrinter>true</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.5</opacity>
        <foreground>true</foreground>
        <display3D thick="0.2" height="7.0" mode="SCREEN_DOOR" factor="0.5"/>
        <pureLayerNode name="active-Node" port="active">
            <lambda>2.2</lambda>
            <portArc>P-Active</portArc>
        </pureLayerNode>
    </layer>

    <layer name="n-active" fun="DIFFN">
        <opaqueColor r="0" g="255" b="0"/>
        <patternedOnDisplay>true</patternedOnDisplay>
        <patternedOnPrinter>true</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.5</opacity>
        <foreground>true</foreground>
        <display3D thick="0.2" height="7.0" mode="NONE" factor="0.2"/>
        <pureLayerNode name="n-active-Node" port="active">
            <lambda>2.2</lambda>
            <portArc>N-Active</portArc>
        </pureLayerNode>
    </layer>

    <layer name="pplus" fun="IMPLANTP">
        <opaqueColor r="170" g="170" 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>NOPAT</outlined>
        <opacity>0.2</opacity>
        <foreground>false</foreground>
        <display3D thick="1.0" height="6.0" mode="SCREEN_DOOR" factor="0.7"/>
        <pureLayerNode name="pplus-Node" port="select">
            <lambda>8.0</lambda>
        </pureLayerNode>
    </layer>

    <layer name="nplus" fun="IMPLANTN">
        <opaqueColor r="255" g="255" b="0"/>
        <patternedOnDisplay>true</patternedOnDisplay>
        <patternedOnPrinter>true</patternedOnPrinter>
        <pattern>       X       X</pattern>
        <pattern>                </pattern>
        <pattern>   X       X    </pattern>
        <pattern>                </pattern>
        <pattern>       X       X</pattern>
        <pattern>                </pattern>
        <pattern>   X       X    </pattern>
        <pattern>                </pattern>
        <pattern>       X       X</pattern>
        <pattern>                </pattern>
        <pattern>   X       X    </pattern>
        <pattern>                </pattern>
        <pattern>       X       X</pattern>
        <pattern>                </pattern>
        <pattern>   X       X    </pattern>
        <pattern>                </pattern>
        <outlined>NOPAT</outlined>
        <opacity>0.2</opacity>
        <foreground>false</foreground>
        <display3D thick="1.0" height="6.0" mode="NONE" factor="0.2"/>
        <pureLayerNode name="nplus-Node" port="select">
            <lambda>8.0</lambda>
        </pureLayerNode>
    </layer>

    <layer name="pwell" fun="WELLP">
        <opaqueColor r="139" g="99" b="46"/>
        <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>NOPAT</outlined>
        <opacity>0.2</opacity>
        <foreground>false</foreground>
        <display3D thick="1.0" height="10.0" mode="NONE" factor="0.2"/>
        <pureLayerNode name="pwell-Node" port="well">
            <lambda>11.0</lambda>
        </pureLayerNode>
    </layer>

    <layer name="nwell" fun="WELLN">
        <opaqueColor r="139" g="99" b="46"/>
        <patternedOnDisplay>true</patternedOnDisplay>
        <patternedOnPrinter>true</patternedOnPrinter>
        <pattern>      X       X </pattern>
        <pattern>                </pattern>
        <pattern>  X       X     </pattern>
        <pattern>                </pattern>
        <pattern>      X       X </pattern>
        <pattern>                </pattern>
        <pattern>  X       X     </pattern>
        <pattern>                </pattern>
        <pattern>      X       X </pattern>
        <pattern>                </pattern>
        <pattern>  X       X     </pattern>
        <pattern>                </pattern>
        <pattern>      X       X </pattern>
        <pattern>                </pattern>
        <pattern>  X       X     </pattern>
        <pattern>                </pattern>
        <outlined>NOPAT</outlined>
        <opacity>0.2</opacity>
        <foreground>false</foreground>
        <display3D thick="1.0" height="10.0" mode="NONE" factor="0.2"/>
        <pureLayerNode name="nwell-Node" port="well">
            <lambda>11.0</lambda>
        </pureLayerNode>
    </layer>

    <layer name="poly-cut" fun="CONTACT1" extraFun="connects-poly">
        <opaqueColor r="100" g="100" b="100"/>
        <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>1.0</opacity>
        <foreground>true</foreground>
        <display3D thick="5.0" height="12.0" mode="NONE" factor="0.0"/>
        <pureLayerNode name="poly-cut-Node" port="polycut">
            <lambda>2.4</lambda>
        </pureLayerNode>
    </layer>

    <layer name="active-cut" fun="CONTACT1" extraFun="connects-diff">
        <opaqueColor r="100" g="100" b="100"/>
        <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>1.0</opacity>
        <foreground>true</foreground>
        <display3D thick="9.8" height="7.2" mode="NONE" factor="0.0"/>
        <pureLayerNode name="active-cut-Node" port="activecut">
            <lambda>2.4</lambda>
        </pureLayerNode>
    </layer>

    <layer name="via1" fun="CONTACT2" extraFun="connects-metal">
        <opaqueColor r="180" g="180" b="180"/>
        <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>1.0</opacity>
        <foreground>true</foreground>
        <display3D thick="8" height="25.0" mode="NONE" factor="0.2"/>
        <pureLayerNode name="via1-Node" port="via1">
            <lambda>2.6</lambda>
        </pureLayerNode>
    </layer>

    <layer name="transistor-poly" fun="GATE">
        <opaqueColor r="255" g="0" b="0"/>
        <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   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   X  </pattern>
        <outlined>NOPAT</outlined>
        <opacity>0.5</opacity>
        <foreground>true</foreground>
        <display3D thick="4.0" height="15.4" mode="NONE" factor="0.2"/>
        <pureLayerNode name="transistor-poly-Node" port="trans-poly-1">
            <lambda>2.0</lambda>
            <portArc>poly</portArc>
        </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>1.0</opacity>
        <foreground>true</foreground>
        <display3D thick="5.0" height="49.7" mode="NONE" factor="0.2"/>
        <cifLayer cif="COG"/>
        <skillLayer skill="glasscut"/>
        <pureLayerNode name="Passivation-Node" port="passivation">
            <lambda>8.0</lambda>
        </pureLayerNode>
    </layer>

    <layer name="photonics-waveguide" fun="CONTROL">
        <opaqueColor r="200" g="200" b="0"/>
        <patternedOnDisplay>true</patternedOnDisplay>
        <patternedOnPrinter>true</patternedOnPrinter>
        <pattern>   X   X   X   X</pattern>
        <pattern>XXXXXXXXXXXXXXXX</pattern>
        <pattern>   X   X   X   X</pattern>
        <pattern> X X X X X X X X</pattern>
        <pattern>   X   X   X   X</pattern>
        <pattern>XXXXXXXXXXXXXXXX</pattern>
        <pattern>   X   X   X   X</pattern>
        <pattern> X X X X X X X X</pattern>
        <pattern>   X   X   X   X</pattern>
        <pattern>XXXXXXXXXXXXXXXX</pattern>
        <pattern>   X   X   X   X</pattern>
        <pattern> X X X X X X X X</pattern>
        <pattern>   X   X   X   X</pattern>
        <pattern>XXXXXXXXXXXXXXXX</pattern>
        <pattern>   X   X   X   X</pattern>
        <pattern> X X X X X X X X</pattern>
        <outlined>NOPAT</outlined>
        <opacity>0.5</opacity>
        <foreground>true</foreground>
        <display3D thick="1.0" height="6" mode="NONE" factor="0.2"/>
        <parasitics resistance="8.5" capacitance="0.097" edgeCapacitance="0.073" inductanceAreaFactor="0" inductanceLengthFactor="0"/>
        <pureLayerNode name="photonics-waveguide-Node" port="photonics-waveguide">
            <lambda>7.2</lambda>
        </pureLayerNode>
    </layer>

    <layer name="photonics-side" fun="ART">
        <transparentColor transparent="3"/>
        <patternedOnDisplay>false</patternedOnDisplay>
        <patternedOnPrinter>true</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>PAT_S</outlined>
        <opacity>1.0</opacity>
        <foreground>true</foreground>
        <display3D thick="1.0" height="6.0" mode="SCREEN_DOOR" factor="0.2"/>
        <cifLayer cif="Not set"/>
        <skillLayer skill="photonics-side"/>
        <pureLayerNode name="photonics-side-Node" port="Port_photonics_side">
            <lambda>10.0</lambda>
        </pureLayerNode>
    </layer>

    <layer name="photonics-top" fun="ART">
        <transparentColor transparent="2"/>
        <patternedOnDisplay>false</patternedOnDisplay>
        <patternedOnPrinter>true</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>PAT_S</outlined>
        <opacity>1.0</opacity>
        <foreground>true</foreground>
        <display3D thick="5.0" height="7.0" mode="SCREEN_DOOR" factor="0.2"/>
        <cifLayer cif="Not set"/>
        <skillLayer skill="photonics-top"/>
        <parasitics resistance="1.0" capacitance="0.0" edgeCapacitance="0.0" inductanceAreaFactor="0" inductanceLengthFactor="0"/>
        <pureLayerNode name="photonics-top-Node" port="Port_photonics_top">
            <lambda>10.0</lambda>
        </pureLayerNode>
    </layer>

    <layer name="photonics-bottom" fun="ART">
        <transparentColor transparent="5"/>
        <patternedOnDisplay>false</patternedOnDisplay>
        <patternedOnPrinter>true</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>PAT_S</outlined>
        <opacity>1.0</opacity>
        <foreground>true</foreground>
        <display3D thick="6.0" height="0.0" mode="NONE" factor="1.0"/>
        <cifLayer cif="Not set"/>
        <skillLayer skill="photonics-bottom"/>
        <parasitics resistance="1.0" capacitance="0.0" edgeCapacitance="0.0" inductanceAreaFactor="0" inductanceLengthFactor="0"/>
        <pureLayerNode name="photonics-bottom-Node" port="Port_photonics_bottom">
            <lambda>10.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.2"/>
        <arcLayer layer="m1" style="FILLED">
            <lambda>1.2</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.4"/>
        <arcLayer layer="m2" style="FILLED">
            <lambda>1.4</lambda>
        </arcLayer>
    </arcProto>

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

    <arcProto name="P-Active" fun="DIFFP">
        <wipable/>
        <extended>true</extended>
        <fixedAngle>true</fixedAngle>
        <angleIncrement>90</angleIncrement>
        <antennaRatio>200.0</antennaRatio>
        <diskOffset untilVersion="1" width="5.5"/>
        <diskOffset untilVersion="2" width="1.1"/>
        <arcLayer layer="p-active" style="FILLED">
            <lambda>1.1</lambda>
        </arcLayer>
        <arcLayer layer="nwell" style="FILLED">
            <lambda>5.5</lambda>
        </arcLayer>
        <arcLayer layer="pplus" style="FILLED">
            <lambda>3.7</lambda>
        </arcLayer>
    </arcProto>

    <arcProto name="N-Active" fun="DIFFN">
        <wipable/>
        <extended>true</extended>
        <fixedAngle>true</fixedAngle>
        <angleIncrement>90</angleIncrement>
        <antennaRatio>200.0</antennaRatio>
        <diskOffset untilVersion="1" width="5.5"/>
        <diskOffset untilVersion="2" width="1.1"/>
        <arcLayer layer="n-active" style="FILLED">
            <lambda>1.1</lambda>
        </arcLayer>
        <arcLayer layer="pwell" style="FILLED">
            <lambda>5.5</lambda>
        </arcLayer>
        <arcLayer layer="nplus" style="FILLED">
            <lambda>3.7</lambda>
        </arcLayer>
    </arcProto>

    <!-- ******************** NODES ******************** -->
    <primitiveNode name="m1-Pin" fun="PIN">
        <shrinkArcs/>
        <diskOffset untilVersion="2" x="1.2" y="1.2"/>
        <nodeBase>
            <box>
                <lambdaBox klx="-1.2" khx="1.2" kly="-1.2" khy="1.2"/>
            </box>
        </nodeBase>
        <nodeLayer layer="m1" style="CROSSED">
            <box>
                <lambdaBox klx="-1.2" khx="1.2" kly="-1.2" khy="1.2"/>
            </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.4" y="1.4"/>
        <nodeBase>
            <box>
                <lambdaBox klx="-1.4" khx="1.4" kly="-1.4" khy="1.4"/>
            </box>
        </nodeBase>
        <nodeLayer layer="m2" style="CROSSED">
            <box>
                <lambdaBox klx="-1.4" khx="1.4" kly="-1.4" khy="1.4"/>
            </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="poly-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="poly" 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>poly</portArc>
        </primitivePort>
    </primitiveNode>

    <primitiveNode name="p-active-Pin" fun="PIN">
        <shrinkArcs/>
        <diskOffset untilVersion="1" x="4.4" y="4.4"/>
        <nodeBase>
            <box>
                <lambdaBox klx="-1.1" khx="1.1" kly="-1.1" khy="1.1"/>
            </box>
        </nodeBase>
        <nodeLayer layer="p-active" style="CROSSED">
            <box>
                <lambdaBox klx="-1.1" khx="1.1" kly="-1.1" khy="1.1"/>
            </box>
        </nodeLayer>
        <nodeLayer layer="nwell" style="CROSSED">
            <box>
                <lambdaBox klx="-5.5" khx="5.5" kly="-5.5" khy="5.5"/>
            </box>
        </nodeLayer>
        <nodeLayer layer="pplus" style="CROSSED">
            <box>
                <lambdaBox klx="-3.7" khx="3.7" kly="-3.7" khy="3.7"/>
            </box>
        </nodeLayer>
        <primitivePort name="p-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>P-Active</portArc>
        </primitivePort>
    </primitiveNode>

    <primitiveNode name="n-active-Pin" fun="PIN">
        <shrinkArcs/>
        <diskOffset untilVersion="1" x="4.4" y="4.4"/>
        <nodeBase>
            <box>
                <lambdaBox klx="-1.1" khx="1.1" kly="-1.1" khy="1.1"/>
            </box>
        </nodeBase>
        <nodeLayer layer="n-active" style="CROSSED">
            <box>
                <lambdaBox klx="-1.1" khx="1.1" kly="-1.1" khy="1.1"/>
            </box>
        </nodeLayer>
        <nodeLayer layer="pwell" style="CROSSED">
            <box>
                <lambdaBox klx="-5.5" khx="5.5" kly="-5.5" khy="5.5"/>
            </box>
        </nodeLayer>
        <nodeLayer layer="nplus" style="CROSSED">
            <box>
                <lambdaBox klx="-3.7" khx="3.7" kly="-3.7" khy="3.7"/>
            </box>
        </nodeLayer>
        <primitivePort name="n-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>N-Active</portArc>
        </primitivePort>
    </primitiveNode>

    <primitiveNode name="m1-p-active-Con" fun="CONTACT">
        <diskOffset untilVersion="1" x="7.0" y="7.0"/>
        <diskOffset untilVersion="2" x="2.6" y="2.6"/>
        <nodeBase>
            <box>
                <lambdaBox klx="-2.6" khx="2.6" kly="-2.6" khy="2.6"/>
            </box>
        </nodeBase>
        <nodeLayer layer="m1" style="FILLED">
            <box>
                <lambdaBox klx="-1.7" khx="1.7" kly="-1.7" khy="1.7"/>
            </box>
        </nodeLayer>
        <nodeLayer layer="p-active" style="FILLED">
            <box>
                <lambdaBox klx="-2.6" khx="2.6" kly="-2.6" khy="2.6"/>
            </box>
        </nodeLayer>
        <nodeLayer layer="nwell" style="FILLED">
            <box>
                <lambdaBox klx="-7.0" khx="7.0" kly="-7.0" khy="7.0"/>
            </box>
        </nodeLayer>
        <nodeLayer layer="pplus" style="FILLED">
            <box>
                <lambdaBox klx="-5.2" khx="5.2" kly="-5.2" khy="5.2"/>
            </box>
        </nodeLayer>
        <nodeLayer layer="active-cut" style="FILLED">
            <multicutbox sizex="2.4" sizey="2.4" sep1d="2.8" sep2d="3.2">
                <lambdaBox klx="0.0" khx="0.0" kly="0.0" khy="0.0"/>
            </multicutbox>
        </nodeLayer>
        <primitivePort name="metal-1-p-act">
            <portAngle primary="0" range="180"/>
            <portTopology>0</portTopology>
            <box>
                <lambdaBox klx="0.0" khx="0.0" kly="0.0" khy="0.0"/>
            </box>
            <portArc>P-Active</portArc>
            <portArc>metal-1</portArc>
        </primitivePort>
        <minSizeRule width="14.0" height="14.0" rule="CO.W.1+2*CO.EN.1R+NW.EN.2"/>
    </primitiveNode>

    <primitiveNode name="m1-n-active-Con" fun="CONTACT">
        <diskOffset untilVersion="1" x="7.0" y="7.0"/>
        <diskOffset untilVersion="2" x="2.6" y="2.6"/>
        <nodeBase>
            <box>
                <lambdaBox klx="-2.6" khx="2.6" kly="-2.6" khy="2.6"/>
            </box>
        </nodeBase>
        <nodeLayer layer="m1" style="FILLED">
            <box>
                <lambdaBox klx="-1.7" khx="1.7" kly="-1.7" khy="1.7"/>
            </box>
        </nodeLayer>
        <nodeLayer layer="n-active" style="FILLED">
            <box>
                <lambdaBox klx="-2.6" khx="2.6" kly="-2.6" khy="2.6"/>
            </box>
        </nodeLayer>
        <nodeLayer layer="pwell" style="FILLED">
            <box>
                <lambdaBox klx="-7.0" khx="7.0" kly="-7.0" khy="7.0"/>
            </box>
        </nodeLayer>
        <nodeLayer layer="nplus" style="FILLED">
            <box>
                <lambdaBox klx="-5.2" khx="5.2" kly="-5.2" khy="5.2"/>
            </box>
        </nodeLayer>
        <nodeLayer layer="active-cut" style="FILLED">
            <multicutbox sizex="2.4" sizey="2.4" sep1d="2.8" sep2d="3.2">
                <lambdaBox klx="0.0" khx="0.0" kly="0.0" khy="0.0"/>
            </multicutbox>
        </nodeLayer>
        <primitivePort name="metal-1-n-act">
            <portAngle primary="0" range="180"/>
            <portTopology>0</portTopology>
            <box>
                <lambdaBox klx="0.0" khx="0.0" kly="0.0" khy="0.0"/>
            </box>
            <portArc>N-Active</portArc>
            <portArc>metal-1</portArc>
        </primitivePort>
        <minSizeRule width="14.0" height="14.0" rule="CO.W.1+2*CO.EN.1R+NW.EN.2"/>
    </primitiveNode>

    <primitiveNode name="m1-poly-Con" fun="CONTACT">
        <diskOffset untilVersion="2" x="2.6" y="2.6"/>
        <nodeBase>
            <box>
                <lambdaBox klx="-2.6" khx="2.6" kly="-2.6" khy="2.6"/>
            </box>
        </nodeBase>
        <nodeLayer layer="m1" style="FILLED">
            <box>
                <lambdaBox klx="-1.7" khx="1.7" kly="-1.7" khy="1.7"/>
            </box>
        </nodeLayer>
        <nodeLayer layer="poly" style="FILLED">
            <box>
                <lambdaBox klx="-2.6" khx="2.6" kly="-2.6" khy="2.6"/>
            </box>
        </nodeLayer>
        <nodeLayer layer="poly-cut" style="FILLED">
            <multicutbox sizex="2.4" sizey="2.4" sep1d="2.8" sep2d="3.2">
                <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="0.0" khx="0.0" kly="0.0" khy="0.0"/>
            </box>
            <portArc>poly</portArc>
            <portArc>metal-1</portArc>
        </primitivePort>
        <minSizeRule width="5.2" height="5.2" rule="CO.W.1+2*CO.EN.3.R"/>
    </primitiveNode>

    <primitiveNode name="P-Transistor" fun="TRAPMOS">
        <diskOffset untilVersion="1" x="9.4" y="9.2"/>
        <diskOffset untilVersion="2" x="1.0" y="2.0"/>
        <nodeBase>
            <box>
                <lambdaBox klx="-1.0" khx="1.0" kly="-2.0" khy="2.0"/>
            </box>
        </nodeBase>
        <nodeLayer layer="p-active" style="FILLED" portNum="1" electrical="true">
            <box khx="-1.0">
                <lambdaBox klx="-5.0" khx="-1.0" kly="-2.0" khy="2.0"/>
            </box>
        </nodeLayer>
        <nodeLayer layer="p-active" style="FILLED" portNum="3" electrical="true">
            <box klx="1.0">
                <lambdaBox klx="1.0" khx="5.0" kly="-2.0" khy="2.0"/>
            </box>
        </nodeLayer>
        <nodeLayer layer="transistor-poly" style="FILLED" electrical="true">
            <box>
                <lambdaBox klx="-1.0" khx="1.0" kly="-2.0" khy="2.0"/>
            </box>
        </nodeLayer>
        <nodeLayer layer="poly" style="FILLED" electrical="true">
            <box kly="1.0">
                <lambdaBox klx="-1.0" khx="1.0" kly="2.0" khy="5.2"/>
            </box>
        </nodeLayer>
        <nodeLayer layer="poly" style="FILLED" electrical="true">
            <box khy="-1.0">
                <lambdaBox klx="-1.0" khx="1.0" kly="-5.2" khy="-2.0"/>
            </box>
        </nodeLayer>
        <nodeLayer layer="p-active" style="FILLED" portNum="1" electrical="false">
            <box>
                <lambdaBox klx="-5.0" khx="5.0" kly="-2.0" khy="2.0"/>
            </box>
        </nodeLayer>
        <nodeLayer layer="transistor-poly" style="FILLED" electrical="false">
            <box>
                <lambdaBox klx="-1.0" khx="1.0" kly="-5.2" khy="5.2"/>
            </box>
        </nodeLayer>
        <nodeLayer layer="nwell" style="FILLED" portNum="-1">
            <box>
                <lambdaBox klx="-9.4" khx="9.4" kly="-9.2" khy="9.2"/>
            </box>
        </nodeLayer>
        <nodeLayer layer="pplus" style="FILLED" portNum="-1">
            <box>
                <lambdaBox klx="-7.6" khx="7.6" kly="-9.2" khy="9.2"/>
            </box>
        </nodeLayer>
        <primitivePort name="poly-top">
            <portAngle primary="90" range="90"/>
            <portTopology>0</portTopology>
            <box kly="1.0">
                <lambdaBox klx="0.0" khx="0.0" kly="5.0" khy="5.0"/>
            </box>
            <portArc>poly</portArc>
        </primitivePort>
        <primitivePort name="diff-left">
            <portAngle primary="180" range="90"/>
            <portTopology>1</portTopology>
            <box khx="-1.0">
                <lambdaBox klx="-3.2" khx="-2.4" kly="-0.6" khy="0.6"/>
            </box>
            <portArc>P-Active</portArc>
        </primitivePort>
        <primitivePort name="poly-bottom">
            <portAngle primary="270" range="90"/>
            <portTopology>0</portTopology>
            <box khy="-1.0">
                <lambdaBox klx="0.0" khx="0.0" kly="-5.0" khy="-5.0"/>
            </box>
            <portArc>poly</portArc>
        </primitivePort>
        <primitivePort name="diff-right">
            <portAngle primary="0" range="90"/>
            <portTopology>2</portTopology>
            <box klx="1.0">
                <lambdaBox klx="2.4" khx="3.2" kly="-0.6" khy="0.6"/>
            </box>
            <portArc>P-Active</portArc>
        </primitivePort>
        <minSizeRule width="18.8" height="18.4" rule=""/>
    </primitiveNode>

    <primitiveNode name="N-Transistor" fun="TRANMOS">
        <diskOffset untilVersion="1" x="9.4" y="9.2"/>
        <diskOffset untilVersion="2" x="1.0" y="2.0"/>
        <nodeBase>
            <box>
                <lambdaBox klx="-1.0" khx="1.0" kly="-2.0" khy="2.0"/>
            </box>
        </nodeBase>
        <nodeLayer layer="n-active" style="FILLED" portNum="1" electrical="true">
            <box khx="-1.0">
                <lambdaBox klx="-5.0" khx="-1.0" kly="-2.0" khy="2.0"/>
            </box>
        </nodeLayer>
        <nodeLayer layer="n-active" style="FILLED" portNum="3" electrical="true">
            <box klx="1.0">
                <lambdaBox klx="1.0" khx="5.0" kly="-2.0" khy="2.0"/>
            </box>
        </nodeLayer>
        <nodeLayer layer="transistor-poly" style="FILLED" electrical="true">
            <box>
                <lambdaBox klx="-1.0" khx="1.0" kly="-2.0" khy="2.0"/>
            </box>
        </nodeLayer>
        <nodeLayer layer="poly" style="FILLED" electrical="true">
            <box kly="1.0">
                <lambdaBox klx="-1.0" khx="1.0" kly="2.0" khy="5.2"/>
            </box>
        </nodeLayer>
        <nodeLayer layer="poly" style="FILLED" electrical="true">
            <box khy="-1.0">
                <lambdaBox klx="-1.0" khx="1.0" kly="-5.2" khy="-2.0"/>
            </box>
        </nodeLayer>
        <nodeLayer layer="n-active" style="FILLED" portNum="1" electrical="false">
            <box>
                <lambdaBox klx="-5.0" khx="5.0" kly="-2.0" khy="2.0"/>
            </box>
        </nodeLayer>
        <nodeLayer layer="transistor-poly" style="FILLED" electrical="false">
            <box>
                <lambdaBox klx="-1.0" khx="1.0" kly="-5.2" khy="5.2"/>
            </box>
        </nodeLayer>
        <nodeLayer layer="pwell" style="FILLED" portNum="-1">
            <box>
                <lambdaBox klx="-9.4" khx="9.4" kly="-9.2" khy="9.2"/>
            </box>
        </nodeLayer>
        <nodeLayer layer="nplus" style="FILLED" portNum="-1">
            <box>
                <lambdaBox klx="-7.6" khx="7.6" kly="-9.2" khy="9.2"/>
            </box>
        </nodeLayer>
        <primitivePort name="poly-top">
            <portAngle primary="90" range="90"/>
            <portTopology>0</portTopology>
            <box kly="1.0">
                <lambdaBox klx="0.0" khx="0.0" kly="5.0" khy="5.0"/>
            </box>
            <portArc>poly</portArc>
        </primitivePort>
        <primitivePort name="diff-left">
            <portAngle primary="180" range="90"/>
            <portTopology>1</portTopology>
            <box khx="-1.0">
                <lambdaBox klx="-3.2" khx="-2.4" kly="-0.6" khy="0.6"/>
            </box>
            <portArc>N-Active</portArc>
        </primitivePort>
        <primitivePort name="poly-bottom">
            <portAngle primary="270" range="90"/>
            <portTopology>0</portTopology>
            <box khy="-1.0">
                <lambdaBox klx="0.0" khx="0.0" kly="-5.0" khy="-5.0"/>
            </box>
            <portArc>poly</portArc>
        </primitivePort>
        <primitivePort name="diff-right">
            <portAngle primary="0" range="90"/>
            <portTopology>2</portTopology>
            <box klx="1.0">
                <lambdaBox klx="2.4" khx="3.2" kly="-0.6" khy="0.6"/>
            </box>
            <portArc>N-Active</portArc>
        </primitivePort>
        <minSizeRule width="18.8" height="18.4" rule=""/>
    </primitiveNode>

    <primitiveNode name="m1-m2-Con" fun="CONTACT">
        <skipSizeInPalette/>
        <diskOffset untilVersion="2" x="1.4" y="2.9"/>
        <nodeBase>
            <box>
                <lambdaBox klx="-1.4" khx="1.4" kly="-2.9" khy="2.9"/>
            </box>
        </nodeBase>
        <nodeLayer layer="m1" style="FILLED">
            <box>
                <lambdaBox klx="-1.4" khx="1.4" kly="-2.9" khy="2.9"/>
            </box>
        </nodeLayer>
        <nodeLayer layer="m2" style="FILLED">
            <box>
                <lambdaBox klx="-1.4" khx="1.4" kly="-2.9" khy="2.9"/>
            </box>
        </nodeLayer>
        <nodeLayer layer="via1" style="FILLED">
            <multicutbox sizex="2.6" sizey="2.6" sep1d="3.0" sep2d="3.4">
                <lambdaBox klx="0.0" khx="0.0" kly="0.0" khy="0.0"/>
            </multicutbox>
        </nodeLayer>
        <primitivePort name="metal-1-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-1</portArc>
            <portArc>metal-2</portArc>
        </primitivePort>
        <minSizeRule width="2.8" height="5.8" rule="m1-m2-Con Asymmetric Min. Size"/>
    </primitiveNode>

    <primitiveNode name="m1-pwell-Con" fun="SUBSTRATE">
        <diskOffset untilVersion="1" x="6.0" y="6.0"/>
        <diskOffset untilVersion="2" x="2.6" y="2.6"/>
        <nodeBase>
            <box>
                <lambdaBox klx="-2.6" khx="2.6" kly="-2.6" khy="2.6"/>
            </box>
        </nodeBase>
        <nodeLayer layer="m1" style="FILLED">
            <box>
                <lambdaBox klx="-1.7" khx="1.7" kly="-1.7" khy="1.7"/>
            </box>
        </nodeLayer>
        <nodeLayer layer="p-active" style="FILLED">
            <box>
                <lambdaBox klx="-2.6" khx="2.6" kly="-2.6" khy="2.6"/>
            </box>
        </nodeLayer>
        <nodeLayer layer="pwell" style="FILLED">
            <box>
                <lambdaBox klx="-6.0" khx="6.0" kly="-6.0" khy="6.0"/>
            </box>
        </nodeLayer>
        <nodeLayer layer="pplus" 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.4" sizey="2.4" sep1d="2.8" sep2d="3.2">
                <lambdaBox klx="0.0" khx="0.0" kly="0.0" khy="0.0"/>
            </multicutbox>
        </nodeLayer>
        <primitivePort name="metal-1-well">
            <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>
        <minSizeRule width="12.0" height="12.0" rule="CO.W.1+2*NW.EN.1+2*CO.EN.1.R"/>
    </primitiveNode>

    <primitiveNode name="m1-nwell-Con" fun="WELL">
        <diskOffset untilVersion="1" x="6.0" y="6.0"/>
        <diskOffset untilVersion="2" x="2.6" y="2.6"/>
        <nodeBase>
            <box>
                <lambdaBox klx="-2.6" khx="2.6" kly="-2.6" khy="2.6"/>
            </box>
        </nodeBase>
        <nodeLayer layer="m1" style="FILLED">
            <box>
                <lambdaBox klx="-1.7" khx="1.7" kly="-1.7" khy="1.7"/>
            </box>
        </nodeLayer>
        <nodeLayer layer="n-active" style="FILLED">
            <box>
                <lambdaBox klx="-2.6" khx="2.6" kly="-2.6" khy="2.6"/>
            </box>
        </nodeLayer>
        <nodeLayer layer="nwell" style="FILLED">
            <box>
                <lambdaBox klx="-6.0" khx="6.0" kly="-6.0" khy="6.0"/>
            </box>
        </nodeLayer>
        <nodeLayer layer="nplus" 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.4" sizey="2.4" sep1d="2.8" sep2d="3.2">
                <lambdaBox klx="0.0" khx="0.0" kly="0.0" khy="0.0"/>
            </multicutbox>
        </nodeLayer>
        <primitivePort name="metal-1-substrate">
            <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>
        <minSizeRule width="12.0" height="12.0" rule="CO.W.1+2*NW.EN.1+2*CO.EN.1.R"/>
    </primitiveNode>

    <Foundry name="TSMC">
        <layerGds layer="m1" gds="8,123/7p"/>
        <layerGds layer="m2" gds="10,123/8p"/>
        <layerGds layer="poly" gds="5,123/63p"/>
        <layerGds layer="pplus" gds="14"/>
        <layerGds layer="nplus" gds="4"/>
        <layerGds layer="nwell" gds="31"/>
        <layerGds layer="poly-cut" gds="30"/>
        <layerGds layer="active-cut" gds="30"/>
        <layerGds layer="via1" gds="19"/>
        <layerGds layer="transistor-poly" gds="17"/>

        <layerGds layer="photonics-waveguide" gds="100,123/46p"/>
        <layerGds layer="photonics-side" gds="121/33"/>
        <layerGds layer="photonics-bottom" gds="2/1"/>
        <layerGds layer="photonics-top" gds="102"/>
    </Foundry>
</technology>
