<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<xPDK_Layout xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xi="http://www.w3.org/2001/XInclude" xmlns:pda="http://pdaflow.org/ns/xPDK" xmlns="http://pdaflow.org/ns/xPDK" xmlns:oc="http://pdaflow.org/ns/OptoCompiler" xmlns:od="http://pdaflow.org/ns/OptoDesigner" xmlns:icv="http://pdaflow.org/ns/ICvalidator" xsi:schemaLocation="http://pdaflow.org/xsd xPDK_Layout.xsd" pdk_name="DemoPDK">
  <provider>Stichting PDAFlow Foundation</provider>
  <version>1.0.0</version>
  <license>
  Stichting PDAFlow Foundation, document in progress.
  Demo Material
  </license>
  <doc>This file shows the drcConvex.</doc>
  <global name="angle" unit="degree">45.0</global>
  <od:DieTemplate xmlns:od="http://pdaflow.org/ns/OptoDesigner">
class myDie() extends DieBBxt(2000,2000, "mcsDieArea") {
  function getTechnology() {
   return &amp;techDemoPDK;
  }
  setHeight(200);
  var bx=getBox();

  IOarray_Optical(4,20,"mcsWG") opt0;
  opt0.left();
  if(mask::CScheck("mcsWG"))
   opt0.place(org-&gt;bx@org+[50,50] : this,"FAU0");

  IOarray_DC(5,50) dc0;
  dc0.left();
  dc0.place(org-&gt;bx@org+[80,200] : this,"DC0");

  layout place() {
    super.super.place(org-&gt;this@org :);
    string mcs=mask::CSselect("mcsDiceline");
    ml::Straight(bir-&gt;this@org : wfix(100),L);
    ml::Straight(bir-&gt;this@org+[0,W] : wfix(100),L);
    mask::CSselect(mcs);
  }
};
</od:DieTemplate>
  <od:DieExtends xmlns:od="http://pdaflow.org/ns/OptoDesigner">
class myDesignArea() extends myDie() {
  }
myDesignArea() chip;
</od:DieExtends>
  <od:TechFooter mcs="WG" mcsDC="METAL" mcsRF="METAL"/>
  <od:Example example="drc0">
 var box=chip.place(org-&gt;[-200,-200] : );
 double w=2.0;
 ml::Straight(ccen-&gt;[0,0]: wfix(0.5*w),5*w) A1;
 </od:Example>
  <layer name="layer1">
    <gds_number>1</gds_number>
    <gds_datatype>0</gds_datatype>
    <grid>0.001</grid>
    <purpose>Waveguide layer</purpose>
    <color R="100" G="200" B="255"/>
    <visible>true</visible>
    <fillstyle>NOFILL</fillstyle>
    <linestyle>DRAW</linestyle>
  </layer>
  <layer name="layer2">
    <gds_number>2</gds_number>
    <gds_datatype>0</gds_datatype>
    <grid>0.001</grid>
    <purpose>Waveguide layer</purpose>
    <color R="255" G="20" B="20"/>
    <visible>true</visible>
    <fillstyle>NOFILL</fillstyle>
    <linestyle>DRAW</linestyle>
    <od:sptFooter>
      // println("hi");
   </od:sptFooter>
  </layer>
  <xsection name="WG">
    <purpose type="passive">Waveguide</purpose>
    <doc>The waveguide is a 1:1 mapping to GDS</doc>
    <color R="100" G="200" B="255"/>
    <grid>
      <map accuracy="0.001">layer1</map>
    </grid>
    <xsSetWidth useDrc="true" min="0.1">1.0</xsSetWidth>
    <xsSetRadius useDrc="true" min="5">50.0</xsSetRadius>
    <xsSetSBOffset>0.01</xsSetSBOffset>
    <xsSetGap>4.0</xsSetGap>
    <xsSetTextExpand>20</xsSetTextExpand>
    <xsSetTaperAngle>1.0</xsSetTaperAngle>
    <od:sptFooter xmlns:od="http://pdaflow.org/ns/OptoDesigner">
     // This section does some special OptoDesigner things.
     xsSetAltWG("WGhigh","WGlow");</od:sptFooter>
  </xsection>
  <xsection name="METAL">
    <purpose type="metal1">Metal routing</purpose>
    <doc>Ignored for the examples</doc>
  </xsection>
</xPDK_Layout>
