DoubleSpiralWithInCouplingRounded
- class picazzo3.wg.spirals.cell.DoubleSpiralWithInCouplingRounded
Rounded double spiral class with both access waveguides on the outside of the spiral. In coupling waveguides are added to the spiral, one at the east side and one at the west side. The trace template provided in the property
trace_template
is used to build a chain of waveguides. All the rounding properties can be set at the layout level.- Parameters:
- n_o_loops: int and number > 0
Number of loops in the spiral
- trace_template: PCell and _TraceTemplate
Trace template used in the chain.
- name: String that contains only ISO/IEC 8859-1 (extended ASCII py3) or pure ASCII (py2) characters
The unique name of the pcell
- Other Parameters:
- n_o_traces: int and number > 0, locked
Total number of traces used in the spiral.
- traces: List with type restriction, allowed types: <class ‘ipkiss3.pcell.cell.pcell.PCell’>, locked
Views
- class Layout
- Parameters:
- incoupling_length: float and Real, number and number >= 0
length of the incoupling section.
- shapes: list
List of shapes used to build the traces
- flatten: ( bool, bool_ or int )
If true the instances are flattened
- spacing: float and Real, number and number >= 0
spacing between the individual loops.
- stub_direction: List with value restriction, allowed values: [‘H’, ‘V’]
- inner_size: Coord2 and number >= 0
Inner size of the the spiral, defaults to 3 * spacing + 2 * bend_radius, in each direction
- 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
- manhattan: ( bool, bool_ or int )
Adds rectangular blocks in the bends to avoid as much as possible non-manhattan angles.
- angle_step: float and number > 0
Angle step for rounding.
- rounding_algorithm:
Rounding algorithm used to generate the bends. Can be circular, spline, ….
- bend_radius: float and number > 0
Bend radius for the auto-generated bends.
- Other Parameters:
- auto_transform: locked
- spiral_center: locked
Examples
import si_fab.all as pdk # noqa: F401 from picazzo3.wg.spirals import DoubleSpiralWithInCouplingRounded from ipkiss3 import all as i3 cell = DoubleSpiralWithInCouplingRounded(n_o_loops=3, trace_template=i3.TECH.PCELLS.WG.DEFAULT) layout = cell.Layout( inner_size=(30.0, 30.0), incoupling_length=10.0, bend_radius=3.0, manhattan=False, spacing=5.0 ) layout.visualize(annotate=True)