def vfab():
    from ipkiss.plugins.vfabrication.process_flow import VFabricationProcessFlow
    from pysics.basics.material.material import Material, MaterialFactory
    from pysics.basics.material.material_stack import MaterialStackFactory, MaterialStack
    from ipkiss.visualisation.display_style import DisplayStyle
    from ipkiss.visualisation.color import COLOR_BLUE, COLOR_RED
    wg_layer = clad_layer - core_layer

    silicon = Material(name="silicon", epsilon=3.5 ** 2, display_style=DisplayStyle(color=COLOR_BLUE))
    oxide = Material(name="silicon oxide", epsilon=1.5 ** 2, display_style=DisplayStyle(color=COLOR_RED))

    silicon = MaterialStack(name="silicon",
                            materials_heights=[
                                (oxide, 0.5),
                                (silicon, 0.2),
                                (oxide, 0.5)
                            ])

    oxide = MaterialStack(name="oxide",
                          materials_heights=[
                              (oxide, 0.5),
                              (oxide, 0.2),
                              (oxide, 0.5)
                          ])

    vfab_process = VFabricationProcessFlow(active_processes=[wg_process],
                                           process_layer_map={wg_process: wg_layer},
                                           process_to_material_stack_map= # (wg_process, )
                                           [((0,), silicon),
                                            ((1,), oxide),
                                           ],
                                           is_lf_fabrication={wg_process: False}
                                          )
    return vfab_process
예제 #2
0
파일: agnostic.py 프로젝트: joamatab/ipkiss
TECH.MATERIALS.SILICON = Material(name="silicon",
                                  display_style=DisplayStyle(color=COLOR_CYAN))
TECH.MATERIALS.SILICON_OXIDE = Material(
    name="silicon oxide", display_style=DisplayStyle(color=COLOR_BLUE))
TECH.MATERIALS.GERMANIUM = Material(
    name="germanium", display_style=DisplayStyle(color=COLOR_DARK_GREEN))

from pysics.basics.material.material_stack import MaterialStack, MaterialStackFactory

TECH.MATERIAL_STACKS = MaterialStackFactory()

MSTACK_SOI_SILICON_OXIDE_HEIGHT = 0.500

TECH.MATERIAL_STACKS.MSTACK_SOI_AIR = MaterialStack(
    name="Air",
    materials_heights=[(TECH.MATERIALS.SILICON_OXIDE,
                        MSTACK_SOI_SILICON_OXIDE_HEIGHT),
                       (TECH.MATERIALS.AIR, 0.380)],
    display_style=DisplayStyle(color=COLOR_BLUE))

TECH.MATERIAL_STACKS.MSTACK_SOI_SI_80nm = MaterialStack(
    name="80nm Si",
    materials_heights=[(TECH.MATERIALS.SILICON_OXIDE,
                        MSTACK_SOI_SILICON_OXIDE_HEIGHT),
                       (TECH.MATERIALS.SILICON, 0.080),
                       (TECH.MATERIALS.AIR, 0.300)],
    display_style=DisplayStyle(color=COLOR_GREEN))

