Folder structure simplfied

This commit is contained in:
=
2026-06-06 16:43:26 +08:00
parent 8da92ced57
commit 8a17f1dde0
138 changed files with 10429 additions and 1432 deletions
File diff suppressed because one or more lines are too long
@@ -303,7 +303,13 @@
<li class="toctree-l1"><a class="reference internal" href="../../gds_devices.html">mxpic.components.gds_devices</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../pins.html">mxpic.components.pins</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../routing.html">mxpic.components.routing</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../structures.html">mxpic.components.structures</a></li>
<li class="toctree-l1 has-children"><a class="reference internal" href="../../geometry/index.html">Geometry</a><details><summary><span class="toctree-toggle" role="presentation"><i class="fa-solid fa-chevron-down"></i></span></summary><ul>
<li class="toctree-l2"><a class="reference internal" href="../../geometry/polygons.html">mxpic.components.geometry.polygons</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../geometry/rings.html">mxpic.components.geometry.rings</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../geometry/curves.html">mxpic.components.geometry.curves</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../geometry/racetrack.html">mxpic.components.geometry.racetrack</a></li>
</ul>
</details></li>
</ul>
</div>
</nav></div>
File diff suppressed because one or more lines are too long
+118 -1
View File
@@ -303,7 +303,13 @@
<li class="toctree-l1"><a class="reference internal" href="../../gds_devices.html">mxpic.components.gds_devices</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../pins.html">mxpic.components.pins</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../routing.html">mxpic.components.routing</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../structures.html">mxpic.components.structures</a></li>
<li class="toctree-l1 has-children"><a class="reference internal" href="../../geometry/index.html">Geometry</a><details><summary><span class="toctree-toggle" role="presentation"><i class="fa-solid fa-chevron-down"></i></span></summary><ul>
<li class="toctree-l2"><a class="reference internal" href="../../geometry/polygons.html">mxpic.components.geometry.polygons</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../geometry/rings.html">mxpic.components.geometry.rings</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../geometry/curves.html">mxpic.components.geometry.curves</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../geometry/racetrack.html">mxpic.components.geometry.racetrack</a></li>
</ul>
</details></li>
</ul>
</div>
</nav></div>
@@ -378,6 +384,35 @@
<dt class="sig sig-object py" id="mxpic.components.primitives.passive.unit.waveguide">
<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">mxpic.components.primitives.passive.unit.</span></span><span class="sig-name descname"><span class="pre">waveguide</span></span><span class="sig-paren">(</span><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">2.5</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">L_wg</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_heater</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">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">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">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">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">w_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">Ltp</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">euler_bend</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">Rmin</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">5</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">thin_attach</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">UPPER_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">LOWER_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">shape</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">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">ubend_offset</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">20</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.primitives.passive.unit.waveguide" 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>waveguide primitive component.</p>
<p>This component builds the waveguide layout cell.</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>w_heater</strong> (<em>float</em><em>, </em><em>optional</em>) Width parameter in microns. Default is 2.5.</p></li>
<li><p><strong>L_wg</strong> (<em>int</em><em>, </em><em>optional</em>) Length parameter in microns. Default is 150.</p></li>
<li><p><strong>L_heater</strong> (<em>int</em><em>, </em><em>optional</em>) Length parameter in microns. Default is 150.</p></li>
<li><p><strong>w_metal</strong> (<em>float</em><em>, </em><em>optional</em>) Width parameter in microns. Default is 10.</p></li>
<li><p><strong>xs_heater</strong> (<em>str</em><em>, </em><em>optional</em>) Layer or cross-section name used by the device. Default is heater.</p></li>
<li><p><strong>xs_metal</strong> (<em>str</em><em>, </em><em>optional</em>) Layer or cross-section name used by the device. Default is metal.</p></li>
<li><p><strong>xs_wg</strong> (<em>str</em><em>, </em><em>optional</em>) Layer or cross-section name used by the device. Default is strip.</p></li>
<li><p><strong>w_wg</strong> (<em>float</em><em>, </em><em>optional</em>) Width parameter in microns. Default is 0.45.</p></li>
<li><p><strong>w_port</strong> (<em>Optional</em><em>[</em><em>float</em><em>]</em><em>, </em><em>optional</em>) Width parameter in microns. Default is None.</p></li>
<li><p><strong>Ltp</strong> (<em>Any</em><em>, </em><em>optional</em>) Length parameter in microns. Default is None.</p></li>
<li><p><strong>via_h2m</strong> (<em>Any</em><em>, </em><em>optional</em>) Via definition used between heater and metal layers. Default is None.</p></li>
<li><p><strong>isl</strong> (<em>Any</em><em>, </em><em>optional</em>) Isolation-trench definition used by the electrical layout. Default is None.</p></li>
<li><p><strong>euler_bend</strong> (<em>bool</em><em>, </em><em>optional</em>) Value for the euler_bend parameter. Default is False.</p></li>
<li><p><strong>Rmin</strong> (<em>int</em><em>, </em><em>optional</em>) Radius parameter in microns. Default is 5.</p></li>
<li><p><strong>thin_attach</strong> (<em>bool</em><em>, </em><em>optional</em>) Value for the thin_attach parameter. Default is False.</p></li>
<li><p><strong>UPPER_ISL</strong> (<em>bool</em><em>, </em><em>optional</em>) Value for the UPPER_ISL parameter. Default is True.</p></li>
<li><p><strong>LOWER_ISL</strong> (<em>bool</em><em>, </em><em>optional</em>) Length parameter in microns. Default is True.</p></li>
<li><p><strong>shape</strong> (<em>str</em><em>, </em><em>optional</em>) Value for the shape parameter. Default is strip.</p></li>
<li><p><strong>R_bend</strong> (<em>int</em><em>, </em><em>optional</em>) Radius parameter in microns. Default is 10.</p></li>
<li><p><strong>ubend_offset</strong> (<em>int</em><em>, </em><em>optional</em>) Value for the ubend_offset parameter. Default is 20.</p></li>
<li><p><strong>show_pins</strong> (<em>bool</em><em>, </em><em>optional</em>) Whether to draw pin markers in the generated layout. Default is False.</p></li>
</ul>
</dd>
</dl>
</dd></dl>
</section>
@@ -387,6 +422,34 @@
<dt class="sig sig-object py" id="mxpic.components.primitives.passive.unit.PS_2st">
<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">mxpic.components.primitives.passive.unit.</span></span><span class="sig-name descname"><span class="pre">PS_2st</span></span><span class="sig-paren">(</span><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.5</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">w1</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">0.7</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">w2</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">0.9</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">L1</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">L2</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">55</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">L_wg</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_tp</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">1</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">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">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">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_heater</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">2.5</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">8</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">UPPER_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">LOWER_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">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">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.primitives.passive.unit.PS_2st" 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>PS 2st primitive component.</p>
<p>This component builds the PS 2st layout cell.</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>xs_wg</strong> (<em>str</em><em>, </em><em>optional</em>) Layer or cross-section name used by the device. Default is strip.</p></li>
<li><p><strong>w_wg</strong> (<em>float</em><em>, </em><em>optional</em>) Width parameter in microns. Default is 0.5.</p></li>
<li><p><strong>w1</strong> (<em>float</em><em>, </em><em>optional</em>) Width parameter in microns. Default is 0.7.</p></li>
<li><p><strong>w2</strong> (<em>float</em><em>, </em><em>optional</em>) Width parameter in microns. Default is 0.9.</p></li>
<li><p><strong>L1</strong> (<em>int</em><em>, </em><em>optional</em>) Length parameter in microns. Default is 10.</p></li>
<li><p><strong>L2</strong> (<em>int</em><em>, </em><em>optional</em>) Length parameter in microns. Default is 55.</p></li>
<li><p><strong>L_wg</strong> (<em>int</em><em>, </em><em>optional</em>) Length parameter in microns. Default is 0.</p></li>
<li><p><strong>L_tp</strong> (<em>int</em><em>, </em><em>optional</em>) Length parameter in microns. Default is 1.</p></li>
<li><p><strong>L12</strong> (<em>Any</em><em>, </em><em>optional</em>) Length parameter in microns. Default is None.</p></li>
<li><p><strong>L_ht</strong> (<em>Any</em><em>, </em><em>optional</em>) Length parameter in microns. Default is None.</p></li>
<li><p><strong>xs_heater</strong> (<em>str</em><em>, </em><em>optional</em>) Layer or cross-section name used by the device. Default is heater.</p></li>
<li><p><strong>xs_metal</strong> (<em>str</em><em>, </em><em>optional</em>) Layer or cross-section name used by the device. Default is metal.</p></li>
<li><p><strong>w_heater</strong> (<em>float</em><em>, </em><em>optional</em>) Width parameter in microns. Default is 2.5.</p></li>
<li><p><strong>w_metal</strong> (<em>float</em><em>, </em><em>optional</em>) Width parameter in microns. Default is 8.</p></li>
<li><p><strong>via_h2m</strong> (<em>Any</em><em>, </em><em>optional</em>) Via definition used between heater and metal layers. Default is None.</p></li>
<li><p><strong>isl</strong> (<em>Any</em><em>, </em><em>optional</em>) Isolation-trench definition used by the electrical layout. Default is None.</p></li>
<li><p><strong>UPPER_ISL</strong> (<em>bool</em><em>, </em><em>optional</em>) Value for the UPPER_ISL parameter. Default is True.</p></li>
<li><p><strong>LOWER_ISL</strong> (<em>bool</em><em>, </em><em>optional</em>) Length parameter in microns. Default is True.</p></li>
<li><p><strong>R_bend</strong> (<em>int</em><em>, </em><em>optional</em>) Radius parameter in microns. Default is 10.</p></li>
<li><p><strong>show_pins</strong> (<em>bool</em><em>, </em><em>optional</em>) Whether to draw pin markers in the generated layout. Default is False.</p></li>
</ul>
</dd>
</dl>
<dl class="py method">
<dt class="sig sig-object py" id="mxpic.components.primitives.passive.unit.PS_2st.generate_gds">
<span class="sig-name descname"><span class="pre">generate_gds</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#mxpic.components.primitives.passive.unit.PS_2st.generate_gds" title="Link to this definition">#</a></dt>
@@ -401,6 +464,33 @@
<dt class="sig sig-object py" id="mxpic.components.primitives.passive.unit.PS_2st_Straight">
<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">mxpic.components.primitives.passive.unit.</span></span><span class="sig-name descname"><span class="pre">PS_2st_Straight</span></span><span class="sig-paren">(</span><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.5</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">w1</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">0.7</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">w2</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">0.9</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">L1</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">L2</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">55</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">L_wg</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_tp</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">1</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">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">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">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_heater</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">2.5</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">8</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">UPPER_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">LOWER_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">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.primitives.passive.unit.PS_2st_Straight" 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>PS 2st Straight primitive component.</p>
<p>This component builds the PS 2st Straight layout cell.</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>xs_wg</strong> (<em>str</em><em>, </em><em>optional</em>) Layer or cross-section name used by the device. Default is strip.</p></li>
<li><p><strong>w_wg</strong> (<em>float</em><em>, </em><em>optional</em>) Width parameter in microns. Default is 0.5.</p></li>
<li><p><strong>w1</strong> (<em>float</em><em>, </em><em>optional</em>) Width parameter in microns. Default is 0.7.</p></li>
<li><p><strong>w2</strong> (<em>float</em><em>, </em><em>optional</em>) Width parameter in microns. Default is 0.9.</p></li>
<li><p><strong>L1</strong> (<em>int</em><em>, </em><em>optional</em>) Length parameter in microns. Default is 10.</p></li>
<li><p><strong>L2</strong> (<em>int</em><em>, </em><em>optional</em>) Length parameter in microns. Default is 55.</p></li>
<li><p><strong>L_wg</strong> (<em>int</em><em>, </em><em>optional</em>) Length parameter in microns. Default is 0.</p></li>
<li><p><strong>L_tp</strong> (<em>int</em><em>, </em><em>optional</em>) Length parameter in microns. Default is 1.</p></li>
<li><p><strong>L12</strong> (<em>Any</em><em>, </em><em>optional</em>) Length parameter in microns. Default is None.</p></li>
<li><p><strong>L_ht</strong> (<em>Any</em><em>, </em><em>optional</em>) Length parameter in microns. Default is None.</p></li>
<li><p><strong>xs_heater</strong> (<em>str</em><em>, </em><em>optional</em>) Layer or cross-section name used by the device. Default is heater.</p></li>
<li><p><strong>xs_metal</strong> (<em>str</em><em>, </em><em>optional</em>) Layer or cross-section name used by the device. Default is metal.</p></li>
<li><p><strong>w_heater</strong> (<em>float</em><em>, </em><em>optional</em>) Width parameter in microns. Default is 2.5.</p></li>
<li><p><strong>w_metal</strong> (<em>float</em><em>, </em><em>optional</em>) Width parameter in microns. Default is 8.</p></li>
<li><p><strong>via_h2m</strong> (<em>Any</em><em>, </em><em>optional</em>) Via definition used between heater and metal layers. Default is None.</p></li>
<li><p><strong>isl</strong> (<em>Any</em><em>, </em><em>optional</em>) Isolation-trench definition used by the electrical layout. Default is None.</p></li>
<li><p><strong>UPPER_ISL</strong> (<em>bool</em><em>, </em><em>optional</em>) Value for the UPPER_ISL parameter. Default is True.</p></li>
<li><p><strong>LOWER_ISL</strong> (<em>bool</em><em>, </em><em>optional</em>) Length parameter in microns. Default is True.</p></li>
<li><p><strong>show_pins</strong> (<em>bool</em><em>, </em><em>optional</em>) Whether to draw pin markers in the generated layout. Default is False.</p></li>
</ul>
</dd>
</dl>
<dl class="py method">
<dt class="sig sig-object py" id="mxpic.components.primitives.passive.unit.PS_2st_Straight.generate_gds">
<span class="sig-name descname"><span class="pre">generate_gds</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#mxpic.components.primitives.passive.unit.PS_2st_Straight.generate_gds" title="Link to this definition">#</a></dt>
@@ -415,6 +505,20 @@
<dt class="sig sig-object py" id="mxpic.components.primitives.passive.unit.PSR_1x2">
<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">mxpic.components.primitives.passive.unit.</span></span><span class="sig-name descname"><span class="pre">PSR_1x2</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">PSR</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">MDM</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">xs</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">L_tp</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">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.primitives.passive.unit.PSR_1x2" 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>PSR 1x2 primitive component.</p>
<p>This component builds the PSR 1x2 layout cell.</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>PSR</strong> (<em>Any</em>) Polarization splitter-rotator cell or component used by this composite.</p></li>
<li><p><strong>MDM</strong> (<em>Any</em>) Mode multiplexer/demultiplexer cell or component used by this composite.</p></li>
<li><p><strong>xs</strong> (<em>str</em><em>, </em><em>optional</em>) Layer or cross-section name used by the device. Default is strip.</p></li>
<li><p><strong>w_wg</strong> (<em>float</em><em>, </em><em>optional</em>) Width parameter in microns. Default is 0.45.</p></li>
<li><p><strong>L_tp</strong> (<em>int</em><em>, </em><em>optional</em>) Length parameter in microns. Default is 15.</p></li>
<li><p><strong>show_pins</strong> (<em>bool</em><em>, </em><em>optional</em>) Whether to draw pin markers in the generated layout. Default is False.</p></li>
</ul>
</dd>
</dl>
<dl class="py method">
<dt class="sig sig-object py" id="mxpic.components.primitives.passive.unit.PSR_1x2.generate_test_gds">
<span class="sig-name descname"><span class="pre">generate_test_gds</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">gc</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">gc_IN</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">gc2gc_dX</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">140</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">gc2gc_dY</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">40</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#mxpic.components.primitives.passive.unit.PSR_1x2.generate_test_gds" title="Link to this definition">#</a></dt>
@@ -429,6 +533,19 @@
<dt class="sig sig-object py" id="mxpic.components.primitives.passive.unit.Brag_WDM">
<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">mxpic.components.primitives.passive.unit.</span></span><span class="sig-name descname"><span class="pre">Brag_WDM</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">Brag</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">MDM</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_tp</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">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.primitives.passive.unit.Brag_WDM" 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>Brag WDM primitive component.</p>
<p>This component builds the Brag WDM layout cell.</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>Brag</strong> (<em>Any</em>) Bragg grating cell or component used by this composite.</p></li>
<li><p><strong>MDM</strong> (<em>Any</em>) Mode multiplexer/demultiplexer cell or component used by this composite.</p></li>
<li><p><strong>w_wg</strong> (<em>float</em><em>, </em><em>optional</em>) Width parameter in microns. Default is 0.45.</p></li>
<li><p><strong>L_tp</strong> (<em>int</em><em>, </em><em>optional</em>) Length parameter in microns. Default is 30.</p></li>
<li><p><strong>show_pins</strong> (<em>bool</em><em>, </em><em>optional</em>) Whether to draw pin markers in the generated layout. Default is False.</p></li>
</ul>
</dd>
</dl>
<dl class="py method">
<dt class="sig sig-object py" id="mxpic.components.primitives.passive.unit.Brag_WDM.generate_test_gds">
<span class="sig-name descname"><span class="pre">generate_test_gds</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">gc</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">gc2gc_dX</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">140</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">gc2gc_dY</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">dX_offset</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">50</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#mxpic.components.primitives.passive.unit.Brag_WDM.generate_test_gds" title="Link to this definition">#</a></dt>