Luxtelligence provides a library of components that have been fabricated in the reference material stack, and whose performance has been tested and validated. Here follows a list of the available parametric cells (gdsfactory.Component objects):
Cells ltoi300#
chip_frame#
- ltoi300.cells.chip_frame(size: tuple[float, float] = (10000, 5000), exclusion_zone_width: float = 50, center: tuple[float, float] = None, chip_contour_layer: tuple[int, int] = (6, 0), chip_exclusion_zone_layer: tuple[int, int] = (6, 1)) Component[source]#
Provide the chip extent and the exclusion zone around the chip frame. In the exclusion zone, only the edge couplers routing to the chip facet should be placed. Allowed chip dimensions (in either direction): 5000 um, 10000 um, 20000 um.
import ltoi300
c = ltoi300.cells.chip_frame(size=(10000, 5000), exclusion_zone_width=50, chip_contour_layer=(6, 0), chip_exclusion_zone_layer=(6, 1)).copy()
c.draw_ports()
c.plot()
(Source code, png, hires.png, pdf)
edge_coupler_cband#
- ltoi300.cells.edge_coupler_cband(input_ext: float = 10.0, total_taper_length: float = 160.0, upper_taper_length: float = 80.0) Component[source]#
Returns a C-band edge coupler for LTOI300.
- Parameters:
input_ext – extension length at the taper tip.
total_taper_length – total length of the taper.
upper_taper_length – length of the ridge section taper.
import ltoi300
c = ltoi300.cells.edge_coupler_cband(input_ext=10.0, total_taper_length=160.0, upper_taper_length=80.0).copy()
c.draw_ports()
c.plot()
(Source code, png, hires.png, pdf)
edge_coupler_oband#
- ltoi300.cells.edge_coupler_oband(input_ext: float = 10.0, total_taper_length: float = 160.0, upper_taper_length: float = 80.0) Component[source]#
Returns an O-band edge coupler for LTOI300.
- Parameters:
input_ext – extension length at the taper tip.
total_taper_length – total length of the taper.
upper_taper_length – length of the ridge section taper.
import ltoi300
c = ltoi300.cells.edge_coupler_oband(input_ext=10.0, total_taper_length=160.0, upper_taper_length=80.0).copy()
c.draw_ports()
c.plot()
(Source code, png, hires.png, pdf)
mmi1x2_cband#
- ltoi300.cells.mmi1x2_cband(**kwargs) Component[source]#
Returns a standard 1x2 MMI optimized for low insertion loss on a 300/120 stack in the C-band (at 1550 nm).
Use with default parameters for standard designs: mmi = mmi1x2_cband(). Parameters can be overridden at the user’s risk.
- Parameters:
width_mmi – Width of the MMI region in micrometers
length_mmi – Length of the MMI region in micrometers
width_taper – Width of the taper at the MMI interface in micrometers
length_taper – Length of the input/output tapers in micrometers
port_separation – Center-to-center separation between output ports in micrometers
cross_section – Cross-section specification for the waveguides
**kwargs – Additional keyword arguments passed to gdsfactory mmi1x2
Note
Default values for all parameters are defined in ltoi300._builders.mmis.build_mmi1x2_cband
import ltoi300
c = ltoi300.cells.mmi1x2_cband().copy()
c.draw_ports()
c.plot()
(Source code, png, hires.png, pdf)
mmi1x2_oband#
- ltoi300.cells.mmi1x2_oband(**kwargs) Component[source]#
Returns a standard 1x2 MMI optimized for low insertion loss on a 300/120 stack in the O-band (at 1310 nm).
Use with default parameters for standard designs: mmi = mmi1x2_oband(). Parameters can be overridden at the user’s risk.
- Parameters:
width_mmi – Width of the MMI region in micrometers
length_mmi – Length of the MMI region in micrometers
width_taper – Width of the taper at the MMI interface in micrometers
length_taper – Length of the input/output tapers in micrometers
port_separation – Center-to-center separation between output ports in micrometers
cross_section – Cross-section specification for the waveguides
**kwargs – Additional keyword arguments passed to gdsfactory mmi1x2
Note
Default values for all parameters are defined in ltoi300._builders.mmis.build_mmi1x2_oband
import ltoi300
c = ltoi300.cells.mmi1x2_oband().copy()
c.draw_ports()
c.plot()
(Source code, png, hires.png, pdf)
mmi2x2_cband#
- ltoi300.cells.mmi2x2_cband(**kwargs) Component[source]#
Returns a standard 2x2 MMI optimized for 50% splitting on a 300/120 stack in the C-band (at 1550 nm).
Use with default parameters for standard designs: mmi = mmi2x2_cband(). Parameters can be overridden at the user’s risk.
- Parameters:
width_mmi – Width of the MMI region in micrometers
length_mmi – Length of the MMI region in micrometers
width_taper – Width of the taper at the MMI interface in micrometers
length_taper – Length of the input/output tapers in micrometers
port_separation – Center-to-center separation between output ports in micrometers
cross_section – Cross-section specification for the waveguides
**kwargs – Additional keyword arguments passed to gdsfactory mmi2x2
Note
Default values for all parameters are defined in ltoi300._builders.mmis.build_mmi2x2_cband
import ltoi300
c = ltoi300.cells.mmi2x2_cband().copy()
c.draw_ports()
c.plot()
(Source code, png, hires.png, pdf)
mmi2x2_oband#
- ltoi300.cells.mmi2x2_oband(**kwargs) Component[source]#
Returns a standard 2x2 MMI optimized for 50% splitting on a 300/120 stack in the O-band (at 1310 nm).
Use with default parameters for standard designs: mmi = mmi2x2_oband(). Parameters can be overridden at the user’s risk.
- Parameters:
width_mmi – Width of the MMI region in micrometers
length_mmi – Length of the MMI region in micrometers
width_taper – Width of the taper at the MMI interface in micrometers
length_taper – Length of the input/output tapers in micrometers
port_separation – Center-to-center separation between output ports in micrometers
cross_section – Cross-section specification for the waveguides
**kwargs – Additional keyword arguments passed to gdsfactory mmi2x2
Note
Default values for all parameters are defined in ltoi300._builders.mmis.build_mmi2x2_oband
import ltoi300
c = ltoi300.cells.mmi2x2_oband().copy()
c.draw_ports()
c.plot()
(Source code, png, hires.png, pdf)
ring_resonator_multimode_point_coupler_cband#
- ltoi300.cells.ring_resonator_multimode_point_coupler_cband(ring_radius: float = 200.0, ring_width: float = 1.5, gap: float = 1.2, bus_length: float | None = None) Component[source]#
Returns a multimode ring resonator with an evanescent point coupler for C-band operation. The gap is set to 1.2 um to ensure critical coupling. Note: the critical coupling condition is loss-specific and a different gap may be required for other loss conditions.
import ltoi300
c = ltoi300.cells.ring_resonator_multimode_point_coupler_cband(ring_radius=200.0, ring_width=1.5, gap=1.2).copy()
c.draw_ports()
c.plot()
(Source code, png, hires.png, pdf)
ring_resonator_multimode_point_coupler_oband#
- ltoi300.cells.ring_resonator_multimode_point_coupler_oband(ring_radius: float = 200.0, ring_width: float = 1.5, gap: float = 0.75, bus_length: float | None = None) Component[source]#
Returns a multimode ring resonator with an evanescent point coupler for O-band operation. The gap is set to 0.75 um to ensure critical coupling. Note: the critical coupling condition is loss-specific and a different gap may be required for other loss conditions.
import ltoi300
c = ltoi300.cells.ring_resonator_multimode_point_coupler_oband(ring_radius=200.0, ring_width=1.5, gap=0.75).copy()
c.draw_ports()
c.plot()
(Source code, png, hires.png, pdf)
ring_resonator_single_mode_point_coupler_cband#
- ltoi300.cells.ring_resonator_single_mode_point_coupler_cband(ring_radius: float = 200.0, ring_width: float = 0.9, gap: float = 1.5, bus_length: float | None = None) Component[source]#
Returns a single mode ring resonator with an evanescent point coupler for C-band operation. The gap is set to 1.5 um to ensure critical coupling. Note: the critical coupling condition is loss-specific and a different gap may be required for other loss conditions.
import ltoi300
c = ltoi300.cells.ring_resonator_single_mode_point_coupler_cband(ring_radius=200.0, ring_width=0.9, gap=1.5).copy()
c.draw_ports()
c.plot()
(Source code, png, hires.png, pdf)
ring_resonator_single_mode_point_coupler_oband#
- ltoi300.cells.ring_resonator_single_mode_point_coupler_oband(ring_radius: float = 200.0, ring_width: float = 0.7, gap: float = 1.05, bus_length: float | None = None) Component[source]#
Returns a ring resonator with an evanescent point coupler for O-band operation. The gap is set to 1.05 um to ensure critical coupling. Note: the critical coupling condition is loss-specific and a different gap may be required for other loss conditions.
import ltoi300
c = ltoi300.cells.ring_resonator_single_mode_point_coupler_oband(ring_radius=200.0, ring_width=0.7, gap=1.05).copy()
c.draw_ports()
c.plot()
(Source code, png, hires.png, pdf)
straight_rwg2500#
- ltoi300.cells.straight_rwg2500(length: float = 10.0, **kwargs) Component[source]#
Returns a straight 2500 nm-wide multi-mode waveguide. :param length: straight length (um).
import ltoi300
c = ltoi300.cells.straight_rwg2500(length=10.0).copy()
c.draw_ports()
c.plot()
(Source code, png, hires.png, pdf)
straight_rwg700_oband#
- ltoi300.cells.straight_rwg700_oband(length: float = 10.0, **kwargs) Component[source]#
Returns a standard straight 700 nm-wide single-mode waveguide for O-band propagation. :param length: straight length (um).
import ltoi300
c = ltoi300.cells.straight_rwg700_oband(length=10.0).copy()
c.draw_ports()
c.plot()
(Source code, png, hires.png, pdf)
straight_rwg900_cband#
- ltoi300.cells.straight_rwg900_cband(length: float = 10.0, **kwargs) Component[source]#
Standard straight single-mode waveguide for C-band propagation.
import ltoi300
c = ltoi300.cells.straight_rwg900_cband(length=10.0).copy()
c.draw_ports()
c.plot()
(Source code, png, hires.png, pdf)
terminated_mzm_1x2mmi_cband#
- ltoi300.cells.terminated_mzm_1x2mmi_cband(modulation_length: float = 5000.0, rf_gap: float = 5.5, rf_central_conductor_width: float = 16.0, gsg_pitch: float = 100.0, length_imbalance: float = 100.0, bias_tuning_section_length: float = 700.0)[source]#
Returns a terminated MZM with 1x2 MMI splitter with effective index matching for C-band operation.
- Parameters:
modulation_length – length of the EO modulation section.
rf_gap – gap between the RF ground planes and the RF central conductor.
rf_central_conductor_width – width of the RF central conductor.
gsg_pitch – pitch of the GSGs contact pads.
length_imbalance – length difference between the MZ branches for spectral bias tuning. If 0, MZ is balanced.
bias_tuning_section_length – length of the heater bias tuning section. If 0, the heater is disabled.
import ltoi300
c = ltoi300.cells.terminated_mzm_1x2mmi_cband(modulation_length=5000.0, rf_gap=5.5, rf_central_conductor_width=16.0, gsg_pitch=100.0, length_imbalance=100.0, bias_tuning_section_length=700.0).copy()
c.draw_ports()
c.plot()
(Source code, png, hires.png, pdf)
terminated_mzm_1x2mmi_oband#
- ltoi300.cells.terminated_mzm_1x2mmi_oband(modulation_length: float = 5000.0, rf_gap: float = 5.5, rf_central_conductor_width: float = 20.0, gsg_pitch: float = 100.0, length_imbalance: float = 100.0, bias_tuning_section_length: float = 700.0)[source]#
Returns a terminated MZM with 1x2 MMI splitter with effective index matching for O-band operation.
- Parameters:
modulation_length – length of the EO modulation section.
rf_gap – gap between the RF ground planes and the RF central conductor.
rf_central_conductor_width – width of the RF central conductor.
gsg_pitch – pitch of the GSGs contact pads.
length_imbalance – length difference between the MZ branches for spectral bias tuning. If 0, MZ is balanced.
bias_tuning_section_length – length of the heater bias tuning section. If 0, the heater is disabled.
import ltoi300
c = ltoi300.cells.terminated_mzm_1x2mmi_oband(modulation_length=5000.0, rf_gap=5.5, rf_central_conductor_width=20.0, gsg_pitch=100.0, length_imbalance=100.0, bias_tuning_section_length=700.0).copy()
c.draw_ports()
c.plot()
(Source code, png, hires.png, pdf)
terminated_mzm_2x2mmi_cband#
- ltoi300.cells.terminated_mzm_2x2mmi_cband(modulation_length: float = 5000.0, rf_gap: float = 5.5, rf_central_conductor_width: float = 16.0, gsg_pitch: float = 100.0, length_imbalance: float = 100.0, bias_tuning_section_length: float = 700.0) Component[source]#
Returns a terminated MZM with 2x2 MMI splitter with effective index matching for C-band operation.
- Parameters:
modulation_length – length of the EO modulation section.
rf_gap – gap between the RF ground planes and the RF central conductor.
rf_central_conductor_width – width of the RF central conductor.
gsg_pitch – pitch of the GSGs contact pads.
length_imbalance – length difference between the MZ branches for spectral bias tuning. If 0, MZ is balanced.
bias_tuning_section_length – length of the heater bias tuning section. If 0, the heater is disabled.
import ltoi300
c = ltoi300.cells.terminated_mzm_2x2mmi_cband(modulation_length=5000.0, rf_gap=5.5, rf_central_conductor_width=16.0, gsg_pitch=100.0, length_imbalance=100.0, bias_tuning_section_length=700.0).copy()
c.draw_ports()
c.plot()
(Source code, png, hires.png, pdf)
terminated_mzm_2x2mmi_oband#
- ltoi300.cells.terminated_mzm_2x2mmi_oband(modulation_length: float = 5000.0, rf_gap: float = 5.5, rf_central_conductor_width: float = 20.0, gsg_pitch: float = 100.0, length_imbalance: float = 100.0, bias_tuning_section_length: float = 700.0) Component[source]#
Returns a terminated MZM with 2x2 MMI splitter with effective index matching for O-band operation.
- Parameters:
modulation_length – length of the EO modulation section.
rf_gap – gap between the RF ground planes and the RF central conductor.
rf_central_conductor_width – width of the RF central conductor.
gsg_pitch – pitch of the GSGs contact pads.
length_imbalance – length difference between the MZ branches for spectral bias tuning. If 0, MZ is balanced.
bias_tuning_section_length – length of the heater bias tuning section. If 0, the heater is disabled.
import ltoi300
c = ltoi300.cells.terminated_mzm_2x2mmi_oband(modulation_length=5000.0, rf_gap=5.5, rf_central_conductor_width=20.0, gsg_pitch=100.0, length_imbalance=100.0, bias_tuning_section_length=700.0).copy()
c.draw_ports()
c.plot()
(Source code, png, hires.png, pdf)
unterminated_mzm_1x2mmi_cband#
- ltoi300.cells.unterminated_mzm_1x2mmi_cband(modulation_length: float = 5000.0, rf_gap: float = 5.5, rf_central_conductor_width: float = 16.0, gsg_pitch: float = 100.0, length_imbalance: float = 100.0, bias_tuning_section_length: float = 700.0)[source]#
Returns a unterminated MZM with 1x2 MMI splitter with effective index matching for C-band operation.
- Parameters:
modulation_length – length of the EO modulation section.
rf_gap – gap between the RF ground planes and the RF central conductor.
rf_central_conductor_width – width of the RF central conductor.
gsg_pitch – pitch of the GSGs contact pads.
length_imbalance – length difference between the MZ branches for spectral bias tuning. If 0, MZ is balanced.
bias_tuning_section_length – length of the heater bias tuning section. If 0, the heater is disabled.
import ltoi300
c = ltoi300.cells.unterminated_mzm_1x2mmi_cband(modulation_length=5000.0, rf_gap=5.5, rf_central_conductor_width=16.0, gsg_pitch=100.0, length_imbalance=100.0, bias_tuning_section_length=700.0).copy()
c.draw_ports()
c.plot()
(Source code, png, hires.png, pdf)
unterminated_mzm_1x2mmi_oband#
- ltoi300.cells.unterminated_mzm_1x2mmi_oband(modulation_length: float = 5000.0, rf_gap: float = 5.5, rf_central_conductor_width: float = 20.0, gsg_pitch: float = 100.0, length_imbalance: float = 100.0, bias_tuning_section_length: float = 700.0)[source]#
Returns a unterminated MZM with 1x2 MMI splitter with effective index matching for O-band operation.
- Parameters:
modulation_length – length of the EO modulation section.
rf_gap – gap between the RF ground planes and the RF central conductor.
rf_central_conductor_width – width of the RF central conductor.
gsg_pitch – pitch of the GSGs contact pads.
length_imbalance – length difference between the MZ branches for spectral bias tuning. If 0, MZ is balanced.
bias_tuning_section_length – length of the heater bias tuning section. If 0, the heater is disabled.
import ltoi300
c = ltoi300.cells.unterminated_mzm_1x2mmi_oband(modulation_length=5000.0, rf_gap=5.5, rf_central_conductor_width=20.0, gsg_pitch=100.0, length_imbalance=100.0, bias_tuning_section_length=700.0).copy()
c.draw_ports()
c.plot()
(Source code, png, hires.png, pdf)
unterminated_mzm_2x2mmi_cband#
- ltoi300.cells.unterminated_mzm_2x2mmi_cband(modulation_length: float = 5000.0, rf_gap: float = 5.5, rf_central_conductor_width: float = 16.0, gsg_pitch: float = 100.0, length_imbalance: float = 100.0, bias_tuning_section_length: float = 700.0) Component[source]#
Returns an unterminated MZM with 2x2 MMI splitter with effective index matching for C-band operation.
- Parameters:
modulation_length – length of the EO modulation section.
rf_gap – gap between the RF ground planes and the RF central conductor.
rf_central_conductor_width – width of the RF central conductor.
gsg_pitch – pitch of the GSGs contact pads.
length_imbalance – length difference between the MZ branches for spectral bias tuning. If 0, MZ is balanced.
bias_tuning_section_length – length of the heater bias tuning section. If 0, the heater is disabled.
import ltoi300
c = ltoi300.cells.unterminated_mzm_2x2mmi_cband(modulation_length=5000.0, rf_gap=5.5, rf_central_conductor_width=16.0, gsg_pitch=100.0, length_imbalance=100.0, bias_tuning_section_length=700.0).copy()
c.draw_ports()
c.plot()
(Source code, png, hires.png, pdf)
unterminated_mzm_2x2mmi_oband#
- ltoi300.cells.unterminated_mzm_2x2mmi_oband(modulation_length: float = 5000.0, rf_gap: float = 5.5, rf_central_conductor_width: float = 20.0, gsg_pitch: float = 100.0, length_imbalance: float = 100.0, bias_tuning_section_length: float = 700.0) Component[source]#
Returns an unterminated MZM with 2x2 MMI splitter with effective index matching for O-band operation.
- Parameters:
modulation_length – length of the EO modulation section.
rf_gap – gap between the RF ground planes and the RF central conductor.
rf_central_conductor_width – width of the RF central conductor.
gsg_pitch – pitch of the GSGs contact pads.
length_imbalance – length difference between the MZ branches for spectral bias tuning. If 0, MZ is balanced.
bias_tuning_section_length – length of the heater bias tuning section. If 0, the heater is disabled.
import ltoi300
c = ltoi300.cells.unterminated_mzm_2x2mmi_oband(modulation_length=5000.0, rf_gap=5.5, rf_central_conductor_width=20.0, gsg_pitch=100.0, length_imbalance=100.0, bias_tuning_section_length=700.0).copy()
c.draw_ports()
c.plot()
(Source code, png, hires.png, pdf)