TECH.MATERIAL_STACKS.MSTACK_SOI_SI_150nm = MaterialStack(
    name="150nm Si",
    materials_heights=[(TECH.MATERIALS.SILICON_OXIDE,
                        MSTACK_SOI_SILICON_OXIDE_HEIGHT),
예제 #3
0
# Thicknesses of the differents layers

MSTACK_ONO_SILICON_OXIDE_HEIGHT = 3.2
MSTACK_ONO_MSN_HEIGHT = 0.44
MSTACK_ONO_RIB_HEIGHT = 0.22
MSTACK_SILICIDE_HEIGHT = 0.05
MSTACK_CON_HEIGHT = 0.5 - (MSTACK_ONO_MSN_HEIGHT - MSTACK_ONO_RIB_HEIGHT
                           )  # always have 0.5 contact thickness in total
MSTACK_M1_HEIGHT = 0.5
MSTACK_IMD12_HEIGHT = 1.0
MSTACK_M2_HEIGHT = 0.5

# Material stacks in the MSN layer
TECH.MATERIAL_STACKS.MSTACK_ONO_INVALID = MaterialStack(
    name="INVALID",
    materials_heights=[(TECH.MATERIALS.AIR, MSTACK_ONO_SILICON_OXIDE_HEIGHT),
                       (TECH.MATERIALS.AIR, MSTACK_ONO_MSN_HEIGHT)],
    display_style=DisplayStyle(color=color.COLOR_WHITE))

TECH.MATERIAL_STACKS.MSTACK_ONO_OX = MaterialStack(
    name="Oxide",
    materials_heights=[(TECH.MATERIALS.SILICON_OXIDE,
                        MSTACK_ONO_SILICON_OXIDE_HEIGHT),
                       (TECH.MATERIALS.SILICON_OXIDE, MSTACK_ONO_MSN_HEIGHT)],
    display_style=DisplayStyle(color=COLOR_BABY_BLUE))

TECH.MATERIAL_STACKS.MSTACK_ONO_MSN = MaterialStack(
    name="{}nm MSN".format(int(MSTACK_ONO_MSN_HEIGHT * 1000)),
    materials_heights=[(TECH.MATERIALS.SILICON_OXIDE,
                        MSTACK_ONO_SILICON_OXIDE_HEIGHT),
                       (TECH.MATERIALS.MSN, MSTACK_ONO_MSN_HEIGHT)],
예제 #4
0
MSTACK_SOI_SKT_THICKNESS = 0.061
MSTACK_GATEOX_THICKNESS = 0.005
MSTACK_POLY_THICKNESS = 0.160
MSTACK_SOI_POLY_THICKNESS = MSTACK_SOI_THICKNESS + MSTACK_GATEOX_THICKNESS + MSTACK_POLY_THICKNESS
MSTACK_PMD_THICKNESS = 1.0
MSTACK_SAL_THICKNESS = 0.05
MSTACK_D_LINER = 0.390
MSTACK_LINER_THICKNESS = 0.050
MSTACK_M1_THICKNESS = 0.500
MSTACK_IMD_THICKNESS = 0.500
MSTACK_M2_THICKNESS = 0.700

# material stacks FEOL (SOI+poly)
TECH.MATERIAL_STACKS.MSTACK_STI_OX = MaterialStack(
    name="374nm STI Oxide",
    materials_heights=[(TECH.MATERIALS.SILICON_OXIDE, MSTACK_BOX_THICKNESS),
                       (TECH.MATERIALS.SILICON_OXIDE, MSTACK_SOI_THICKNESS)],
    display_style=DisplayStyle(color=COLOR_BABY_BLUE))

TECH.MATERIAL_STACKS.MSTACK_SOI_SKT = MaterialStack(
    name="61nm SOI",
    materials_heights=[(TECH.MATERIALS.SILICON_OXIDE, MSTACK_BOX_THICKNESS),
                       (TECH.MATERIALS.SILICON, MSTACK_SOI_SKT_THICKNESS),
                       (TECH.MATERIALS.SILICON_OXIDE,
                        MSTACK_SOI_THICKNESS - MSTACK_SOI_SKT_THICKNESS)],
    display_style=DisplayStyle(color=COLOR_LIGHT_UGLY_PINK))

TECH.MATERIAL_STACKS.MSTACK_SOI_FC = MaterialStack(
    name="144nm SOI",
    materials_heights=[(TECH.MATERIALS.SILICON_OXIDE, MSTACK_BOX_THICKNESS),
                       (TECH.MATERIALS.SILICON, MSTACK_SOI_FC_THICKNESS),
예제 #5
0
TECH.MATERIALS.SILICON = Material(name="silicon",
                                  display_style=DisplayStyle(color=COLOR_CYAN))
TECH.MATERIALS.SILICON_OXIDE = Material(
    name="silicon oxide", display_style=DisplayStyle(color=COLOR_BLUE))
TECH.MATERIALS.GERMANIUM = Material(
    name="germanium", display_style=DisplayStyle(color=COLOR_DARK_GREEN))

from pysics.basics.material.material_stack import MaterialStack, MaterialStackFactory

TECH.MATERIAL_STACKS = MaterialStackFactory()

MSTACK_SOI_SILICON_OXIDE_HEIGHT = 0.700

TECH.MATERIAL_STACKS.MSTACK_SOI_AIR = MaterialStack(
    name="Air",
    materials_heights=[(TECH.MATERIALS.SILICON_OXIDE,
                        MSTACK_SOI_SILICON_OXIDE_HEIGHT),
                       (TECH.MATERIALS.AIR, 0.220)],
    display_style=DisplayStyle(color=COLOR_BLUE))

TECH.MATERIAL_STACKS.MSTACK_SOI_SI_80nm = MaterialStack(
    name="80nm Si",
    materials_heights=[(TECH.MATERIALS.SILICON_OXIDE,
                        MSTACK_SOI_SILICON_OXIDE_HEIGHT),
                       (TECH.MATERIALS.SILICON, 0.080),
                       (TECH.MATERIALS.AIR, 0.300 - 0.160)],
    display_style=DisplayStyle(color=COLOR_GREEN))

TECH.MATERIAL_STACKS.MSTACK_SOI_SI_150nm = MaterialStack(
    name="150nm Si",
    materials_heights=[(TECH.MATERIALS.SILICON_OXIDE,
                        MSTACK_SOI_SILICON_OXIDE_HEIGHT),