SlabTemplate
- class awg_designer.all.SlabTemplate
Template for a slab (free propagation region) that stores the layer stack and modal properties of the slab.
In the Layout view, it defines the layer stack (using the layers that are available in your technology). It has SlabModes and SlabModesFromCamfr views that keep track of the modes.
- Parameters:
- name: String that contains only ISO/IEC 8859-1 (extended ASCII py3) or pure ASCII (py2) characters
The unique name of the pcell
Views
- class Layout
Layout drawing of the Slab.
- Parameters:
- slab_layers:
list of layers that should be drawn to define the slab
- view_name: String that contains only alphanumeric characters from the ASCII set or contains _$. ASCII set is extended on PY3.
The name of the view
Methods
cross_section(process_flow=None):
Returns the cross-section of the slab, generated from the layout and the given VFabricationProcessFlow. If process_flow is not specified, the default process flow TECH.VFABRICATION.PROCESS_FLOW will be used.
Examples
import si_fab.all as pdk # noqa: F401 import ipkiss3.all as i3 from awg_designer import all as filters slab_soi = filters.SlabTemplate() slab_soi_lo = slab_soi.Layout(slab_layers=[i3.PPLayer(i3.TECH.PROCESS.WG, i3.TECH.PURPOSE.DF_AREA)]) slab_soi_lo.cross_section().visualize()
- class SlabModes
List of modes of the slab, manually specified by the user.
- Parameters:
- view_name: String that contains only alphanumeric characters from the ASCII set or contains _$. ASCII set is extended on PY3.
The name of the view
Examples
import si_fab.all as pdk # noqa: F401 import ipkiss3.all as i3 from awg_designer import all as filters import numpy as np slab_soi = filters.SlabTemplate() slab_soi.Layout(slab_layers=[i3.PPLayer(i3.TECH.PROCESS.WG, i3.TECH.PURPOSE.DF_AREA)]) slab_soi_modes = slab_soi.SlabModes( modes=[filters.SimpleSlabMode(name="TE0", n_eff=2.8, n_g=3.2, polarization="TE")] ) slab_soi_modes.visualize(wavelengths=np.linspace(1.5, 1.6, 201))
- class SlabModesFromCamfr
List of modes of the slab, automatically calculated using the CAMFR mode solver.
- Parameters:
- process_flow: ( VFabricationProcessFlow ), *None allowed*
process flow to use
- wavelengths:
Wavelengths to calculate the modes for
- material_stack:
material stack of the FPR
- view_name: String that contains only alphanumeric characters from the ASCII set or contains _$. ASCII set is extended on PY3.
The name of the view
Examples
import si_fab.all as pdk # noqa: F401 import ipkiss3.all as i3 from awg_designer import all as filters import numpy as np # noqa slab_soi = filters.SlabTemplate() slab_soi.Layout(slab_layers=[i3.TECH.PPLAYER.SI]) slab_soi_modes = slab_soi.SlabModesFromCamfr( wavelengths=np.linspace(1.5, 1.6, 201), process_flow=i3.TECH.VFABRICATION.PROCESS_FLOW_FEOL, ) slab_soi_modes.visualize(wavelengths=np.linspace(1.5, 1.6, 201))