Inst
- class ipkiss3.all.Inst
creates one or multiple instances of a given reference PCell/LayoutView. By passing a string or a list of strings as name, the corresponding instances are created.
- Parameters:
- name: str or list[Str]
The name or names for the to be created instances
- reference: LayoutView or PCell
The LayoutView or PCell of which the instances shall be created
- flatten: Boolean
default=False if True, it will insert the references elements on export, rather than the reference itself
Examples
import si_fab.all as pdk import ipkiss3.all as i3 class MyCircuit(i3.Circuit): def _default_specs(self): return [ i3.Inst(["gc_in1", "gc_in2", "gc_out"], pdk.GratingCoupler()), i3.Inst("mmi", pdk.MMI1x2()), i3.Place("gc_in1", (0, 30)), i3.Place("gc_in2", (0, -30)), i3.Place("gc_out@CW", (100, 0), angle=180), i3.Place.X("mmi", 50, relative_to="gc_in1@E"), i3.Place.Y("mmi", 0, relative_to="gc_out:out"), i3.Place.Angle("mmi", 180), i3.ConnectBend([("gc_in1:out", "mmi:out1"), ("gc_in2:out", "mmi:out2"), ("mmi:in1", "gc_out:out")]), ] MyCircuit().Layout().visualize()