Technolgy file archetecture revised with dictionary input method

This commit is contained in:
=
2026-06-07 17:07:20 +08:00
parent 8a17f1dde0
commit 54d20eb154
163 changed files with 5948 additions and 1297 deletions
+291 -6
View File
@@ -375,12 +375,54 @@
<section id="module-mxpic.components.composites.MZI">
<span id="mxpic-components-composites-mzi"></span><h1>mxpic.components.composites.MZI<a class="headerlink" href="#module-mxpic.components.composites.MZI" title="Link to this heading">#</a></h1>
<p>Mach-Zehnder interferometer composite layouts.</p>
<section id="mzi">
<h2>MZI<a class="headerlink" href="#mzi" title="Link to this heading">#</a></h2>
<dl class="py class">
<dt class="sig sig-object py" id="mxpic.components.composites.MZI.MZI">
<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">mxpic.components.composites.MZI.</span></span><span class="sig-name descname"><span class="pre">MZI</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">name</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">xs_wg</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">'strip'</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">w_wg</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">0.45</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">dL_Amzi</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">0</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">L_arm</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">150</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">R_bend</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">10</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">D_arm</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">75</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">D_port</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">w_arm</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">1.0</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">xs_heater</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">'heater'</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">w_heater</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">0</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">Ltp</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">15</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">xs_metal</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">'metal'</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">w_metal</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">10</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">via_h2m</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">isl</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">outer_isl</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">True</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">dual_ht</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">True</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">L_patch</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">0.5</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">BS</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">BS2</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">sharp_patch</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">True</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">show_pins</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">False</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#mxpic.components.composites.MZI.MZI" title="Link to this definition">#</a></dt>
<dd><p>Bases: <code class="xref py py-class docutils literal notranslate"><span class="pre">object</span></code></p>
<p>Mach-Zehnder interferometer with optional heaters and isolation.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>name</strong> (<em>str</em><em>, </em><em>optional</em>) Nazca cell name. If omitted, the generated cell is not instantiated.</p></li>
<li><p><strong>xs_wg</strong> (<em>str</em><em>, </em><em>optional</em>) Optical waveguide cross-section name.</p></li>
<li><p><strong>w_wg</strong> (<em>float</em><em>, </em><em>optional</em>) Input and output waveguide width in microns.</p></li>
<li><p><strong>dL_Amzi</strong> (<em>float</em><em>, </em><em>optional</em>) Differential arm length for asymmetric MZI operation.</p></li>
<li><p><strong>L_arm</strong> (<em>int</em><em>, </em><em>optional</em>) Nominal straight arm length.</p></li>
<li><p><strong>R_bend</strong> (<em>int</em><em>, </em><em>optional</em>) Bend radius used by internal routing.</p></li>
<li><p><strong>D_arm</strong> (<em>int</em><em>, </em><em>optional</em>) Vertical distance between interferometer arms.</p></li>
<li><p><strong>D_port</strong> (<em>Any</em><em>, </em><em>optional</em>) Output port pitch. If omitted, the beam splitter port pitch is used.</p></li>
<li><p><strong>w_arm</strong> (<em>float</em><em>, </em><em>optional</em>) Internal arm waveguide width.</p></li>
<li><p><strong>xs_heater</strong> (<em>str</em><em>, </em><em>optional</em>) Heater cross-section name.</p></li>
<li><p><strong>w_heater</strong> (<em>float</em><em>, </em><em>optional</em>) Heater width. Use 0 to disable heater drawing.</p></li>
<li><p><strong>Ltp</strong> (<em>int</em><em>, </em><em>optional</em>) Taper length between bus and arm widths.</p></li>
<li><p><strong>xs_metal</strong> (<em>str</em><em>, </em><em>optional</em>) Metal routing cross-section name.</p></li>
<li><p><strong>w_metal</strong> (<em>float</em><em>, </em><em>optional</em>) Metal routing width.</p></li>
<li><p><strong>via_h2m</strong> (<em>Any</em><em>, </em><em>optional</em>) Heater-to-metal via object or cell.</p></li>
<li><p><strong>isl</strong> (<em>Any</em><em>, </em><em>optional</em>) Isolation trench object or cell.</p></li>
<li><p><strong>outer_isl</strong> (<em>bool</em><em>, </em><em>optional</em>) Add outer isolation structures.</p></li>
<li><p><strong>dual_ht</strong> (<em>bool</em><em>, </em><em>optional</em>) Add heaters on both arms.</p></li>
<li><p><strong>L_patch</strong> (<em>float</em><em>, </em><em>optional</em>) Straight patch length at routing interfaces.</p></li>
<li><p><strong>BS</strong> (<em>Any</em><em>, </em><em>optional</em>) First beam splitter cell or object. If omitted, a default DC is used.</p></li>
<li><p><strong>BS2</strong> (<em>Any</em><em>, </em><em>optional</em>) Second beam splitter cell or object. If omitted, <code class="docutils literal notranslate"><span class="pre">BS</span></code> is reused.</p></li>
<li><p><strong>sharp_patch</strong> (<em>bool</em><em>, </em><em>optional</em>) Add cladding patches around sharp geometry features.</p></li>
<li><p><strong>show_pins</strong> (<em>bool</em><em>, </em><em>optional</em>) Show Nazca pin stubs in the generated layout.</p></li>
</ul>
</dd>
</dl>
<dl class="py attribute">
<dt class="sig sig-object py" id="mxpic.components.composites.MZI.MZI.cell">
<span class="sig-name descname"><span class="pre">cell</span></span><a class="headerlink" href="#mxpic.components.composites.MZI.MZI.cell" title="Link to this definition">#</a></dt>
<dd><p>Generated MZI layout cell.</p>
<dl class="field-list simple">
<dt class="field-odd">Type<span class="colon">:</span></dt>
<dd class="field-odd"><p>nazca.Cell</p>
</dd>
</dl>
</dd></dl>
</dd></dl>
</section>
@@ -390,6 +432,46 @@
<dt class="sig sig-object py" id="mxpic.components.composites.MZI.MZI_NS">
<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">mxpic.components.composites.MZI.</span></span><span class="sig-name descname"><span class="pre">MZI_NS</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">name</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">BS</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">xs_wg</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">w1</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">w2</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">L0</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">Ln</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">Ls</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">Ltp</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">R_bend</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">w_wg</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">L_patch</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">D_arm</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">40</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">L12</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">w_heater</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">0</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">L_ht</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">via_h2m</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">isl</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">show_pins</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">False</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">D_port</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">sharp_patch</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">True</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">dual_ht</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">False</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#mxpic.components.composites.MZI.MZI_NS" title="Link to this definition">#</a></dt>
<dd><p>Bases: <code class="xref py py-class docutils literal notranslate"><span class="pre">object</span></code></p>
<p>Nested-straight MZI composite with taperable arm widths.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>name</strong> (<em>str</em>) Nazca cell name.</p></li>
<li><p><strong>BS</strong> (<em>Any</em>) Beam splitter cell or object used at both splitter positions.</p></li>
<li><p><strong>xs_wg</strong> (<em>str</em>) Optical waveguide cross-section name.</p></li>
<li><p><strong>w1</strong> (<em>float</em>) Input/output waveguide width.</p></li>
<li><p><strong>w2</strong> (<em>float</em>) Internal arm waveguide width.</p></li>
<li><p><strong>L0</strong> (<em>Any</em>) Input/output straight section length.</p></li>
<li><p><strong>Ln</strong> (<em>Any</em>) Length of the nominal arm section.</p></li>
<li><p><strong>Ls</strong> (<em>Any</em>) Length of the shifted arm section.</p></li>
<li><p><strong>Ltp</strong> (<em>Any</em>) Taper length between <code class="docutils literal notranslate"><span class="pre">w1</span></code> and <code class="docutils literal notranslate"><span class="pre">w2</span></code>.</p></li>
<li><p><strong>R_bend</strong> (<em>Any</em>) Bend radius used by the arm routing.</p></li>
<li><p><strong>w_wg</strong> (<em>float</em>) Optical waveguide width used for ports and routing.</p></li>
<li><p><strong>L_patch</strong> (<em>Any</em>) Straight patch length at routing interfaces.</p></li>
<li><p><strong>D_arm</strong> (<em>int</em><em>, </em><em>optional</em>) Vertical distance between interferometer arms.</p></li>
<li><p><strong>L12</strong> (<em>Any</em><em>, </em><em>optional</em>) Optional length between the first and second beam splitter regions.</p></li>
<li><p><strong>w_heater</strong> (<em>float</em><em>, </em><em>optional</em>) Heater width. Use 0 to disable heater drawing.</p></li>
<li><p><strong>L_ht</strong> (<em>Any</em><em>, </em><em>optional</em>) Heater length override.</p></li>
<li><p><strong>via_h2m</strong> (<em>Any</em><em>, </em><em>optional</em>) Heater-to-metal via object or cell.</p></li>
<li><p><strong>isl</strong> (<em>Any</em><em>, </em><em>optional</em>) Isolation trench object or cell.</p></li>
<li><p><strong>show_pins</strong> (<em>bool</em><em>, </em><em>optional</em>) Show Nazca pin stubs in the generated layout.</p></li>
<li><p><strong>D_port</strong> (<em>Any</em><em>, </em><em>optional</em>) Output port pitch override.</p></li>
<li><p><strong>sharp_patch</strong> (<em>bool</em><em>, </em><em>optional</em>) Add cladding patches around sharp geometry features.</p></li>
<li><p><strong>dual_ht</strong> (<em>bool</em><em>, </em><em>optional</em>) Add heaters on both arms.</p></li>
</ul>
</dd>
</dl>
<dl class="py attribute">
<dt class="sig sig-object py" id="mxpic.components.composites.MZI.MZI_NS.cell">
<span class="sig-name descname"><span class="pre">cell</span></span><a class="headerlink" href="#mxpic.components.composites.MZI.MZI_NS.cell" title="Link to this definition">#</a></dt>
<dd><p>Generated nested-straight MZI layout cell.</p>
<dl class="field-list simple">
<dt class="field-odd">Type<span class="colon">:</span></dt>
<dd class="field-odd"><p>nazca.Cell</p>
</dd>
</dl>
</dd></dl>
</dd></dl>
</section>
@@ -399,6 +481,45 @@
<dt class="sig sig-object py" id="mxpic.components.composites.MZI.MZI_NS_ubend">
<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">mxpic.components.composites.MZI.</span></span><span class="sig-name descname"><span class="pre">MZI_NS_ubend</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">name</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">BS</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">xs_wg</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">w1</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">w2</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">L0</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">Ln</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">Ls</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">Ltp</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">R_bend</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">w_wg</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">L_patch</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">L12</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">w_ht</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">0</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">L_ht</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">0</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">via_h2m</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">isl</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">show_pins</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">False</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">D_port</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">sharp_patch</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">True</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">dual_ht</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">False</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#mxpic.components.composites.MZI.MZI_NS_ubend" title="Link to this definition">#</a></dt>
<dd><p>Bases: <code class="xref py py-class docutils literal notranslate"><span class="pre">object</span></code></p>
<p>Nested-straight MZI composite using U-bend arm routing.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>name</strong> (<em>str</em>) Nazca cell name.</p></li>
<li><p><strong>BS</strong> (<em>Any</em>) Beam splitter cell or object used at both splitter positions.</p></li>
<li><p><strong>xs_wg</strong> (<em>str</em>) Optical waveguide cross-section name.</p></li>
<li><p><strong>w1</strong> (<em>float</em>) Input/output waveguide width.</p></li>
<li><p><strong>w2</strong> (<em>float</em>) Internal arm waveguide width.</p></li>
<li><p><strong>L0</strong> (<em>Any</em>) Input/output straight section length.</p></li>
<li><p><strong>Ln</strong> (<em>Any</em>) Length of the nominal arm section.</p></li>
<li><p><strong>Ls</strong> (<em>Any</em>) Length of the shifted arm section.</p></li>
<li><p><strong>Ltp</strong> (<em>Any</em>) Taper length between <code class="docutils literal notranslate"><span class="pre">w1</span></code> and <code class="docutils literal notranslate"><span class="pre">w2</span></code>.</p></li>
<li><p><strong>R_bend</strong> (<em>Any</em>) Bend radius used by the U-bends.</p></li>
<li><p><strong>w_wg</strong> (<em>float</em>) Optical waveguide width used for ports and routing.</p></li>
<li><p><strong>L_patch</strong> (<em>Any</em>) Straight patch length at routing interfaces.</p></li>
<li><p><strong>L12</strong> (<em>Any</em><em>, </em><em>optional</em>) Optional length between splitter regions.</p></li>
<li><p><strong>w_ht</strong> (<em>float</em><em>, </em><em>optional</em>) Heater width. Use 0 to disable heater drawing.</p></li>
<li><p><strong>L_ht</strong> (<em>int</em><em>, </em><em>optional</em>) Heater length override.</p></li>
<li><p><strong>via_h2m</strong> (<em>Any</em><em>, </em><em>optional</em>) Heater-to-metal via object or cell.</p></li>
<li><p><strong>isl</strong> (<em>Any</em><em>, </em><em>optional</em>) Isolation trench object or cell.</p></li>
<li><p><strong>show_pins</strong> (<em>bool</em><em>, </em><em>optional</em>) Show Nazca pin stubs in the generated layout.</p></li>
<li><p><strong>D_port</strong> (<em>Any</em><em>, </em><em>optional</em>) Output port pitch override.</p></li>
<li><p><strong>sharp_patch</strong> (<em>bool</em><em>, </em><em>optional</em>) Add cladding patches around sharp geometry features.</p></li>
<li><p><strong>dual_ht</strong> (<em>bool</em><em>, </em><em>optional</em>) Add heaters on both arms.</p></li>
</ul>
</dd>
</dl>
<dl class="py attribute">
<dt class="sig sig-object py" id="mxpic.components.composites.MZI.MZI_NS_ubend.cell">
<span class="sig-name descname"><span class="pre">cell</span></span><a class="headerlink" href="#mxpic.components.composites.MZI.MZI_NS_ubend.cell" title="Link to this definition">#</a></dt>
<dd><p>Generated U-bend MZI layout cell.</p>
<dl class="field-list simple">
<dt class="field-odd">Type<span class="colon">:</span></dt>
<dd class="field-odd"><p>nazca.Cell</p>
</dd>
</dl>
</dd></dl>
</dd></dl>
</section>
@@ -408,6 +529,43 @@
<dt class="sig sig-object py" id="mxpic.components.composites.MZI.MZI_2st_ubend">
<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">mxpic.components.composites.MZI.</span></span><span class="sig-name descname"><span class="pre">MZI_2st_ubend</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">name</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">BS1</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">BS2</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">BS3</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">xs_wg</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">w1</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">w2</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">L0</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">Ln1</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">Ls1</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">Ln2</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">Ls2</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">Ltp</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">R_bend</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">w_wg</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">L_patch</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">via_h2m</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">isl</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">L12</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#mxpic.components.composites.MZI.MZI_2st_ubend" title="Link to this definition">#</a></dt>
<dd><p>Bases: <code class="xref py py-class docutils literal notranslate"><span class="pre">object</span></code></p>
<p>Two-stage U-bend MZI composite with three beam splitters.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>name</strong> (<em>str</em>) Nazca cell name.</p></li>
<li><p><strong>BS1</strong> (<em>Any</em>) Beam splitter cells or objects for the three splitter stages.</p></li>
<li><p><strong>BS2</strong> (<em>Any</em>) Beam splitter cells or objects for the three splitter stages.</p></li>
<li><p><strong>BS3</strong> (<em>Any</em>) Beam splitter cells or objects for the three splitter stages.</p></li>
<li><p><strong>xs_wg</strong> (<em>str</em>) Optical waveguide cross-section name.</p></li>
<li><p><strong>w1</strong> (<em>float</em>) Input/output waveguide width.</p></li>
<li><p><strong>w2</strong> (<em>float</em>) Internal arm waveguide width.</p></li>
<li><p><strong>L0</strong> (<em>Any</em>) Input/output straight section length.</p></li>
<li><p><strong>Ln1</strong> (<em>Any</em>) Nominal and shifted arm lengths for the first stage.</p></li>
<li><p><strong>Ls1</strong> (<em>Any</em>) Nominal and shifted arm lengths for the first stage.</p></li>
<li><p><strong>Ln2</strong> (<em>Any</em>) Nominal and shifted arm lengths for the second stage.</p></li>
<li><p><strong>Ls2</strong> (<em>Any</em>) Nominal and shifted arm lengths for the second stage.</p></li>
<li><p><strong>Ltp</strong> (<em>Any</em>) Taper length between <code class="docutils literal notranslate"><span class="pre">w1</span></code> and <code class="docutils literal notranslate"><span class="pre">w2</span></code>.</p></li>
<li><p><strong>R_bend</strong> (<em>Any</em>) Bend radius used by U-bend routing.</p></li>
<li><p><strong>w_wg</strong> (<em>float</em>) Optical waveguide width used for ports and routing.</p></li>
<li><p><strong>L_patch</strong> (<em>Any</em>) Straight patch length at routing interfaces.</p></li>
<li><p><strong>via_h2m</strong> (<em>Any</em><em>, </em><em>optional</em>) Heater-to-metal via object or cell.</p></li>
<li><p><strong>isl</strong> (<em>Any</em><em>, </em><em>optional</em>) Isolation trench object or cell.</p></li>
<li><p><strong>L12</strong> (<em>Any</em><em>, </em><em>optional</em>) Optional length between beam splitter regions.</p></li>
</ul>
</dd>
</dl>
<dl class="py attribute">
<dt class="sig sig-object py" id="mxpic.components.composites.MZI.MZI_2st_ubend.cell">
<span class="sig-name descname"><span class="pre">cell</span></span><a class="headerlink" href="#mxpic.components.composites.MZI.MZI_2st_ubend.cell" title="Link to this definition">#</a></dt>
<dd><p>Generated two-stage MZI layout cell.</p>
<dl class="field-list simple">
<dt class="field-odd">Type<span class="colon">:</span></dt>
<dd class="field-odd"><p>nazca.Cell</p>
</dd>
</dl>
</dd></dl>
</dd></dl>
</section>
@@ -417,6 +575,38 @@
<dt class="sig sig-object py" id="mxpic.components.composites.MZI.MZI_Eubend">
<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">mxpic.components.composites.MZI.</span></span><span class="sig-name descname"><span class="pre">MZI_Eubend</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">name</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">BS</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">w_arm</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">w_wg</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">L_arm</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">dL_Amzi</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">L_patch</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">xs_wg</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">Rmax</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">30</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">Rmin</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">10</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">dL</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">0.1</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">w_arm_min</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">show_pins</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">False</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">sharp_patch</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">True</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#mxpic.components.composites.MZI.MZI_Eubend" title="Link to this definition">#</a></dt>
<dd><p>Bases: <code class="xref py py-class docutils literal notranslate"><span class="pre">object</span></code></p>
<p>Euler U-bend MZI composite for compact asymmetric routing.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>name</strong> (<em>str</em>) Nazca cell name.</p></li>
<li><p><strong>BS</strong> (<em>Any</em>) Beam splitter cell or object.</p></li>
<li><p><strong>w_arm</strong> (<em>float</em>) Internal arm waveguide width.</p></li>
<li><p><strong>w_wg</strong> (<em>float</em>) Input/output waveguide width.</p></li>
<li><p><strong>L_arm</strong> (<em>Any</em>) Nominal straight arm length.</p></li>
<li><p><strong>dL_Amzi</strong> (<em>float</em>) Differential length for asymmetric MZI operation.</p></li>
<li><p><strong>L_patch</strong> (<em>Any</em>) Straight patch length at routing interfaces.</p></li>
<li><p><strong>xs_wg</strong> (<em>str</em>) Optical waveguide cross-section name.</p></li>
<li><p><strong>Rmax</strong> (<em>int</em><em>, </em><em>optional</em>) Maximum Euler bend radius.</p></li>
<li><p><strong>Rmin</strong> (<em>int</em><em>, </em><em>optional</em>) Minimum Euler bend radius.</p></li>
<li><p><strong>dL</strong> (<em>float</em><em>, </em><em>optional</em>) Length-search resolution for the Euler compensation.</p></li>
<li><p><strong>w_arm_min</strong> (<em>float</em><em>, </em><em>optional</em>) Minimum arm width used during tapering.</p></li>
<li><p><strong>show_pins</strong> (<em>bool</em><em>, </em><em>optional</em>) Show Nazca pin stubs in the generated layout.</p></li>
<li><p><strong>sharp_patch</strong> (<em>bool</em><em>, </em><em>optional</em>) Add cladding patches around sharp geometry features.</p></li>
</ul>
</dd>
</dl>
<dl class="py attribute">
<dt class="sig sig-object py" id="mxpic.components.composites.MZI.MZI_Eubend.cell">
<span class="sig-name descname"><span class="pre">cell</span></span><a class="headerlink" href="#mxpic.components.composites.MZI.MZI_Eubend.cell" title="Link to this definition">#</a></dt>
<dd><p>Generated Euler U-bend MZI layout cell.</p>
<dl class="field-list simple">
<dt class="field-odd">Type<span class="colon">:</span></dt>
<dd class="field-odd"><p>nazca.Cell</p>
</dd>
</dl>
</dd></dl>
</dd></dl>
</section>
@@ -426,6 +616,41 @@
<dt class="sig sig-object py" id="mxpic.components.composites.MZI.MZI_Ubend">
<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">mxpic.components.composites.MZI.</span></span><span class="sig-name descname"><span class="pre">MZI_Ubend</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">name</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">BS</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">L_arm</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">xs_wg</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">'strip'</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">w_arm</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">1.0</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">L_tp</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">10</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">R_bend</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">10</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">w_wg</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">0.45</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">L_patch</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">0.5</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">w_ht</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">0</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">L_ht</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">0</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">via_h2m</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">isl</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">show_pins</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">False</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">D_port</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">sharp_patch</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">True</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">dual_ht</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">False</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#mxpic.components.composites.MZI.MZI_Ubend" title="Link to this definition">#</a></dt>
<dd><p>Bases: <a class="reference internal" href="#mxpic.components.composites.MZI.MZI_NS_ubend" title="mxpic.components.composites.MZI.MZI_NS_ubend"><code class="xref py py-class docutils literal notranslate"><span class="pre">MZI_NS_ubend</span></code></a></p>
<p>Convenience U-bend MZI wrapper with default width handling.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>name</strong> (<em>str</em>) Nazca cell name.</p></li>
<li><p><strong>BS</strong> (<em>Any</em>) Beam splitter cell or object.</p></li>
<li><p><strong>L_arm</strong> (<em>Any</em>) Nominal arm length.</p></li>
<li><p><strong>xs_wg</strong> (<em>str</em><em>, </em><em>optional</em>) Optical waveguide cross-section name.</p></li>
<li><p><strong>w_arm</strong> (<em>float</em><em>, </em><em>optional</em>) Internal arm waveguide width.</p></li>
<li><p><strong>L_tp</strong> (<em>int</em><em>, </em><em>optional</em>) Taper length between bus and arm widths.</p></li>
<li><p><strong>R_bend</strong> (<em>int</em><em>, </em><em>optional</em>) Bend radius used by U-bend routing.</p></li>
<li><p><strong>w_wg</strong> (<em>float</em><em>, </em><em>optional</em>) Input/output waveguide width.</p></li>
<li><p><strong>L_patch</strong> (<em>float</em><em>, </em><em>optional</em>) Straight patch length at routing interfaces.</p></li>
<li><p><strong>w_ht</strong> (<em>float</em><em>, </em><em>optional</em>) Heater width. Use 0 to disable heater drawing.</p></li>
<li><p><strong>L_ht</strong> (<em>int</em><em>, </em><em>optional</em>) Heater length override.</p></li>
<li><p><strong>via_h2m</strong> (<em>Any</em><em>, </em><em>optional</em>) Heater-to-metal via object or cell.</p></li>
<li><p><strong>isl</strong> (<em>Any</em><em>, </em><em>optional</em>) Isolation trench object or cell.</p></li>
<li><p><strong>show_pins</strong> (<em>bool</em><em>, </em><em>optional</em>) Show Nazca pin stubs in the generated layout.</p></li>
<li><p><strong>D_port</strong> (<em>Any</em><em>, </em><em>optional</em>) Output port pitch override.</p></li>
<li><p><strong>sharp_patch</strong> (<em>bool</em><em>, </em><em>optional</em>) Add cladding patches around sharp geometry features.</p></li>
<li><p><strong>dual_ht</strong> (<em>bool</em><em>, </em><em>optional</em>) Add heaters on both arms.</p></li>
</ul>
</dd>
</dl>
<dl class="py attribute">
<dt class="sig sig-object py" id="mxpic.components.composites.MZI.MZI_Ubend.cell">
<span class="sig-name descname"><span class="pre">cell</span></span><a class="headerlink" href="#mxpic.components.composites.MZI.MZI_Ubend.cell" title="Link to this definition">#</a></dt>
<dd><p>Generated U-bend MZI layout cell.</p>
<dl class="field-list simple">
<dt class="field-odd">Type<span class="colon">:</span></dt>
<dd class="field-odd"><p>nazca.Cell</p>
</dd>
</dl>
</dd></dl>
</dd></dl>
</section>
@@ -435,6 +660,47 @@
<dt class="sig sig-object py" id="mxpic.components.composites.MZI.MZI_Butterfly">
<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">mxpic.components.composites.MZI.</span></span><span class="sig-name descname"><span class="pre">MZI_Butterfly</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">name</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">xs_wg</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">'strip'</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">w_wg</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">0.45</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">dL_AMZI</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">0</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">L_arm</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">150</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">L_inner</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">10</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">R_bend</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">10</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">D_port</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">w_arm</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">1.0</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">xs_ht</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">'heater'</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">w_ht</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">0</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">Ltp</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">15</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">xs_metal</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">'metal'</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">w_metal</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">10</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">via_h2m</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">isl</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">outer_isl</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">True</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">dual_ht</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">True</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">L_patch</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">0.5</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">BS</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">BS2</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">sharp_patch</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">True</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">show_pins</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">False</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#mxpic.components.composites.MZI.MZI_Butterfly" title="Link to this definition">#</a></dt>
<dd><p>Bases: <code class="xref py py-class docutils literal notranslate"><span class="pre">object</span></code></p>
<p>Butterfly-style MZI composite with compact folded arms.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>name</strong> (<em>str</em><em>, </em><em>optional</em>) Nazca cell name. If omitted, the generated cell is not instantiated.</p></li>
<li><p><strong>xs_wg</strong> (<em>str</em><em>, </em><em>optional</em>) Optical waveguide cross-section name.</p></li>
<li><p><strong>w_wg</strong> (<em>float</em><em>, </em><em>optional</em>) Input and output waveguide width in microns.</p></li>
<li><p><strong>dL_AMZI</strong> (<em>float</em><em>, </em><em>optional</em>) Differential arm length for asymmetric MZI operation.</p></li>
<li><p><strong>L_arm</strong> (<em>int</em><em>, </em><em>optional</em>) Nominal straight arm length.</p></li>
<li><p><strong>L_inner</strong> (<em>int</em><em>, </em><em>optional</em>) Inner straight section length used by the butterfly fold.</p></li>
<li><p><strong>R_bend</strong> (<em>int</em><em>, </em><em>optional</em>) Bend radius used by internal routing.</p></li>
<li><p><strong>D_port</strong> (<em>Any</em><em>, </em><em>optional</em>) Output port pitch. If omitted, beam splitter pitch is used.</p></li>
<li><p><strong>w_arm</strong> (<em>float</em><em>, </em><em>optional</em>) Internal arm waveguide width.</p></li>
<li><p><strong>xs_ht</strong> (<em>str</em><em>, </em><em>optional</em>) Heater cross-section name.</p></li>
<li><p><strong>w_ht</strong> (<em>float</em><em>, </em><em>optional</em>) Heater width. Use 0 to disable heater drawing.</p></li>
<li><p><strong>Ltp</strong> (<em>int</em><em>, </em><em>optional</em>) Taper length between bus and arm widths.</p></li>
<li><p><strong>xs_metal</strong> (<em>str</em><em>, </em><em>optional</em>) Metal routing cross-section name.</p></li>
<li><p><strong>w_metal</strong> (<em>float</em><em>, </em><em>optional</em>) Metal routing width.</p></li>
<li><p><strong>via_h2m</strong> (<em>Any</em><em>, </em><em>optional</em>) Heater-to-metal via object or cell.</p></li>
<li><p><strong>isl</strong> (<em>Any</em><em>, </em><em>optional</em>) Isolation trench object or cell.</p></li>
<li><p><strong>outer_isl</strong> (<em>bool</em><em>, </em><em>optional</em>) Add outer isolation structures.</p></li>
<li><p><strong>dual_ht</strong> (<em>bool</em><em>, </em><em>optional</em>) Add heaters on both arms.</p></li>
<li><p><strong>L_patch</strong> (<em>float</em><em>, </em><em>optional</em>) Straight patch length at routing interfaces.</p></li>
<li><p><strong>BS</strong> (<em>Any</em><em>, </em><em>optional</em>) First beam splitter cell or object. If omitted, a default DC is used.</p></li>
<li><p><strong>BS2</strong> (<em>Any</em><em>, </em><em>optional</em>) Second beam splitter cell or object. If omitted, <code class="docutils literal notranslate"><span class="pre">BS</span></code> is reused.</p></li>
<li><p><strong>sharp_patch</strong> (<em>bool</em><em>, </em><em>optional</em>) Add cladding patches around sharp geometry features.</p></li>
<li><p><strong>show_pins</strong> (<em>bool</em><em>, </em><em>optional</em>) Show Nazca pin stubs in the generated layout.</p></li>
</ul>
</dd>
</dl>
<dl class="py attribute">
<dt class="sig sig-object py" id="mxpic.components.composites.MZI.MZI_Butterfly.cell">
<span class="sig-name descname"><span class="pre">cell</span></span><a class="headerlink" href="#mxpic.components.composites.MZI.MZI_Butterfly.cell" title="Link to this definition">#</a></dt>
<dd><p>Generated butterfly MZI layout cell.</p>
<dl class="field-list simple">
<dt class="field-odd">Type<span class="colon">:</span></dt>
<dd class="field-odd"><p>nazca.Cell</p>
</dd>
</dl>
</dd></dl>
<dl class="py method">
<dt class="sig sig-object py" id="mxpic.components.composites.MZI.MZI_Butterfly.generate_gds">
<span class="sig-name descname"><span class="pre">generate_gds</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">show_pin</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">False</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#mxpic.components.composites.MZI.MZI_Butterfly.generate_gds" title="Link to this definition">#</a></dt>
@@ -498,31 +764,50 @@
<nav class="bd-toc-nav page-toc" aria-labelledby="pst-page-navigation-heading-2">
<ul class="visible nav section-nav flex-column">
<li class="toc-h2 nav-item toc-entry"><a class="reference internal nav-link" href="#mzi">MZI</a><ul class="nav section-nav flex-column">
<li class="toc-h3 nav-item toc-entry"><a class="reference internal nav-link" href="#mxpic.components.composites.MZI.MZI"><code class="docutils literal notranslate"><span class="pre">MZI</span></code></a></li>
<li class="toc-h3 nav-item toc-entry"><a class="reference internal nav-link" href="#mxpic.components.composites.MZI.MZI"><code class="docutils literal notranslate"><span class="pre">MZI</span></code></a><ul class="nav section-nav flex-column">
<li class="toc-h4 nav-item toc-entry"><a class="reference internal nav-link" href="#mxpic.components.composites.MZI.MZI.cell"><code class="docutils literal notranslate"><span class="pre">MZI.cell</span></code></a></li>
</ul>
</li>
</ul>
</li>
<li class="toc-h2 nav-item toc-entry"><a class="reference internal nav-link" href="#mzi-ns">MZI_NS</a><ul class="nav section-nav flex-column">
<li class="toc-h3 nav-item toc-entry"><a class="reference internal nav-link" href="#mxpic.components.composites.MZI.MZI_NS"><code class="docutils literal notranslate"><span class="pre">MZI_NS</span></code></a></li>
<li class="toc-h3 nav-item toc-entry"><a class="reference internal nav-link" href="#mxpic.components.composites.MZI.MZI_NS"><code class="docutils literal notranslate"><span class="pre">MZI_NS</span></code></a><ul class="nav section-nav flex-column">
<li class="toc-h4 nav-item toc-entry"><a class="reference internal nav-link" href="#mxpic.components.composites.MZI.MZI_NS.cell"><code class="docutils literal notranslate"><span class="pre">MZI_NS.cell</span></code></a></li>
</ul>
</li>
</ul>
</li>
<li class="toc-h2 nav-item toc-entry"><a class="reference internal nav-link" href="#mzi-ns-ubend">MZI_NS_ubend</a><ul class="nav section-nav flex-column">
<li class="toc-h3 nav-item toc-entry"><a class="reference internal nav-link" href="#mxpic.components.composites.MZI.MZI_NS_ubend"><code class="docutils literal notranslate"><span class="pre">MZI_NS_ubend</span></code></a></li>
<li class="toc-h3 nav-item toc-entry"><a class="reference internal nav-link" href="#mxpic.components.composites.MZI.MZI_NS_ubend"><code class="docutils literal notranslate"><span class="pre">MZI_NS_ubend</span></code></a><ul class="nav section-nav flex-column">
<li class="toc-h4 nav-item toc-entry"><a class="reference internal nav-link" href="#mxpic.components.composites.MZI.MZI_NS_ubend.cell"><code class="docutils literal notranslate"><span class="pre">MZI_NS_ubend.cell</span></code></a></li>
</ul>
</li>
</ul>
</li>
<li class="toc-h2 nav-item toc-entry"><a class="reference internal nav-link" href="#mzi-2st-ubend">MZI_2st_ubend</a><ul class="nav section-nav flex-column">
<li class="toc-h3 nav-item toc-entry"><a class="reference internal nav-link" href="#mxpic.components.composites.MZI.MZI_2st_ubend"><code class="docutils literal notranslate"><span class="pre">MZI_2st_ubend</span></code></a></li>
<li class="toc-h3 nav-item toc-entry"><a class="reference internal nav-link" href="#mxpic.components.composites.MZI.MZI_2st_ubend"><code class="docutils literal notranslate"><span class="pre">MZI_2st_ubend</span></code></a><ul class="nav section-nav flex-column">
<li class="toc-h4 nav-item toc-entry"><a class="reference internal nav-link" href="#mxpic.components.composites.MZI.MZI_2st_ubend.cell"><code class="docutils literal notranslate"><span class="pre">MZI_2st_ubend.cell</span></code></a></li>
</ul>
</li>
</ul>
</li>
<li class="toc-h2 nav-item toc-entry"><a class="reference internal nav-link" href="#mzi-eubend">MZI_Eubend</a><ul class="nav section-nav flex-column">
<li class="toc-h3 nav-item toc-entry"><a class="reference internal nav-link" href="#mxpic.components.composites.MZI.MZI_Eubend"><code class="docutils literal notranslate"><span class="pre">MZI_Eubend</span></code></a></li>
<li class="toc-h3 nav-item toc-entry"><a class="reference internal nav-link" href="#mxpic.components.composites.MZI.MZI_Eubend"><code class="docutils literal notranslate"><span class="pre">MZI_Eubend</span></code></a><ul class="nav section-nav flex-column">
<li class="toc-h4 nav-item toc-entry"><a class="reference internal nav-link" href="#mxpic.components.composites.MZI.MZI_Eubend.cell"><code class="docutils literal notranslate"><span class="pre">MZI_Eubend.cell</span></code></a></li>
</ul>
</li>
</ul>
</li>
<li class="toc-h2 nav-item toc-entry"><a class="reference internal nav-link" href="#mzi-ubend">MZI_Ubend</a><ul class="nav section-nav flex-column">
<li class="toc-h3 nav-item toc-entry"><a class="reference internal nav-link" href="#mxpic.components.composites.MZI.MZI_Ubend"><code class="docutils literal notranslate"><span class="pre">MZI_Ubend</span></code></a></li>
<li class="toc-h3 nav-item toc-entry"><a class="reference internal nav-link" href="#mxpic.components.composites.MZI.MZI_Ubend"><code class="docutils literal notranslate"><span class="pre">MZI_Ubend</span></code></a><ul class="nav section-nav flex-column">
<li class="toc-h4 nav-item toc-entry"><a class="reference internal nav-link" href="#mxpic.components.composites.MZI.MZI_Ubend.cell"><code class="docutils literal notranslate"><span class="pre">MZI_Ubend.cell</span></code></a></li>
</ul>
</li>
</ul>
</li>
<li class="toc-h2 nav-item toc-entry"><a class="reference internal nav-link" href="#mzi-butterfly">MZI_Butterfly</a><ul class="nav section-nav flex-column">
<li class="toc-h3 nav-item toc-entry"><a class="reference internal nav-link" href="#mxpic.components.composites.MZI.MZI_Butterfly"><code class="docutils literal notranslate"><span class="pre">MZI_Butterfly</span></code></a><ul class="nav section-nav flex-column">
<li class="toc-h4 nav-item toc-entry"><a class="reference internal nav-link" href="#mxpic.components.composites.MZI.MZI_Butterfly.cell"><code class="docutils literal notranslate"><span class="pre">MZI_Butterfly.cell</span></code></a></li>
<li class="toc-h4 nav-item toc-entry"><a class="reference internal nav-link" href="#mxpic.components.composites.MZI.MZI_Butterfly.generate_gds"><code class="docutils literal notranslate"><span class="pre">MZI_Butterfly.generate_gds()</span></code></a></li>
<li class="toc-h4 nav-item toc-entry"><a class="reference internal nav-link" href="#mxpic.components.composites.MZI.MZI_Butterfly.generate_test_gds"><code class="docutils literal notranslate"><span class="pre">MZI_Butterfly.generate_test_gds()</span></code></a></li>
</ul>