示例#1
0
    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
示例#2
0
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)),
示例#3
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
示例#4
0
    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