def _default_DC_list(self): MMI22_list = [] dc1_15 = my_dc(gap_inc_vec2=[120.0, 120.0, 120.0], name="ring1") dc2_15 = my_dc(gap_inc_vec2=[120.0, 120.0, 120.0], name="ring2") MMI22_list.append(dc1_15) MMI22_list.append(dc2_15) dc1_20 = my_dc(gap_inc_vec2=[110.0, 120.0, 130.0], name="ring3", width=10, cleave=250) dc2_20 = my_dc(gap_inc_vec2=[110.0, 120.0, 130.0], name="ring4", width=10, cleave=250) recess0 = NP_mmi12(pillar=True, pocket=False, tilt=False, width=133.0, length=210) recess1 = NP_mmi12(pillar=True, pocket=False, tilt=False, width=133.0, length=210) recess2 = NP_mmi12(pillar=True, pocket=False, tilt=False) recess3 = NP_mmi12(pillar=True, pocket=False, tilt=False) recess4 = NP_mmi12(pillar=True, pocket=True, tilt=False) recess5 = NP_mmi12(pillar=True, pocket=True, tilt=False) recess6 = NP_mmi12(pillar=True, pocket=False, tilt=False) recess7 = NP_mmi12(pillar=True, pocket=False, tilt=False) recess8 = NP_mmi12(pillar=True, pocket=False, tilt=False) recess9 = NP_mmi12(pillar=True, pocket=False, tilt=False) recess10 = NP_mmi12(pillar=True, pocket=False, tilt=False) recess11 = NP_mmi12(pillar=True, pocket=True, tilt=True) recess12 = NP_mmi12(pillar=True, pocket=True, tilt=True) recess13 = NP_mmi12(pillar=True, pocket=True, tilt=False) recess14 = NP_mmi12(pillar=True, pocket=False, tilt=False, width=133.0, length=210, double=False) recess15 = NP_mmi12(pillar=True, pocket=False, tilt=False, width=133.0, length=210, double=False) recess16 = NP_mmi12(pillar=True, pocket=False, tilt=False, double=False) recess17 = NP_mmi12(pillar=True, pocket=False, tilt=False, double=False) recess18 = NP_mmi12(pillar=True, pocket=True, tilt=False, double=False) recess19 = NP_mmi12(pillar=True, pocket=True, tilt=False, double=False) recess20 = NP_mmi12(pillar=True, pocket=False, tilt=False, double=False) recess21 = NP_mmi12(pillar=True, pocket=False, tilt=False, double=False) recess22 = NP_mmi12(pillar=True, pocket=False, tilt=False, double=False) recess23 = NP_mmi12(pillar=True, pocket=False, tilt=False, double=False) recess24 = NP_mmi12(pillar=True, pocket=False, tilt=False, double=False) recess25 = NP_mmi12(pillar=True, pocket=True, tilt=True, double=False) recess26 = NP_mmi12(pillar=True, pocket=True, tilt=True, double=False) recess27 = NP_mmi12(pillar=True, pocket=True, tilt=False, double=False) for i in range(0, 28, 1): print(i) _inst = locals()['recess{}'.format(i)] MMI22_list.append(_inst) MMI22_list.append(dc1_20) MMI22_list.append(dc2_20) # # Al0 = AL_NP(offset=5) Al1 = AL_NP(offset=5) Al2 = AL_NP() Al3 = AL_NP() Al4 = AL_NP() Al5 = AL_NP() Al6 = AL_NP() Al7 = AL_NP() Al8 = AL_NP() Al9 = AL_NP() Al10 = AL_NP() Al11 = AL_NP() Al12 = AL_NP() Al13 = AL_NP() Al14 = AL_NP(offset=5) Al15 = AL_NP(offset=5) Al16 = AL_NP() Al17 = AL_NP() Al18 = AL_NP() Al19 = AL_NP() Al20 = AL_NP() Al21 = AL_NP() Al22 = AL_NP() Al23 = AL_NP() Al24 = AL_NP() Al25 = AL_NP() Al26 = AL_NP() Al27 = AL_NP() for i in range(0, 28, 1): print(i) _inst = locals()['Al{}'.format(i)] MMI22_list.append(_inst) SiN0 = SiN_NP(width=92, length=210) SiN1 = SiN_NP(width=92, length=210) SiN2 = SiN_NP() SiN3 = SiN_NP() SiN4 = SiN_NP() SiN5 = SiN_NP() SiN6 = SiN_NP() SiN7 = SiN_NP() SiN8 = SiN_NP() SiN9 = SiN_NP() SiN10 = SiN_NP() SiN11 = SiN_NP(tilt=15) SiN12 = SiN_NP(tilt=15) SiN13 = SiN_NP() SiN14 = SiN_NP(width=92, length=210, double=False) SiN15 = SiN_NP(width=92, length=210, double=False) SiN16 = SiN_NP(double=False) SiN17= SiN_NP(double=False) SiN18= SiN_NP(double=False) SiN19= SiN_NP(double=False) SiN20= SiN_NP(double=False) SiN21= SiN_NP(double=False) SiN22= SiN_NP(double=False) SiN23= SiN_NP(double=False) SiN24 = SiN_NP(double=False) SiN25 = SiN_NP(double=False, tilt=15) SiN26 = SiN_NP(double=False, tilt=15) SiN27 = SiN_NP(double=False) for i in range(0, 28, 1): print(i) _inst = locals()['SiN{}'.format(i)] MMI22_list.append(_inst) return MMI22_list
mmi_slots = mmi_slots_cell() # a = mmi_slots.Layout() # a.write_gdsii("importtest.gds") # mmi_ribs = mmi_ribs_cell() # small_core = small_core_cell() # rib_bundle = rib_bundle_cell() # slot_bundle = slot_bundle_cell() # spiral_06 = spiral_06_cell() # spiral_07 = spiral_07_cell() # spiral_slot_150 = spiral_slot_150_cell() # spiral_slot_200 = spiral_slot_200_cell() from picazzo3.routing.place_route import PlaceAndAutoRoute dc_10 = my_dc(gap_inc_vec=[390, 398, 406], name="ring1") dc_10_layout = dc_10.Layout() dc_15 = my_dc(gap_inc_vec=[390, 398, 406], name="ring2") dc_15_layout = dc_15.Layout() pr = PlaceAndAutoRoute(child_cells={"mmi1": mmi_slots, "dc1": dc_10, "dc2": dc_15, }, links=[]) layout = pr.Layout(child_transformations={"mmi1": i3.Rotation(rotation=90) - i3.Translation((15000, 0)), "dc1": (0, 0), "dc2": i3.HMirror(2500) - i3.Translation((5000, 0)),
def _default_DC_list(self): MMI22_list = [] dc_10 = my_dc(gap_inc_vec2=[110.0, 110.0, 110], name="ring1") # dc_10_layout = dc_10.Layout() # dc_10_layout.visualize(annotate=True) # dc_10_layout.write_gdsii("DC_V4.gds") # dc_15 = my_dc(gap_inc_vec2=[110.0, 110.0, 110], name="ring2") MMI22_list.append(dc_10) MMI22_list.append(dc_15) recess0 = NP(width=338, pocket=True, tilt=True) recess1 = NP(pillar=True) recess2 = NP_mmi12(width=330, pillar=True, pocket=False, tilt=False) recess3 = NP_mmi12(width=330, pillar=True, pocket=False, tilt=False) recess4 = NP_mmi12(width=330, pillar=True, pocket=True, tilt=False) recess5 = NP_mmi12(width=330, pillar=True, pocket=True, tilt=False) recess6 = NP_mmi12(width=330, pillar=True, pocket=True, tilt=True) recess7 = NP_mmi12(width=330, pillar=True, pocket=True, tilt=True) recess8 = NP(width=338, pillar=True, pocket=False, tilt=False) recess9 = NP(width=338, pillar=True, pocket=True, tilt=False) recess10 = NP_mmi12(width=338, pillar=True, pocket=False, tilt=False) recess11 = NP_mmi12(width=338, pillar=True, pocket=False, tilt=False) recess12 = NP_mmi12(width=338, pillar=True, pocket=True, tilt=False) recess13 = NP_mmi12(width=338, pillar=True, pocket=True, tilt=False) recess14 = NP_mmi12(width=338, pillar=True, pocket=True, tilt=True) recess15 = NP_mmi12(width=338, pillar=True, pocket=True, tilt=True) for i in range(0, 16, 1): print(i) _inst = locals()['recess{}'.format(i)] MMI22_list.append(_inst) # # # Al0 = AL_NP(width=338) # Al1 = AL_NP(width=338) # Al2 = AL_NP(width=338) # Al3 = AL_NP(pillar=True) # Al4 = AL_NP(pillar=True) # Al5 = AL_NP(pillar=True) # Al6 = AL_NP() # Al7 = AL_NP() # Al8 = AL_NP(width=338, pillar=True) # Al9 = AL_NP(width=338, pillar=True) # Al10 = AL_PI() # Al11 = AL_PI() # # for i in range(0, 12, 1): # print(i) # _inst = locals()['Al{}'.format(i)] # MMI22_list.append(_inst) # SiN0 = SiN_NP(width=338) # SiN1 = SiN_NP(width=338) # SiN2 = SiN_NP(width=338, tilt_0=True) # SiN3 = SiN_NP(pillar=True) # SiN4 = SiN_NP(pillar=True) # SiN5 = SiN_NP(pillar=True, tilt_0=True) # SiN6 = SiN_NP() # SiN7 = SiN_NP() # SiN8 = SiN_NP(width=338, pillar=True) # SiN9 = SiN_NP(width=338, pillar=True) # SiN10 = SiN_PI() # SiN11 = SiN_PI() # for i in range(0, 12, 1): # print(i) # _inst = locals()['SiN{}'.format(i)] # MMI22_list.append(_inst) return MMI22_list
def _default_DC_list(self): MMI22_list = [] dc_10 = my_dc(gap_inc_vec=[390, 398, 406], name="ring1") # dc_10_layout = dc_10.Layout() # dc_10_layout.visualize(annotate=True) # dc_10_layout.write_gdsii("DC_V4.gds") # dc_15 = my_dc(gap_inc_vec=[390, 398, 406], name="ring2") MMI22_list.append(dc_10) MMI22_list.append(dc_15) recess0 = NP(width=338) recess1 = NP(width=338, pocket=True, tilt=False) recess2 = NP(width=338, pocket=True, tilt=True) recess3 = NP(pillar=True) recess4 = NP(pillar=True, pocket=True, tilt=False) recess5 = NP(pillar=True, pocket=True, tilt=True) recess6 = NP() recess7 = NP(pocket=True, tilt=False) recess8 = NP(width=338, pillar=True, pocket=False, tilt=False) recess9 = NP(width=338, pillar=True, pocket=True, tilt=False) recess10 = PI(pocket=False, tilt=False) recess11 = PI(pocket=True, tilt=False) for i in range(0, 12, 1): print(i) _inst = locals()['recess{}'.format(i)] MMI22_list.append(_inst) # MMI22_list.append(recess0) # MMI22_list.append(recess1) # MMI22_list.append(recess2) # MMI22_list.append(recess3) # MMI22_list.append(recess4) # MMI22_list.append(recess5) # MMI22_list.append(recess6) # MMI22_list.append(recess7) # MMI22_list.append(recess8) # MMI22_list.append(recess9) # MMI22_list.append(recess10) # MMI22_list.append(recess11) Al0 = AL_NP(width=338) Al1 = AL_NP(width=338) Al2 = AL_NP(width=338) Al3 = AL_NP(pillar=True) Al4 = AL_NP(pillar=True) Al5 = AL_NP(pillar=True) Al6 = AL_NP() Al7 = AL_NP() Al8 = AL_NP(width=338, pillar=True) Al9 = AL_NP(width=338, pillar=True) Al10 = AL_PI() Al11 = AL_PI() # _ = [Al0, Al1, Al2, Al3, Al4, Al5, Al6, Al7, Al8, Al9, Al10, Al11] # # for i in range(0,12,1): # # _[i].append(i) # MMI22_list.append(_[i]) for i in range(0, 12, 1): print(i) _inst = locals()['Al{}'.format(i)] MMI22_list.append(_inst) SiN0 = SiN_NP(width=338) SiN1 = SiN_NP(width=338) SiN2 = SiN_NP(width=338, tilt_0=True) SiN3 = SiN_NP(pillar=True) SiN4 = SiN_NP(pillar=True) SiN5 = SiN_NP(pillar=True, tilt_0=True) SiN6 = SiN_NP() SiN7 = SiN_NP() SiN8 = SiN_NP(width=338, pillar=True) SiN9 = SiN_NP(width=338, pillar=True) SiN10 = SiN_PI() SiN11 = SiN_PI() for i in range(0, 12, 1): print(i) _inst = locals()['SiN{}'.format(i)] MMI22_list.append(_inst) return MMI22_list