├── .gitignore ├── .gitmodules ├── README.md ├── cmos_nutshell ├── Makefile ├── cmos_nutshell.pdf ├── cmos_nutshell.tex └── introduction_graphics │ ├── cmos.tex │ ├── nmos.tex │ └── pmos.tex ├── global_color_scheme.tex ├── magic ├── T6_INV.ls1u.mag ├── T6_INV.mosis.mag ├── generate_tech.py ├── ls1u.tech ├── ls1u.xml └── mosis2libresilicon.sh ├── nmos_threshold.wxmx ├── process_abstract.tex ├── process_chemistry ├── chemistry_etching.tex ├── chemistry_growing.tex ├── process_chemistry.pdf └── process_chemistry.tex ├── process_datasheet └── hightech │ ├── Makefile │ ├── datasheet.pdf │ ├── datasheet.tex │ ├── global_color_scheme.tex │ ├── img │ ├── LSA-lightblue.png │ └── LSA-lightblue.svg │ └── tikz │ ├── consts.tex │ ├── mosfets.tex │ └── sonos.tex ├── process_design ├── Makefile ├── cmos_3v3.png ├── junction_dimensioning1.png ├── logic_levels.png ├── n-well-diffusion.png ├── p-well-diffusion.png ├── process_design.pdf ├── process_design.tex ├── process_design_alignment.tex ├── process_design_gate_post.tex ├── process_design_gate_pre.tex ├── process_design_interconnect.tex ├── process_design_isolation.tex ├── process_design_junctions.tex ├── process_design_nmos.tex ├── process_design_overview.tex ├── process_design_pmos.tex ├── process_design_requirements.tex ├── process_design_substrate.tex ├── simulation.tex └── subthreshold_leagage.png ├── process_design_graphics ├── circuit_AND4.tex ├── circuit_OR4.tex ├── schematic_AND4.tex └── schematic_OR4.tex ├── process_design_rules ├── process_design_rules.pdf └── process_design_rules.tex ├── process_implementations ├── generic │ └── compact.tex └── hkust │ ├── Makefile │ ├── README.md │ ├── apple.png │ ├── cleanliness_levels.yaml │ ├── equipment.yaml │ ├── global_color_scheme.tex │ ├── process.tex │ ├── process_abstract.tex │ ├── repetitive_steps.yaml │ ├── steps_dry.pdf │ ├── steps_dry.yaml │ ├── steps_wet.pdf │ ├── steps_wet.yaml │ ├── tables_generator.py │ └── tikz_process_steps ├── process_steps ├── Makefile ├── README.md ├── process_hightech │ ├── Makefile │ ├── global_color_scheme.tex │ ├── process_abstract.tex │ ├── process_hightech_contact.tex │ ├── process_hightech_fox.tex │ ├── process_hightech_gate.tex │ ├── process_hightech_glass.tex │ ├── process_hightech_interconnect.tex │ ├── process_hightech_junctions.tex │ ├── process_hightech_metal1.tex │ ├── process_hightech_metal2.tex │ ├── process_hightech_metal3.tex │ ├── process_hightech_nbase.tex │ ├── process_hightech_nimplant.tex │ ├── process_hightech_nwell.tex │ ├── process_hightech_overview.tex │ ├── process_hightech_pbase.tex │ ├── process_hightech_pimplant.tex │ ├── process_hightech_pwell.tex │ ├── process_hightech_shallow_trench_isolation.tex │ ├── process_hightech_silicification.tex │ ├── process_hightech_sonos.tex │ ├── process_hightech_steps.pdf │ ├── process_hightech_steps.tex │ ├── process_hightech_tripple_well.tex │ ├── process_hightech_via1.tex │ ├── process_hightech_via2.tex │ └── tikz_process_steps │ │ ├── basic.a.tex │ │ ├── contact.a.tex │ │ ├── contact.b.tex │ │ ├── contact.cleaning.a.tex │ │ ├── contact.cleaning.b.tex │ │ ├── contact.etching.a.tex │ │ ├── contact.etching.at.tex │ │ ├── contact.etching.b.tex │ │ ├── contact.etching.bt.tex │ │ ├── contact.layout.tex │ │ ├── contact.oxide_growth.a.tex │ │ ├── contact.oxide_growth.b.tex │ │ ├── contact.oxide_growth.c.tex │ │ ├── contact.patterning.a.tex │ │ ├── contact.patterning.at.tex │ │ ├── contact.patterning.b.tex │ │ ├── contact.patterning.bt.tex │ │ ├── contsts.tex │ │ ├── fox.a.tex │ │ ├── fox.b.tex │ │ ├── fox.etching.a.tex │ │ ├── fox.etching.b.tex │ │ ├── fox.oxide_growth.a.tex │ │ ├── fox.oxide_growth.b.tex │ │ ├── fox.patterning.a.tex │ │ ├── fox.patterning.b.tex │ │ ├── fox.resist_removal.a.tex │ │ ├── fox.resist_removal.b.tex │ │ ├── gate.a.tex │ │ ├── gate.b.tex │ │ ├── gate.cleaning.a.tex │ │ ├── gate.cleaning.at.tex │ │ ├── gate.cleaning.b.tex │ │ ├── gate.cleaning.bt.tex │ │ ├── gate.etching.a.tex │ │ ├── gate.etching.at.tex │ │ ├── gate.etching.b.tex │ │ ├── gate.etching.bt.tex │ │ ├── gate.gate_oxid_depositon.a.tex │ │ ├── gate.gate_oxid_depositon.b.tex │ │ ├── gate.layout.tex │ │ ├── gate.patterning.a.tex │ │ ├── gate.patterning.at.tex │ │ ├── gate.patterning.b.tex │ │ ├── gate.patterning.bt.tex │ │ ├── gate.polysilicon_deposition.a.tex │ │ ├── gate.polysilicon_deposition.b.tex │ │ ├── glass.a.tex │ │ ├── implantstop.a.tex │ │ ├── metal.cleaning.a.tex │ │ ├── metal.cleaning.b.tex │ │ ├── metal.etching.a.tex │ │ ├── metal.etching.at.tex │ │ ├── metal.etching.b.tex │ │ ├── metal.etching.bt.tex │ │ ├── metal.layout.tex │ │ ├── metal.metal_deposition.a.tex │ │ ├── metal.metal_deposition.b.tex │ │ ├── metal.patterning.a.tex │ │ ├── metal.patterning.at.tex │ │ ├── metal.patterning.b.tex │ │ ├── metal.patterning.bt.tex │ │ ├── metal1.tex │ │ ├── metal2.a.tex │ │ ├── metal2.b.tex │ │ ├── metal2.cleaning.a.tex │ │ ├── metal2.cleaning.b.tex │ │ ├── metal2.etching.a.tex │ │ ├── metal2.etching.at.tex │ │ ├── metal2.etching.b.tex │ │ ├── metal2.etching.bt.tex │ │ ├── metal2.layout.tex │ │ ├── metal2.metal_deposition.a.tex │ │ ├── metal2.metal_deposition.b.tex │ │ ├── metal2.patterning.a.tex │ │ ├── metal2.patterning.at.tex │ │ ├── metal2.patterning.b.tex │ │ ├── metal2.patterning.bt.tex │ │ ├── metal3.a.tex │ │ ├── metal3.etching.a.tex │ │ ├── metal3.etching.b.tex │ │ ├── metal3.metal_deposition.a.tex │ │ ├── metal3.metal_deposition.b.tex │ │ ├── metal_cap.a.tex │ │ ├── nbase.a.tex │ │ ├── nbase.b.tex │ │ ├── nimplant.a.tex │ │ ├── nimplant.b.tex │ │ ├── nimplant.cleaning.a.tex │ │ ├── nimplant.cleaning.b.tex │ │ ├── nimplant.implantation.a.tex │ │ ├── nimplant.implantation.b.tex │ │ ├── nimplant.layout.tex │ │ ├── nimplant.patterning.a.tex │ │ ├── nimplant.patterning.at.tex │ │ ├── nimplant.patterning.b.tex │ │ ├── nimplant.patterning.bt.tex │ │ ├── nwell.a.tex │ │ ├── nwell.b.tex │ │ ├── nwell.cleaning.a.tex │ │ ├── nwell.cleaning.b.tex │ │ ├── nwell.implantation.a.tex │ │ ├── nwell.implantation.b.tex │ │ ├── nwell.layout.tex │ │ ├── nwell.patterning.a.tex │ │ ├── nwell.patterning.at.tex │ │ ├── nwell.patterning.b.tex │ │ ├── nwell.patterning.bt.tex │ │ ├── paint_functions.tex │ │ ├── pbase.a.tex │ │ ├── pbase.b.tex │ │ ├── pimplant.a.tex │ │ ├── pimplant.b.tex │ │ ├── pimplant.cleaning.a.tex │ │ ├── pimplant.cleaning.b.tex │ │ ├── pimplant.implantation.a.tex │ │ ├── pimplant.implantation.b.tex │ │ ├── pimplant.implantation.c.tex │ │ ├── pimplant.layout.tex │ │ ├── pimplant.patterning.a.tex │ │ ├── pimplant.patterning.at.tex │ │ ├── pimplant.patterning.b.tex │ │ ├── pimplant.patterning.bt.tex │ │ ├── pwell.a.tex │ │ ├── pwell.b.tex │ │ ├── pwell.cleaning.a.tex │ │ ├── pwell.cleaning.b.tex │ │ ├── pwell.implantation.a.tex │ │ ├── pwell.implantation.b.tex │ │ ├── pwell.implantation.c.tex │ │ ├── pwell.patterning.a.tex │ │ ├── pwell.patterning.at.tex │ │ ├── pwell.patterning.b.tex │ │ ├── pwell.patterning.bt.tex │ │ ├── silicification.a.tex │ │ ├── silicification.b.tex │ │ ├── silicification.layout.tex │ │ ├── silicification.metal_deposition.a.tex │ │ ├── silicification.metal_deposition.b.tex │ │ ├── silicification.metal_removal.a.tex │ │ ├── silicification.metal_removal.b.tex │ │ ├── silicification.nitride_deposition.a.tex │ │ ├── silicification.nitride_deposition.b.tex │ │ ├── silicification.rtp1.a.tex │ │ ├── silicification.rtp1.b.tex │ │ ├── silicification.rtp2.a.tex │ │ ├── silicification.rtp2.b.tex │ │ ├── silicification.silicide_block.a.tex │ │ ├── silicification.silicide_block.b.tex │ │ ├── silicification.sputter_etching.a.tex │ │ ├── silicification.sputter_etching.b.tex │ │ ├── sonos.a.tex │ │ ├── sonos.etching.a.tex │ │ ├── sonos.etching.b.tex │ │ ├── sonos.lto1_depositon.a.tex │ │ ├── sonos.lto1_depositon.b.tex │ │ ├── sonos.lto2_depositon.a.tex │ │ ├── sonos.lto2_depositon.b.tex │ │ ├── sonos.nitride_depositon.a.tex │ │ ├── sonos.nitride_depositon.b.tex │ │ ├── sti.a.tex │ │ ├── sti.b.tex │ │ ├── sti.cmp.a.tex │ │ ├── sti.cmp.b.tex │ │ ├── sti.cmp.c.tex │ │ ├── sti.end_stop.a.tex │ │ ├── sti.end_stop.b.tex │ │ ├── sti.layout.tex │ │ ├── sti.liner_oxide.a.tex │ │ ├── sti.liner_oxide.b.tex │ │ ├── sti.lto.a.tex │ │ ├── sti.lto.b.tex │ │ ├── sti.resist_removal.a.tex │ │ ├── sti.silicon_etch.a.tex │ │ ├── sti.silicon_etch.b.tex │ │ ├── tripple_well.layout.tex │ │ ├── via1.a.tex │ │ ├── via1.b.tex │ │ ├── via1.cleaning.a.tex │ │ ├── via1.cleaning.b.tex │ │ ├── via1.etching.a.tex │ │ ├── via1.etching.at.tex │ │ ├── via1.etching.b.tex │ │ ├── via1.etching.bt.tex │ │ ├── via1.layout.tex │ │ ├── via1.oxide_growth.a.tex │ │ ├── via1.oxide_growth.b.tex │ │ ├── via1.patterning.a.tex │ │ ├── via1.patterning.at.tex │ │ ├── via1.patterning.b.tex │ │ ├── via1.patterning.bt.tex │ │ └── via2.a.tex └── process_lowtech │ ├── Makefile │ ├── global_color_scheme.tex │ ├── process_abstract.tex │ ├── process_lowtech_contact.tex │ ├── process_lowtech_fox.tex │ ├── process_lowtech_gate.tex │ ├── process_lowtech_metal.tex │ ├── process_lowtech_more_metal.tex │ ├── process_lowtech_nimplant.tex │ ├── process_lowtech_nwell.tex │ ├── process_lowtech_overview.tex │ ├── process_lowtech_pimplant.tex │ ├── process_lowtech_pwell.tex │ ├── process_lowtech_shallow_trench_isolation.tex │ ├── process_lowtech_silicification.tex │ ├── process_lowtech_steps.pdf │ ├── process_lowtech_steps.tex │ ├── process_lowtech_via.tex │ └── tikz_process_steps │ ├── contact.a.tex │ ├── contact.b.tex │ ├── contact.cleaning.a.tex │ ├── contact.cleaning.b.tex │ ├── contact.etching.a.tex │ ├── contact.etching.at.tex │ ├── contact.etching.b.tex │ ├── contact.etching.bt.tex │ ├── contact.layout.tex │ ├── contact.oxide_growth.a.tex │ ├── contact.oxide_growth.b.tex │ ├── contact.oxide_growth.c.tex │ ├── contact.patterning.a.tex │ ├── contact.patterning.at.tex │ ├── contact.patterning.b.tex │ ├── contact.patterning.bt.tex │ ├── contsts.tex │ ├── fox.a.tex │ ├── fox.b.tex │ ├── fox.etching.a.tex │ ├── fox.etching.b.tex │ ├── fox.oxide_growth.a.tex │ ├── fox.oxide_growth.b.tex │ ├── fox.patterning.a.tex │ ├── fox.patterning.b.tex │ ├── fox.resist_removal.a.tex │ ├── fox.resist_removal.b.tex │ ├── gate.a.tex │ ├── gate.b.tex │ ├── gate.cleaning.a.tex │ ├── gate.cleaning.at.tex │ ├── gate.cleaning.b.tex │ ├── gate.cleaning.bt.tex │ ├── gate.etching.a.tex │ ├── gate.etching.at.tex │ ├── gate.etching.b.tex │ ├── gate.etching.bt.tex │ ├── gate.gate_oxid_depositon.a.tex │ ├── gate.gate_oxid_depositon.b.tex │ ├── gate.layout.tex │ ├── gate.patterning.a.tex │ ├── gate.patterning.at.tex │ ├── gate.patterning.b.tex │ ├── gate.patterning.bt.tex │ ├── gate.polysilicon_deposition.a.tex │ ├── gate.polysilicon_deposition.b.tex │ ├── metal.a.tex │ ├── metal.b.tex │ ├── metal.cleaning.a.tex │ ├── metal.cleaning.b.tex │ ├── metal.etching.a.tex │ ├── metal.etching.at.tex │ ├── metal.etching.b.tex │ ├── metal.etching.bt.tex │ ├── metal.layout.tex │ ├── metal.metal_deposition.a.tex │ ├── metal.metal_deposition.b.tex │ ├── metal.patterning.a.tex │ ├── metal.patterning.at.tex │ ├── metal.patterning.b.tex │ ├── metal.patterning.bt.tex │ ├── more_metal.a.tex │ ├── more_metal.b.tex │ ├── more_metal.cleaning.a.tex │ ├── more_metal.cleaning.b.tex │ ├── more_metal.etching.a.tex │ ├── more_metal.etching.at.tex │ ├── more_metal.etching.b.tex │ ├── more_metal.etching.bt.tex │ ├── more_metal.layout.tex │ ├── more_metal.metal_deposition.a.tex │ ├── more_metal.metal_deposition.b.tex │ ├── more_metal.patterning.a.tex │ ├── more_metal.patterning.at.tex │ ├── more_metal.patterning.b.tex │ ├── more_metal.patterning.bt.tex │ ├── nimplant.a.tex │ ├── nimplant.b.tex │ ├── nimplant.cleaning.a.tex │ ├── nimplant.cleaning.b.tex │ ├── nimplant.doping.a.tex │ ├── nimplant.doping.b.tex │ ├── nimplant.doping.c.tex │ ├── nimplant.etching.a.tex │ ├── nimplant.etching.at.tex │ ├── nimplant.etching.b.tex │ ├── nimplant.etching.bt.tex │ ├── nimplant.implantation.a.tex │ ├── nimplant.implantation.b.tex │ ├── nimplant.implantation.c.tex │ ├── nimplant.layout.tex │ ├── nimplant.oxide_growth.a.tex │ ├── nimplant.oxide_growth.b.tex │ ├── nimplant.oxide_removal.a.tex │ ├── nimplant.oxide_removal.b.tex │ ├── nimplant.patterning.a.tex │ ├── nimplant.patterning.at.tex │ ├── nimplant.patterning.b.tex │ ├── nimplant.patterning.bt.tex │ ├── nwell.a.tex │ ├── nwell.b.tex │ ├── nwell.cleaning.a.tex │ ├── nwell.cleaning.b.tex │ ├── nwell.doping.a.tex │ ├── nwell.doping.b.tex │ ├── nwell.doping.c.tex │ ├── nwell.etching.a.tex │ ├── nwell.etching.at.tex │ ├── nwell.etching.b.tex │ ├── nwell.etching.bt.tex │ ├── nwell.implantation.a.tex │ ├── nwell.implantation.b.tex │ ├── nwell.implantation.c.tex │ ├── nwell.layout.tex │ ├── nwell.mask_dioxide_layer.a.tex │ ├── nwell.mask_dioxide_layer.b.tex │ ├── nwell.oxide_mask_removal.a.tex │ ├── nwell.oxide_mask_removal.b.tex │ ├── nwell.patterning.a.tex │ ├── nwell.patterning.at.tex │ ├── nwell.patterning.b.tex │ ├── nwell.patterning.bt.tex │ ├── pimplant.a.tex │ ├── pimplant.b.tex │ ├── pimplant.cleaning.a.tex │ ├── pimplant.cleaning.b.tex │ ├── pimplant.doping.a.tex │ ├── pimplant.doping.b.tex │ ├── pimplant.doping.c.tex │ ├── pimplant.etching.a.tex │ ├── pimplant.etching.at.tex │ ├── pimplant.etching.b.tex │ ├── pimplant.etching.bt.tex │ ├── pimplant.implantation.a.tex │ ├── pimplant.implantation.b.tex │ ├── pimplant.implantation.c.tex │ ├── pimplant.layout.tex │ ├── pimplant.oxide_growth.a.tex │ ├── pimplant.oxide_growth.b.tex │ ├── pimplant.oxide_removal.a.tex │ ├── pimplant.oxide_removal.b.tex │ ├── pimplant.patterning.a.tex │ ├── pimplant.patterning.at.tex │ ├── pimplant.patterning.b.tex │ ├── pimplant.patterning.bt.tex │ ├── pwell.a.tex │ ├── pwell.b.tex │ ├── pwell.cleaning.a.tex │ ├── pwell.cleaning.b.tex │ ├── pwell.doping.a.tex │ ├── pwell.doping.b.tex │ ├── pwell.doping.c.tex │ ├── pwell.etching.a.tex │ ├── pwell.etching.at.tex │ ├── pwell.etching.b.tex │ ├── pwell.etching.bt.tex │ ├── pwell.implantation.a.tex │ ├── pwell.implantation.b.tex │ ├── pwell.implantation.c.tex │ ├── pwell.layout.tex │ ├── pwell.mask_dioxide_layer.a.tex │ ├── pwell.mask_dioxide_layer.b.tex │ ├── pwell.oxide_mask_removal.a.tex │ ├── pwell.oxide_mask_removal.b.tex │ ├── pwell.patterning.a.tex │ ├── pwell.patterning.at.tex │ ├── pwell.patterning.b.tex │ ├── pwell.patterning.bt.tex │ ├── silicification.a.tex │ ├── silicification.b.tex │ ├── silicification.layout.tex │ ├── silicification.metal_deposition.a.tex │ ├── silicification.metal_deposition.b.tex │ ├── silicification.metal_removal.a.tex │ ├── silicification.metal_removal.b.tex │ ├── silicification.oxide_growth.a.tex │ ├── silicification.oxide_growth.b.tex │ ├── silicification.rtp1.a.tex │ ├── silicification.rtp1.b.tex │ ├── silicification.rtp2.a.tex │ ├── silicification.rtp2.b.tex │ ├── silicification.silicide_block.a.tex │ ├── silicification.silicide_block.b.tex │ ├── silicification.sputter_etching.a.tex │ ├── silicification.sputter_etching.b.tex │ ├── sti.a.tex │ ├── sti.b.tex │ ├── sti.hard_mask_etching.a.tex │ ├── sti.hard_mask_etching.b.tex │ ├── sti.hard_mask_oxide_growth.a.tex │ ├── sti.hard_mask_oxide_growth.b.tex │ ├── sti.hard_mask_patterning.a.tex │ ├── sti.hard_mask_patterning.b.tex │ ├── sti.hard_mask_removal.a.tex │ ├── sti.hard_mask_removal.b.tex │ ├── sti.hard_mask_resist_removal.a.tex │ ├── sti.hard_mask_resist_removal.b.tex │ ├── sti.initial_clean.a.tex │ ├── sti.initial_clean.b.tex │ ├── sti.layout.tex │ ├── sti.silicon_etch.a.tex │ ├── sti.silicon_etch.b.tex │ ├── via.a.tex │ ├── via.b.tex │ ├── via.cleaning.a.tex │ ├── via.cleaning.b.tex │ ├── via.etching.a.tex │ ├── via.etching.at.tex │ ├── via.etching.b.tex │ ├── via.etching.bt.tex │ ├── via.layout.tex │ ├── via.oxide_growth.a.tex │ ├── via.oxide_growth.b.tex │ ├── via.patterning.a.tex │ ├── via.patterning.at.tex │ ├── via.patterning.b.tex │ └── via.patterning.bt.tex ├── process_testing ├── latchup_cross.png ├── process_testing.pdf ├── process_testing.tex ├── testing_bipolars.tex ├── testing_diodes.tex ├── testing_esd.tex ├── testing_overview.tex └── tikz_testing │ ├── esd_diode_nsub.tex │ ├── esd_diode_nsub_schematics.tex │ ├── esd_diode_psub.tex │ ├── esd_diode_psub_schematics.tex │ ├── lateral_bjt_cross_section.tex │ ├── lateral_diode_cross_section.tex │ ├── vertical_bjt_cross_section.tex │ └── vertical_diode_cross_section.tex ├── semiconductor_physics ├── documentation_physics.pdf ├── documentation_physics.tex ├── dopants_depth.png ├── dopants_drive_in_depth.png ├── doping_thresholds_overview.png ├── infusion_penetration.png ├── ion_implant.png ├── physics_capacity.tex ├── physics_diffusion.tex ├── physics_implant.tex ├── physics_infusion.tex ├── physics_predeposition.tex ├── physics_resistance_doping.tex ├── physics_substrate_bias.tex ├── physics_threshold_adjust.tex ├── physics_threshold_metal.tex ├── physics_threshold_overview.tex ├── physics_threshold_poly.tex ├── physics_well_diffusion.tex ├── resistance_doping.png ├── well_formation1.png └── well_formation2.png ├── simulation ├── 1xinv.cir ├── 1xinv.dat.ngspice ├── 1xinv.sch ├── bsiunits.mac ├── diffusion.wxmx ├── diffusion_nbase.wxmx ├── diffusion_nwell.wxmx ├── diffusion_pbase.wxmx ├── diffusion_pwell.wxmx ├── gate.wxmx ├── monstercap.wxmx ├── netlist.cir ├── nmos1u.lib ├── nmos1u.lib.cfg ├── pmos1u.lib ├── pmos1u.lib.cfg ├── test4.dat.ngspice ├── test4.dpl ├── test4.sch ├── threshold_nmos_aluminum.wxmx ├── threshold_nmos_poly.wxmx ├── threshold_pmos_aluminum.wxmx ├── threshold_pmos_poly.wxmx ├── threshold_sonos.mac └── threshold_sonos.wxmx └── test_layouts ├── poly.mag └── testwafer.mag /.gitignore: -------------------------------------------------------------------------------- 1 | *.log 2 | */*.log 3 | *.aux 4 | */*.aux 5 | *.idx 6 | */*.idx 7 | *.toc 8 | */*.toc 9 | *.gz 10 | */*.gz 11 | -------------------------------------------------------------------------------- /.gitmodules: -------------------------------------------------------------------------------- 1 | [submodule "circdia"] 2 | path = circdia 3 | url = https://github.com/leviathanch/circdia.git 4 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Libre Silicon v0.1 2 | This is the LibreSilicon process specification (WIP) 3 | Please use XeLaTeX for rendering the documents 4 | 5 | Features are: 6 | 7 | * 1 micron (1 um) 8 | * twin-well for cmos 9 | * pbase / nbase (optional) for bipolar 10 | * shallow trench isolation 11 | * sonos for flash (optional) 12 | * silicification 13 | 14 | aiming higher voltages, higher speed and higher feasibilty for modern Analog and System-on-Chip design. 15 | 16 | -------------------------------------------------------------------------------- /cmos_nutshell/Makefile: -------------------------------------------------------------------------------- 1 | all: 2 | TEXINPUTS=::../circdia xelatex cmos_nutshell.tex 3 | 4 | -------------------------------------------------------------------------------- /cmos_nutshell/cmos_nutshell.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libresilicon/process/fc0f7c92f050ae4937ffb290b7a5597f7c412ca4/cmos_nutshell/cmos_nutshell.pdf -------------------------------------------------------------------------------- /magic/mosis2libresilicon.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | if [ "$1" != "" ]; then 3 | if [ "$2" != "" ]; then 4 | if [ -f $1 ]; then 5 | cat $1 | \ 6 | sed -e 's/<< polysilicon >>/<< poly >>/g' \ 7 | | sed -e 's/tech scmos/tech ls1u/g' \ 8 | | sed -e 's/<< ndiffusion >>/<< nimplant >>/g' \ 9 | | sed -e 's/<< ntransistor >>/<< nimplant >>/g' \ 10 | | sed -e 's/<< pdiffusion >>/<< pimplant >>/g' \ 11 | | sed -e 's/<< ptransistor >>/<< pimplant >>/g' \ 12 | | sed -e 's/<< polycontact >>/<< contact >>/g' \ 13 | > $2 14 | fi 15 | fi 16 | fi 17 | 18 | -------------------------------------------------------------------------------- /nmos_threshold.wxmx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libresilicon/process/fc0f7c92f050ae4937ffb290b7a5597f7c412ca4/nmos_threshold.wxmx -------------------------------------------------------------------------------- /process_chemistry/chemistry_growing.tex: -------------------------------------------------------------------------------- 1 | \section{Growing silicon nitride}\label{chemistry_growing_nitride} 2 | In order to grow a high quality layer of silicon nitride on top of a silicon wafer which is adapted to be patterned and to serve as a mask for diffusion or implantation of selected impurities, the wafer is best put into a chamber evacuated to a pressure less than about 1 Torr and heated between 650 and 900 \degree C. 3 | A gaseous mixture comprising primarily of ammonia and a silicon compound, having a ratio of relative concentrations in the range on 4:1 and 20:1 \footnote{\url{http://www.freepatentsonline.com/4395438.html}}, is flooded into that chamber with a silicon compound flow rate of greater than approximately 12 cubic centimeters per minute. 4 | The growth rate will be around 50 Angstroms per minute. 5 | That setup is called Low-Pressure Chemical Vapor Deposition (LPCVD), which is commonly available in basically any semiconductor manufacturing plant or laboratory. 6 | -------------------------------------------------------------------------------- /process_chemistry/process_chemistry.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libresilicon/process/fc0f7c92f050ae4937ffb290b7a5597f7c412ca4/process_chemistry/process_chemistry.pdf -------------------------------------------------------------------------------- /process_datasheet/hightech/Makefile: -------------------------------------------------------------------------------- 1 | all: clean 2 | xelatex datasheet.tex 3 | clean: 4 | rm -f datasheet.pdf datasheet.aux datasheet.log datasheet.out 5 | -------------------------------------------------------------------------------- /process_datasheet/hightech/datasheet.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libresilicon/process/fc0f7c92f050ae4937ffb290b7a5597f7c412ca4/process_datasheet/hightech/datasheet.pdf -------------------------------------------------------------------------------- /process_datasheet/hightech/global_color_scheme.tex: -------------------------------------------------------------------------------- 1 | ../../global_color_scheme.tex -------------------------------------------------------------------------------- /process_datasheet/hightech/img/LSA-lightblue.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libresilicon/process/fc0f7c92f050ae4937ffb290b7a5597f7c412ca4/process_datasheet/hightech/img/LSA-lightblue.png -------------------------------------------------------------------------------- /process_datasheet/hightech/tikz/consts.tex: -------------------------------------------------------------------------------- 1 | \def\CrossSectionOnly{0.3} 2 | \def\CrossAndTopSection{0.2} 3 | \def\CrossAndTopSectionBig{0.3} 4 | \def\VLSILayout{0.4} 5 | \def\UpperContactResist{8.0} 6 | \def\UpperMetalResist{9.0} 7 | \def\UpperMoreMetalResist{16.0} 8 | 9 | \def\LowerMetal{4.0} 10 | \def\UpperMetal{4.5} 11 | 12 | \def\LowerMoreMetal{5.0} 13 | \def\UpperMoreMetal{5.5} 14 | 15 | \def\LowerMoreMetalTwo{6.0} 16 | \def\UpperMoreMetalTwo{6.5} 17 | 18 | \def\UpperGlass{7.0} 19 | 20 | \def\welldepthAsti{1.25} 21 | \def\welldepthBsti{1.5} 22 | \def\welldepthCsti{1.65} 23 | 24 | -------------------------------------------------------------------------------- /process_design/Makefile: -------------------------------------------------------------------------------- 1 | all: 2 | TEXINPUTS=::../circdia xelatex process_design.tex 3 | -------------------------------------------------------------------------------- /process_design/cmos_3v3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libresilicon/process/fc0f7c92f050ae4937ffb290b7a5597f7c412ca4/process_design/cmos_3v3.png -------------------------------------------------------------------------------- /process_design/junction_dimensioning1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libresilicon/process/fc0f7c92f050ae4937ffb290b7a5597f7c412ca4/process_design/junction_dimensioning1.png -------------------------------------------------------------------------------- /process_design/logic_levels.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libresilicon/process/fc0f7c92f050ae4937ffb290b7a5597f7c412ca4/process_design/logic_levels.png -------------------------------------------------------------------------------- /process_design/n-well-diffusion.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libresilicon/process/fc0f7c92f050ae4937ffb290b7a5597f7c412ca4/process_design/n-well-diffusion.png -------------------------------------------------------------------------------- /process_design/p-well-diffusion.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libresilicon/process/fc0f7c92f050ae4937ffb290b7a5597f7c412ca4/process_design/p-well-diffusion.png -------------------------------------------------------------------------------- /process_design/process_design.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libresilicon/process/fc0f7c92f050ae4937ffb290b7a5597f7c412ca4/process_design/process_design.pdf -------------------------------------------------------------------------------- /process_design/process_design_interconnect.tex: -------------------------------------------------------------------------------- 1 | \section{Interconnect} 2 | The interconnects and the gate electrode are being made using Aluminum which is a very commonly used material to do interconnects in low-frequency and low-resolution applications \\ 3 | 4 | \textbf{Reasons for using Aluminum}:\begin{itemize} 5 | \item It's a well explored material for interconnect with a lot of literature on how to process it 6 | \item Aluminum is easy to etch compared to copper 7 | \item Aluminum isn't contaminating everything like copper does and doesn't require special separated setup for handling 8 | \item There are many technology nodes even down to 180nm which still are using Aluminum and it's not having a big impact on the clock frequencies, so it should be good enough for us as well. 9 | \end{itemize} 10 | 11 | \begin{mdframed}[linewidth=2pt,linecolor=green] 12 | As soon as we've got CMOS all figured out, we will tackle copper interconnect in release 2.0 13 | \end{mdframed} 14 | 15 | -------------------------------------------------------------------------------- /process_design/process_design_requirements.tex: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libresilicon/process/fc0f7c92f050ae4937ffb290b7a5597f7c412ca4/process_design/process_design_requirements.tex -------------------------------------------------------------------------------- /process_design/simulation.tex: -------------------------------------------------------------------------------- 1 | \section{Simulation with parameters} -------------------------------------------------------------------------------- /process_design/subthreshold_leagage.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libresilicon/process/fc0f7c92f050ae4937ffb290b7a5597f7c412ca4/process_design/subthreshold_leagage.png -------------------------------------------------------------------------------- /process_design_rules/process_design_rules.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libresilicon/process/fc0f7c92f050ae4937ffb290b7a5597f7c412ca4/process_design_rules/process_design_rules.pdf -------------------------------------------------------------------------------- /process_implementations/hkust/Makefile: -------------------------------------------------------------------------------- 1 | yaml = steps_wet.yaml steps_dry.yaml 2 | yamldeps = cleanliness_levels.yaml equipment.yaml repetitive_steps.yaml 3 | tikzdeps = $(wildcard tikz_process_steps/*.tex) 4 | texs = $(yaml:.yaml=.tex) 5 | pdfs = $(yaml:.yaml=.pdf) 6 | 7 | all: $(pdfs) 8 | 9 | $(texs): %.tex:%.yaml $(yamldeps) $(tikzdeps) 10 | ./tables_generator.py -f $< 11 | 12 | $(pdfs): %.pdf:%.tex 13 | max_in_open=32 xelatex '\def\inctable{$<}\input{process.tex}' > log 14 | mv process.pdf $@ 15 | rm log process.log 16 | 17 | check: 18 | ./tables_generator.py check 19 | 20 | clean: 21 | rm $(texs) $(pdfs) 22 | -------------------------------------------------------------------------------- /process_implementations/hkust/README.md: -------------------------------------------------------------------------------- 1 | # Autogenerated process table 2 | This is the process table example which is usually used for applying it to the lab owners and making sure that there are no contaminations. 3 | You can change the code to fit the standard layout required by your factory. 4 | 5 | ## Features 6 | * Compliance checking by running: make check 7 | * PDF generation by running: make pdf 8 | * Automatic step depency resolution 9 | 10 | ## Files 11 | * equipment.yaml: 12 | Contains all the machine definitions required to run the process 13 | * steps.yaml: 14 | A simple condensed version of the process 15 | (all the depencies are resolved during checking/generation) 16 | -------------------------------------------------------------------------------- /process_implementations/hkust/apple.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libresilicon/process/fc0f7c92f050ae4937ffb290b7a5597f7c412ca4/process_implementations/hkust/apple.png -------------------------------------------------------------------------------- /process_implementations/hkust/cleanliness_levels.yaml: -------------------------------------------------------------------------------- 1 | start: clean 2 | levels: 3 | clean: 4 | - clean 5 | clean/semi-clean: 6 | - clean 7 | - semi-clean 8 | semi-clean/non-standard: 9 | - clean 10 | - semi-clean 11 | - non-standard 12 | non-standard: 13 | - clean 14 | - semi-clean 15 | - non-standard 16 | 17 | -------------------------------------------------------------------------------- /process_implementations/hkust/global_color_scheme.tex: -------------------------------------------------------------------------------- 1 | ../../global_color_scheme.tex -------------------------------------------------------------------------------- /process_implementations/hkust/process_abstract.tex: -------------------------------------------------------------------------------- 1 | ../../process_abstract.tex -------------------------------------------------------------------------------- /process_implementations/hkust/steps_dry.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libresilicon/process/fc0f7c92f050ae4937ffb290b7a5597f7c412ca4/process_implementations/hkust/steps_dry.pdf -------------------------------------------------------------------------------- /process_implementations/hkust/steps_wet.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libresilicon/process/fc0f7c92f050ae4937ffb290b7a5597f7c412ca4/process_implementations/hkust/steps_wet.pdf -------------------------------------------------------------------------------- /process_implementations/hkust/tikz_process_steps: -------------------------------------------------------------------------------- 1 | ../../process_steps/process_hightech/tikz_process_steps -------------------------------------------------------------------------------- /process_steps/Makefile: -------------------------------------------------------------------------------- 1 | PDF: 2 | cd process_lowtech && make && cd .. 3 | cd process_hightech && make && cd .. 4 | 5 | clean: 6 | cd process_lowtech && make clean && cd .. 7 | cd process_hightech && make clean && cd .. 8 | -------------------------------------------------------------------------------- /process_steps/README.md: -------------------------------------------------------------------------------- 1 | Libre Silicon process documentation 2 | =================================== 3 | This is a collection of documentations on how people got the process working with their machines. 4 | The collection is sorted by the level of equipment available. 5 | 6 | Categorization 7 | -------------- 8 | We categorize the process into "high tech", "normal" and "low tech" 9 | 10 | TODO: Fill in check list for categorization based on equipment here 11 | -------------------------------------------------------------------------------- /process_steps/process_hightech/Makefile: -------------------------------------------------------------------------------- 1 | tikzdeps = $(wildcard tikz_process_steps/*.tex) 2 | 3 | tikzdeps = $(wildcard tikz_process_steps/*.tex) 4 | 5 | texs = $(wildcard *.tex) 6 | 7 | pdfs = process_hightech_steps.pdf 8 | 9 | $(pdfs): %.pdf:%.tex $(tikzdeps) $(texs) 10 | max_in_open=32 xelatex $< 11 | max_in_open=32 xelatex $< 12 | 13 | all: $(pdfs) 14 | 15 | clean: 16 | rm -f *.log 17 | rm -f *.gz 18 | rm -f *.aux 19 | rm -f *.toc 20 | rm -f *.pdf 21 | rm -f *.idx 22 | -------------------------------------------------------------------------------- /process_steps/process_hightech/global_color_scheme.tex: -------------------------------------------------------------------------------- 1 | ../../global_color_scheme.tex -------------------------------------------------------------------------------- /process_steps/process_hightech/process_abstract.tex: -------------------------------------------------------------------------------- 1 | ../../process_abstract.tex -------------------------------------------------------------------------------- /process_steps/process_hightech/process_hightech_glass.tex: -------------------------------------------------------------------------------- 1 | \subsection{Glass}\label{chapter_glass} 2 | 3 | This is the final oxide layer, which serves as a passivation for the metal3 wires and exposes the bonding and test pads 4 | to the outside world. 5 | 6 | \begin{figure}[H] 7 | \centering 8 | \begin{tikzpicture}[node distance = 3cm, auto, thick,scale=\CrossSectionOnly, every node/.style={transform shape}] 9 | \input{tikz_process_steps/glass.a.tex} 10 | \end{tikzpicture} 11 | \caption{Glass geometry target} 12 | \label{glass_cross_sections} 13 | \end{figure} 14 | 15 | As can be seen in \autoref{glass_cross_sections}, the goal of this step is purely to deposit a layer of isolation oxide, 16 | get the holes into it, down to the metal layer below in order to form wires later on. 17 | 18 | In a later iterations of this process we might be switching to Copper as the metal material for this step which will 19 | result in a variation of this step because the usage of damascene method. 20 | -------------------------------------------------------------------------------- /process_steps/process_hightech/process_hightech_metal1.tex: -------------------------------------------------------------------------------- 1 | \subsection{Metal 1}\label{chapter_metal1} 2 | 3 | Now we've got to build the first interconnect wires, connecting the contact vias to the "metal1" wires, which will provide a way to contact to them with the via1 contact layout. 4 | 5 | \begin{figure}[H] 6 | \centering 7 | \begin{tikzpicture}[node distance = 3cm, auto, thick,scale=\CrossAndTopSectionBig, every node/.style={transform shape}] 8 | \input{tikz_process_steps/metal1.tex} 9 | \end{tikzpicture} 10 | \caption{Metal geometry target} 11 | \label{metal1_target} 12 | \end{figure} 13 | 14 | In later iterations of this process we might be switching to Tungsten as the metal material for this step so the etching method might change in further releases. 15 | 16 | First we sputter around 50nm Nickel, then 100nm Aluminum and at the end again around 50nm Nickel for passivation, all in the same vacuum. 17 | -------------------------------------------------------------------------------- /process_steps/process_hightech/process_hightech_nbase.tex: -------------------------------------------------------------------------------- 1 | \subsection{N-base}\label{nbase_chapter} 2 | In order to build BiCMOS on the same substrate, another N-well within the P-Base (tripple well!) is required for building the complementary isolated P-channel transistor for a n-p-channel logic circuitry as shown above in the example section. 3 | 4 | The cross section as well as the top view of the targeted geometry are shown in \autoref{nbase_target} 5 | 6 | \begin{figure}[H] 7 | \centering 8 | \begin{tikzpicture}[node distance = 3cm, auto, thick,scale=\CrossAndTopSectionBig, every node/.style={transform shape}] 9 | \input{tikz_process_steps/nbase.a.tex} 10 | \end{tikzpicture} 11 | \caption{N-base target geometry} 12 | \label{nbase_target} 13 | \end{figure} 14 | 15 | The N-well will serve us as an island of N-doped substrate within the P-doped basis substrate. 16 | 17 | The dopant dose will be $2.33\times10^{12}cm^{-2}$ at 70 keV. 18 | 19 | After the implantation we perform a drive-in in inert atmosphere at $1050\degreesC$ for 30 minutes. 20 | -------------------------------------------------------------------------------- /process_steps/process_hightech/process_hightech_nimplant.tex: -------------------------------------------------------------------------------- 1 | \subsection{n+ Implant}\label{nimplant_chapter} 2 | 3 | For the bulk of the PMOS transistors and for the source and drain of the NMOS transistors highly doped n+ areas are required. 4 | 5 | In this step we're going to build these. 6 | 7 | \begin{figure}[H] 8 | \centering 9 | \begin{tikzpicture}[node distance = 3cm, auto, thick,scale=\CrossAndTopSectionBig, every node/.style={transform shape}] 10 | \input{tikz_process_steps/nimplant.a.tex} 11 | \end{tikzpicture} 12 | \caption{N+ implant geometry target} 13 | \end{figure} 14 | 15 | The tricky thing here is to have a reasonable implant depth but not too deep because the deeper the junction, the higher the junction capacity which in turn limits the switching performance of the CMOS circuitry. 16 | 17 | Also important to notice is that the implantation energy must not be too high, otherwise the dopants may leak through the polysilicon gate. 18 | 19 | The nselect is implanted with a Phosphorus ($P^{31}$) dose of $2.5\times10^{12}cm^{-2}$ at an energy of 30 keV (43nm$\pm$18nm deep) 20 | -------------------------------------------------------------------------------- /process_steps/process_hightech/process_hightech_pimplant.tex: -------------------------------------------------------------------------------- 1 | \subsection{p+ Implant}\label{pimplant_chapter} 2 | 3 | For the bulk of the NMOS transistors and for the source and drain of the PMOS transistors highly doped p+ areas are required. 4 | 5 | In this step we're going to build these. 6 | 7 | \begin{figure}[H] 8 | \centering 9 | \begin{tikzpicture}[node distance = 3cm, auto, thick,scale=\CrossAndTopSectionBig, every node/.style={transform shape}] 10 | \input{tikz_process_steps/pimplant.a.tex} 11 | \end{tikzpicture} 12 | \caption{P+ implant geometry target} 13 | \end{figure} 14 | 15 | The tricky thing here is to have a reasonable implant depth but not too deep because the deeper the junction, the higher the junction capacity which in turn limits the switching performance of the CMOS circuitry. 16 | 17 | Also important to notice is that the implantation energy must not be too high, otherwise the dopants may leak through the polysilicon gate. 18 | 19 | The pselect is implanted with a Boron ($B^{11}$) dose of $2.5\times10^{12}cm^{-2}$ at an energy of 20 keV (43nm$\pm$18nm deep) 20 | 21 | -------------------------------------------------------------------------------- /process_steps/process_hightech/process_hightech_steps.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libresilicon/process/fc0f7c92f050ae4937ffb290b7a5597f7c412ca4/process_steps/process_hightech/process_hightech_steps.pdf -------------------------------------------------------------------------------- /process_steps/process_hightech/process_hightech_via1.tex: -------------------------------------------------------------------------------- 1 | \subsection{Via 1}\label{chapter_via1} 2 | 3 | Now we have to build an additional set of vias connecting the first metal layer to the next metal layer. 4 | 5 | Those vias are already part of the front-end process. 6 | 7 | \begin{figure}[H] 8 | \centering 9 | \begin{tikzpicture}[node distance = 3cm, auto, thick,scale=\CrossSectionOnly, every node/.style={transform shape}] 10 | \input{tikz_process_steps/via1.a.tex} 11 | \end{tikzpicture} 12 | \caption{Contact geometry target} 13 | \label{via1_cross_section} 14 | \end{figure} 15 | 16 | As can be seen in \autoref{via1_cross_section}, the goal of this step is purely to deposit a layer of isolation oxide, 17 | get the holes into it, down to the metal1 layer below in order to form wires later on. 18 | 19 | 20 | -------------------------------------------------------------------------------- /process_steps/process_hightech/process_hightech_via2.tex: -------------------------------------------------------------------------------- 1 | \subsection{Via 2}\label{chapter_via2} 2 | 3 | Now we have to build an additional set of via1. connecting the first metal layer to the next metal layer. 4 | These via1. are already part of the front-end process. 5 | 6 | \begin{figure}[H] 7 | \centering 8 | \begin{tikzpicture}[node distance = 3cm, auto, thick,scale=\CrossSectionOnly, every node/.style={transform shape}] 9 | \input{tikz_process_steps/via2.a.tex} 10 | \end{tikzpicture} 11 | \caption{Contact geometry target} 12 | \label{via2_cross_section} 13 | \end{figure} 14 | 15 | As can be seen in \autoref{via2_cross_section}, the goal of this step is purely to deposit a layer of isolation oxide, get the holes into it, down to the metal layer below in order to form wires later on. 16 | 17 | In a later iterations of this process we might be switching to Copper as the metal material for this step which will result in a variation of this step because the usage of damascene method. 18 | -------------------------------------------------------------------------------- /process_steps/process_hightech/tikz_process_steps/basic.a.tex: -------------------------------------------------------------------------------- 1 | % substrate 1 2 | \fill[substrate] (0,0) rectangle (55,1.25); 3 | \node at (2,0.5) {Silicon substrate}; 4 | \fill[substrate] (0.25,1.25) rectangle (54.75,2); 5 | -------------------------------------------------------------------------------- /process_steps/process_hightech/tikz_process_steps/contact.a.tex: -------------------------------------------------------------------------------- 1 | \fill[isolationoxide] (0,0) rectangle (55.0,\LowerMetal); 2 | 3 | \input{tikz_process_steps/silicification.a.tex} 4 | 5 | \paintcontacts{white}{white}{white} 6 | -------------------------------------------------------------------------------- /process_steps/process_hightech/tikz_process_steps/contact.cleaning.b.tex: -------------------------------------------------------------------------------- 1 | \fill[isolationoxide] (0,0) rectangle (1.5,\LowerMetal); 2 | \fill[isolationoxide] (2.75,0) rectangle (3.25,\LowerMetal); 3 | \fill[isolationoxide] (4.25,0) rectangle (5.25,\LowerMetal); 4 | \fill[isolationoxide] (6.25,0) rectangle (7.25,\LowerMetal); 5 | \fill[isolationoxide] (8.25,0) rectangle (12.0,\LowerMetal); 6 | \fill[isolationoxide] (12.75,0) rectangle (13.75,\LowerMetal); 7 | \fill[isolationoxide] (14.75,0) rectangle (15.75,\LowerMetal); 8 | \fill[isolationoxide] (16.75,0) rectangle (17.25,\LowerMetal); 9 | \fill[isolationoxide] (18.25,0) rectangle (20.0,\LowerMetal); 10 | \input{tikz_process_steps/silicification.a.tex} -------------------------------------------------------------------------------- /process_steps/process_hightech/tikz_process_steps/contact.etching.a.tex: -------------------------------------------------------------------------------- 1 | \fill[isolationoxide] (0,0) rectangle (20,\LowerMetal); 2 | \input{tikz_process_steps/silicification.a.tex} 3 | \fill[resist] (0,\LowerMetal) rectangle (1.5,\UpperContactResist); 4 | \fill[resist] (2.75,\LowerMetal) rectangle (3.25,\UpperContactResist); 5 | \fill[resist] (4.25,\LowerMetal) rectangle (5.25,\UpperContactResist); 6 | \fill[resist] (6.25,\LowerMetal) rectangle (7.25,\UpperContactResist); 7 | \fill[resist] (8.25,\LowerMetal) rectangle (12.0,\UpperContactResist); 8 | \fill[resist] (12.75,\LowerMetal) rectangle (13.75,\UpperContactResist); 9 | \fill[resist] (14.75,\LowerMetal) rectangle (15.75,\UpperContactResist); 10 | \fill[resist] (16.75,\LowerMetal) rectangle (17.25,\UpperContactResist); 11 | \fill[resist] (18.25,\LowerMetal) rectangle (20.0,\UpperContactResist); -------------------------------------------------------------------------------- /process_steps/process_hightech/tikz_process_steps/contact.etching.at.tex: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libresilicon/process/fc0f7c92f050ae4937ffb290b7a5597f7c412ca4/process_steps/process_hightech/tikz_process_steps/contact.etching.at.tex -------------------------------------------------------------------------------- /process_steps/process_hightech/tikz_process_steps/contact.etching.bt.tex: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libresilicon/process/fc0f7c92f050ae4937ffb290b7a5597f7c412ca4/process_steps/process_hightech/tikz_process_steps/contact.etching.bt.tex -------------------------------------------------------------------------------- /process_steps/process_hightech/tikz_process_steps/contact.oxide_growth.a.tex: -------------------------------------------------------------------------------- 1 | \input{tikz_process_steps/silicification.a.tex} -------------------------------------------------------------------------------- /process_steps/process_hightech/tikz_process_steps/contact.oxide_growth.b.tex: -------------------------------------------------------------------------------- 1 | \fill[isolationoxide] (0,0) rectangle (20,\LowerMetal); 2 | 3 | % bump in oxide: 4 | \filldraw[line width=0, isolationoxide] (8.5,6.0)--(8.5,7.0)--(7.5,6.0); 5 | \filldraw[line width=0, isolationoxide] (12.0,6.0)--(12.0,7.0)--(13.0,6.0); 6 | \fill[isolationoxide] (8.5,6.0) rectangle (12.0,7.0); 7 | 8 | \input{tikz_process_steps/silicification.a.tex} -------------------------------------------------------------------------------- /process_steps/process_hightech/tikz_process_steps/contact.oxide_growth.c.tex: -------------------------------------------------------------------------------- 1 | \fill[isolationoxide] (0,0) rectangle (20,\LowerMetal); 2 | \input{tikz_process_steps/silicification.a.tex} -------------------------------------------------------------------------------- /process_steps/process_hightech/tikz_process_steps/contact.patterning.a.tex: -------------------------------------------------------------------------------- 1 | \fill[isolationoxide] (0,0) rectangle (20,\LowerMetal); 2 | \input{tikz_process_steps/silicification.a.tex} -------------------------------------------------------------------------------- /process_steps/process_hightech/tikz_process_steps/contact.patterning.at.tex: -------------------------------------------------------------------------------- 1 | \fill[isolationoxide] (0,0) rectangle (20,12); -------------------------------------------------------------------------------- /process_steps/process_hightech/tikz_process_steps/contact.patterning.b.tex: -------------------------------------------------------------------------------- 1 | \fill[isolationoxide] (0,0) rectangle (20,\LowerMetal); 2 | \input{tikz_process_steps/silicification.a.tex} 3 | \fill[resist] (0,\LowerMetal) rectangle (1.5,\UpperContactResist); 4 | \fill[resist] (2.75,\LowerMetal) rectangle (3.25,\UpperContactResist); 5 | \fill[resist] (4.25,\LowerMetal) rectangle (5.25,\UpperContactResist); 6 | \fill[resist] (6.25,\LowerMetal) rectangle (7.25,\UpperContactResist); 7 | \fill[resist] (8.25,\LowerMetal) rectangle (12.0,\UpperContactResist); 8 | \fill[resist] (12.75,\LowerMetal) rectangle (13.75,\UpperContactResist); 9 | \fill[resist] (14.75,\LowerMetal) rectangle (15.75,\UpperContactResist); 10 | \fill[resist] (16.75,\LowerMetal) rectangle (17.25,\UpperContactResist); 11 | \fill[resist] (18.25,\LowerMetal) rectangle (20.0,\UpperContactResist); -------------------------------------------------------------------------------- /process_steps/process_hightech/tikz_process_steps/contsts.tex: -------------------------------------------------------------------------------- 1 | \def\trenchBottom{4.0} 2 | \def\STIIslandSurface{\trenchBottom+2.0} 3 | 4 | \def\gateoxidetop{\STIIslandSurface+0.4} 5 | \def\polytop{\gateoxidetop+1.0} 6 | \def\implantstoptop{\polytop+1.75} 7 | 8 | \def\SONOStopONE{\STIIslandSurface+0.2} 9 | \def\SONOStopTWO{\SONOStopONE+0.2} 10 | \def\SONOStopTHREE{\SONOStopTWO+0.2} 11 | \def\SONOSHeight{\SONOStopTHREE-\SONOStopONE} 12 | 13 | %\def\LowerMetal{\implantstoptop+0.75} 14 | \def\LowerMetal{\implantstoptop+1.00} 15 | 16 | \def\UpperMetal{\LowerMetal+0.5} 17 | 18 | \def\LowerMoreMetal{\UpperMetal+0.5} 19 | \def\UpperMoreMetal{\LowerMoreMetal+0.5} 20 | \def\LowerMoreMetalTwo{\UpperMoreMetal+0.5} 21 | \def\UpperMoreMetalTwo{\LowerMoreMetalTwo+0.5} 22 | \def\UpperGlass{\UpperMoreMetalTwo+0.5} 23 | 24 | \def\VLSILayout{0.4} 25 | \def\UpperContactResist{8.0} 26 | \def\UpperMetalResist{9.0} 27 | \def\UpperMoreMetalResist{16.0} 28 | 29 | \def\CrossSectionOnly{0.3} 30 | \def\CrossAndTopSection{0.2} 31 | \def\CrossAndTopSectionBig{0.3} 32 | 33 | -------------------------------------------------------------------------------- /process_steps/process_hightech/tikz_process_steps/fox.b.tex: -------------------------------------------------------------------------------- 1 | \fill[isolationoxide] (0,0) rectangle (20,12); 2 | \fill[pwell] (11.75,1) rectangle (18.75,7.25); 3 | \fill[nwell] (1.25,1) rectangle (8.25,7.25); 4 | -------------------------------------------------------------------------------- /process_steps/process_hightech/tikz_process_steps/fox.etching.a.tex: -------------------------------------------------------------------------------- 1 | \input{tikz_process_steps/fox.patterning.b.tex} -------------------------------------------------------------------------------- /process_steps/process_hightech/tikz_process_steps/fox.etching.b.tex: -------------------------------------------------------------------------------- 1 | \filldraw[line width=0, resist] (0.0,2.75)--(0.75,2.75)--(1.5,3.5)--(1.5,5.0)--(0.0,5.0); 2 | \fill[resist] (2.5,2.75) rectangle (4.5,5.0); 3 | \filldraw[line width=0, resist] (8.0,3.5)--(8.25,3.5)--(9,2.75)--(11.0,2.75)--(11.75,3.5)--(12.0,3.5)--(12.0,5.0)--(8.0,5.0); 4 | \fill[resist] (15.5,2.75) rectangle (17.5,5.0); 5 | \filldraw[line width=0, resist] (18.5,5.0)--(18.5,3.5)--(18.75,3.5)--(19.5,2.75)--(20.0,2.75)--(20.0,5.0); 6 | 7 | \input{tikz_process_steps/fox.resist_removal.b.tex} 8 | -------------------------------------------------------------------------------- /process_steps/process_hightech/tikz_process_steps/fox.oxide_growth.a.tex: -------------------------------------------------------------------------------- 1 | \input{tikz_process_steps/nbase.a.tex} 2 | -------------------------------------------------------------------------------- /process_steps/process_hightech/tikz_process_steps/fox.oxide_growth.b.tex: -------------------------------------------------------------------------------- 1 | % oxide 2 | \fill[isolationoxide] (0,\STIIslandSurface) rectangle (55,\STIIslandSurface+0.75); 3 | 4 | \input{tikz_process_steps/nbase.a.tex} 5 | -------------------------------------------------------------------------------- /process_steps/process_hightech/tikz_process_steps/fox.patterning.a.tex: -------------------------------------------------------------------------------- 1 | \input{tikz_process_steps/fox.oxide_growth.b.tex} -------------------------------------------------------------------------------- /process_steps/process_hightech/tikz_process_steps/fox.patterning.b.tex: -------------------------------------------------------------------------------- 1 | \filldraw[line width=0, resist] (0.0,2.75)--(0.75,2.75)--(1.5,3.5)--(1.5,5.0)--(0.0,5.0); 2 | \fill[resist] (2.5,2.75) rectangle (4.5,5.0); 3 | \filldraw[line width=0, resist] (8.0,3.5)--(8.25,3.5)--(9.0,2.75)--(11.0,2.75)--(11.75,3.5)--(12.0,3.5)--(12.0,5.0)--(8.0,5.0); 4 | \fill[resist] (15.5,2.75) rectangle (17.5,5.0); 5 | \filldraw[line width=0, resist] (18.5,5.0)--(18.5,3.5)--(18.75,3.5)--(19.5,2.75)--(20.0,2.75)--(20.0,5.0); 6 | 7 | \input{tikz_process_steps/fox.oxide_growth.b.tex} 8 | -------------------------------------------------------------------------------- /process_steps/process_hightech/tikz_process_steps/fox.resist_removal.a.tex: -------------------------------------------------------------------------------- 1 | \input{tikz_process_steps/fox.etching.b.tex} -------------------------------------------------------------------------------- /process_steps/process_hightech/tikz_process_steps/fox.resist_removal.b.tex: -------------------------------------------------------------------------------- 1 | \input{tikz_process_steps/fox.a.tex} -------------------------------------------------------------------------------- /process_steps/process_hightech/tikz_process_steps/gate.a.tex: -------------------------------------------------------------------------------- 1 | \input{tikz_process_steps/fox.a.tex} 2 | 3 | \paintnwells{4.00} 4 | \paintpwells{4.00} 5 | \paintpbases{2.5} 6 | \paintnbases{1.5} 7 | 8 | \fill[gateoxide] (5.00,\STIIslandSurface) rectangle (6.00,\gateoxidetop); 9 | \fill[poly] (5.00,\gateoxidetop) rectangle (6.00,\polytop); 10 | 11 | \fill[gateoxide] (12.00,\STIIslandSurface) rectangle (13.00,\gateoxidetop); 12 | \fill[poly] (12.00,\gateoxidetop) rectangle (13.00,\polytop); 13 | 14 | \fill[gateoxide] (21.90,\STIIslandSurface) rectangle (22.90,\SONOStopONE); 15 | \fill[nitride] (21.90,\SONOStopONE) rectangle (22.90,\SONOStopTWO); 16 | \fill[gateoxide] (21.90,\SONOStopTWO) rectangle (22.90,\SONOStopTHREE); 17 | \fill[poly] (21.90,\SONOStopTHREE) rectangle (22.90,\polytop+0.2); 18 | 19 | % poly diode 20 | \fill[poly] (43.00,\STIIslandSurface+0.75) rectangle (48.00,\polytop+0.75); 21 | 22 | % poly resistor 23 | \fill[poly] (48.50,\STIIslandSurface+0.75) rectangle (54.50,\polytop+0.75); 24 | -------------------------------------------------------------------------------- /process_steps/process_hightech/tikz_process_steps/gate.b.tex: -------------------------------------------------------------------------------- 1 | \input{tikz_process_steps/fox.b.tex} 2 | % gate metal 3 | \fill[poly] (5,0) rectangle (6.5,9); 4 | \fill[poly] (13.5,0) rectangle (15,9); 5 | \fill[poly] (5,8) rectangle (15,10); -------------------------------------------------------------------------------- /process_steps/process_hightech/tikz_process_steps/gate.cleaning.a.tex: -------------------------------------------------------------------------------- 1 | \input{tikz_process_steps/gate.etching.b.tex} -------------------------------------------------------------------------------- /process_steps/process_hightech/tikz_process_steps/gate.cleaning.at.tex: -------------------------------------------------------------------------------- 1 | \input{tikz_process_steps/fox.b.tex} 2 | % gate metal 3 | \fill[resist] (5,0) rectangle (6.5,9); 4 | \fill[resist] (13.5,0) rectangle (15,9); 5 | \fill[resist] (5,8) rectangle (15,10); -------------------------------------------------------------------------------- /process_steps/process_hightech/tikz_process_steps/gate.cleaning.b.tex: -------------------------------------------------------------------------------- 1 | \input{tikz_process_steps/fox.a.tex} 2 | \fill[gateoxide] (5.0,2) rectangle (6.5,2.3); 3 | \fill[gateoxide] (13.5,2) rectangle (15,2.3); 4 | \fill[poly] (5.0,2.3) rectangle (6.5,3); 5 | \fill[poly] (13.5,2.3) rectangle (15,3); 6 | 7 | \fill[gateoxide,opacity=0.5] (5.0,2.0) rectangle (8.25,2.3); 8 | \filldraw[line width=0, gateoxide,opacity=0.5] (9.00,2.75)--(8.25,2.0)--(8.25,2.3)--(9.00,3.05); 9 | \fill[gateoxide,opacity=0.5] (9.00,2.75) rectangle (11.0,3.05); 10 | \filldraw[line width=0, gateoxide,opacity=0.5] (11.0,2.75)--(11.75,2.0)--(11.75,2.3)--(11.0,3.05); 11 | \fill[gateoxide,opacity=0.5] (11.75,2.0) rectangle (15.00,2.3); 12 | 13 | \fill[poly,opacity=0.5] (5.0,2.3) rectangle (8.25,3.0); 14 | \filldraw[line width=0, poly,opacity=0.5] (9.00,3.05)--(8.25,2.3)--(8.25,3.0)--(9.00,3.75); 15 | \fill[poly,opacity=0.5] (9.00,3.05) rectangle (11.0,3.75); 16 | \filldraw[line width=0, poly,opacity=0.5] (11.0,3.05)--(11.75,2.3)--(11.75,3.0)--(11.0,3.75); 17 | \fill[poly,opacity=0.5] (11.75,2.3) rectangle (15.0,3.0); -------------------------------------------------------------------------------- /process_steps/process_hightech/tikz_process_steps/gate.cleaning.bt.tex: -------------------------------------------------------------------------------- 1 | \input{tikz_process_steps/fox.b.tex} 2 | % gate metal 3 | \fill[poly] (5,0) rectangle (6.5,9); 4 | \fill[poly] (13.5,0) rectangle (15,9); 5 | \fill[poly] (5,8) rectangle (15,10); -------------------------------------------------------------------------------- /process_steps/process_hightech/tikz_process_steps/gate.etching.a.tex: -------------------------------------------------------------------------------- 1 | \input{tikz_process_steps/gate.polysilicon_deposition.b.tex} 2 | -------------------------------------------------------------------------------- /process_steps/process_hightech/tikz_process_steps/gate.etching.at.tex: -------------------------------------------------------------------------------- 1 | % trench area 2 | \fill[poly] (0,0) rectangle (20,12); 3 | % gate metal 4 | \fill[resist] (5,0) rectangle (6.5,9); 5 | \fill[resist] (13.5,0) rectangle (15,9); 6 | \fill[resist] (5,8) rectangle (15,10); -------------------------------------------------------------------------------- /process_steps/process_hightech/tikz_process_steps/gate.etching.b.tex: -------------------------------------------------------------------------------- 1 | \input{tikz_process_steps/fox.a.tex} 2 | 3 | \fill[gateoxide] (5.00,\STIIslandSurface) rectangle (6.00,\gateoxidetop); 4 | \fill[poly] (5.00,\gateoxidetop) rectangle (6.00,\polytop); 5 | 6 | \fill[gateoxide] (12.00,\STIIslandSurface) rectangle (13.00,\gateoxidetop); 7 | \fill[poly] (12.00,\gateoxidetop) rectangle (13.00,\polytop); 8 | 9 | \fill[gateoxide] (21.90,\STIIslandSurface) rectangle (22.90,\SONOStopONE); 10 | \fill[nitride] (21.90,\SONOStopONE) rectangle (22.90,\SONOStopTWO); 11 | \fill[gateoxide] (21.90,\SONOStopTWO) rectangle (22.90,\SONOStopTHREE); 12 | \fill[poly] (21.90,\SONOStopTHREE) rectangle (22.90,\polytop+0.2); 13 | 14 | % poly diode 15 | \fill[poly] (43.00,\STIIslandSurface+0.75) rectangle (48.00,\polytop+0.75); 16 | 17 | % poly resistor 18 | \fill[poly] (48.50,\STIIslandSurface+0.75) rectangle (54.50,\polytop+0.75); 19 | -------------------------------------------------------------------------------- /process_steps/process_hightech/tikz_process_steps/gate.etching.bt.tex: -------------------------------------------------------------------------------- 1 | \input{tikz_process_steps/fox.b.tex} 2 | % gate metal 3 | \fill[resist] (5,0) rectangle (6.5,9); 4 | \fill[resist] (13.5,0) rectangle (15,9); 5 | \fill[resist] (5,8) rectangle (15,10); -------------------------------------------------------------------------------- /process_steps/process_hightech/tikz_process_steps/gate.gate_oxid_depositon.a.tex: -------------------------------------------------------------------------------- 1 | \input{tikz_process_steps/sonos.a.tex} 2 | -------------------------------------------------------------------------------- /process_steps/process_hightech/tikz_process_steps/gate.gate_oxid_depositon.b.tex: -------------------------------------------------------------------------------- 1 | \fill[gateoxide] (0.00,\STIIslandSurface) rectangle (55.00,\gateoxidetop); 2 | 3 | \input{tikz_process_steps/sonos.a.tex} 4 | 5 | -------------------------------------------------------------------------------- /process_steps/process_hightech/tikz_process_steps/gate.layout.tex: -------------------------------------------------------------------------------- 1 | \input{tikz_process_steps/nwell.layout.tex} 2 | % gate metal 3 | \fill[poly,opacity=\OpacityLayout] (5,0) rectangle (6.5,8); 4 | \fill[poly,opacity=\OpacityLayout] (13.5,0) rectangle (15,8); 5 | \fill[poly,opacity=\OpacityLayout] (5,8) rectangle (15,10); 6 | 7 | \draw[|<->|] (5,-0.25) -- (6.5,-0.25); 8 | \node at (6,-0.75) {$1 \lambda$}; -------------------------------------------------------------------------------- /process_steps/process_hightech/tikz_process_steps/gate.patterning.a.tex: -------------------------------------------------------------------------------- 1 | \input{tikz_process_steps/gate.polysilicon_deposition.b.tex} -------------------------------------------------------------------------------- /process_steps/process_hightech/tikz_process_steps/gate.patterning.at.tex: -------------------------------------------------------------------------------- 1 | % trench area 2 | \fill[poly] (0,0) rectangle (20,12); -------------------------------------------------------------------------------- /process_steps/process_hightech/tikz_process_steps/gate.patterning.b.tex: -------------------------------------------------------------------------------- 1 | \fill[resist,opacity=0.5] (5,3) rectangle (15.0,5.0); 2 | \fill[resist] (5,3) rectangle (6.5,5.0); 3 | \fill[resist] (13.5,3) rectangle (15.0,5.0); 4 | 5 | \input{tikz_process_steps/gate.polysilicon_deposition.b.tex} -------------------------------------------------------------------------------- /process_steps/process_hightech/tikz_process_steps/gate.patterning.bt.tex: -------------------------------------------------------------------------------- 1 | % trench area 2 | \fill[poly] (0,0) rectangle (20,12); 3 | % gate metal 4 | \fill[resist] (5,0) rectangle (6.5,9); 5 | \fill[resist] (13.5,0) rectangle (15,9); 6 | \fill[resist] (5,8) rectangle (15,10); -------------------------------------------------------------------------------- /process_steps/process_hightech/tikz_process_steps/gate.polysilicon_deposition.a.tex: -------------------------------------------------------------------------------- 1 | \input{tikz_process_steps/gate.gate_oxid_depositon.b.tex} -------------------------------------------------------------------------------- /process_steps/process_hightech/tikz_process_steps/gate.polysilicon_deposition.b.tex: -------------------------------------------------------------------------------- 1 | \coveringlayer{poly}{1.40}{0.00} 2 | \fill[poly] (21.90,\SONOStopTHREE) rectangle (22.90,\polytop+0.2); 3 | 4 | \input{tikz_process_steps/gate.gate_oxid_depositon.b.tex} 5 | -------------------------------------------------------------------------------- /process_steps/process_hightech/tikz_process_steps/glass.a.tex: -------------------------------------------------------------------------------- 1 | \fill[isolationoxide] (0.0,\LowerMoreMetalTwo) rectangle (55.0,\UpperGlass); 2 | 3 | \input{tikz_process_steps/metal3.a.tex} 4 | 5 | \paintscaledvias{white}{\UpperMoreMetalTwo}{\UpperGlass}{0.25} 6 | -------------------------------------------------------------------------------- /process_steps/process_hightech/tikz_process_steps/implantstop.a.tex: -------------------------------------------------------------------------------- 1 | \input{tikz_process_steps/gate.a.tex} 2 | \fill[isolationoxide] (45.0,\polytop+0.75) rectangle (46.0,\implantstoptop); 3 | -------------------------------------------------------------------------------- /process_steps/process_hightech/tikz_process_steps/metal.cleaning.b.tex: -------------------------------------------------------------------------------- 1 | \fill[isolationoxide] (0,1.5) rectangle (20,\LowerMetal); 2 | 3 | \input{tikz_process_steps/silicification.a.tex} 4 | 5 | \fill[metal1] (1.5,2.0) rectangle (2.75,\LowerMetal); 6 | \fill[metal1] (3.25,2.0) rectangle (4.25,\LowerMetal); 7 | \fill[metal1] (5.25,3.0) rectangle (6.25,\LowerMetal); 8 | \fill[metal1] (7.25,2.0) rectangle (8.25,\LowerMetal); 9 | \fill[metal1] (12.0,2.0) rectangle (12.75,\LowerMetal); 10 | \fill[metal1] (13.75,3.0) rectangle (14.75,\LowerMetal); 11 | \fill[metal1] (15.75,2.0) rectangle (16.75,\LowerMetal); 12 | \fill[metal1] (17.25,2.0) rectangle (18.25,\LowerMetal); 13 | 14 | \fill[metal1] (0,\LowerMetal) rectangle (4.25,\UpperMetal); 15 | \fill[metal1] (5.25,\LowerMetal) rectangle (6.25,\UpperMetal); 16 | \fill[metal1] (7.25,\LowerMetal) rectangle (12.75,\UpperMetal); 17 | \fill[metal1] (13.75,\LowerMetal) rectangle (14.75,\UpperMetal); 18 | \fill[metal1] (15.75,\LowerMetal) rectangle (20.0,\UpperMetal); -------------------------------------------------------------------------------- /process_steps/process_hightech/tikz_process_steps/metal.etching.a.tex: -------------------------------------------------------------------------------- 1 | \fill[isolationoxide] (0,1.5) rectangle (20,\LowerMetal); 2 | 3 | \input{tikz_process_steps/silicification.a.tex} 4 | 5 | \fill[metal1] (1.5,2.0) rectangle (2.75,\LowerMetal); 6 | \fill[metal1] (3.25,2.0) rectangle (4.25,\LowerMetal); 7 | \fill[metal1] (5.25,3.0) rectangle (6.25,\LowerMetal); 8 | \fill[metal1] (7.25,2.0) rectangle (8.25,\LowerMetal); 9 | \fill[metal1] (12.0,2.0) rectangle (12.75,\LowerMetal); 10 | \fill[metal1] (13.75,3.0) rectangle (14.75,\LowerMetal); 11 | \fill[metal1] (15.75,2.0) rectangle (16.75,\LowerMetal); 12 | \fill[metal1] (17.25,2.0) rectangle (18.25,\LowerMetal); 13 | 14 | \fill[metal1] (0,\LowerMetal) rectangle (20.0,\UpperMetal); 15 | 16 | \fill[resist] (0,\UpperMetal) rectangle (4.25,\UpperMetalResist); 17 | \fill[resist] (5.25,\UpperMetal) rectangle (6.25,\UpperMetalResist); 18 | \fill[resist] (7.25,\UpperMetal) rectangle (12.75,\UpperMetalResist); 19 | \fill[resist] (13.75,\UpperMetal) rectangle (14.75,\UpperMetalResist); 20 | \fill[resist] (15.75,\UpperMetal) rectangle (20.0,\UpperMetalResist); 21 | -------------------------------------------------------------------------------- /process_steps/process_hightech/tikz_process_steps/metal.etching.at.tex: -------------------------------------------------------------------------------- 1 | \fill[metal1] (0,0) rectangle (20,12); 2 | \fill[resist] (7,8) rectangle (13,12); 3 | \fill[resist] (1.0,0) rectangle (5.0,12); 4 | \fill[resist] (6.5,1) rectangle (13.5,7); 5 | \fill[resist] (8,0) rectangle (12,1); 6 | \fill[resist] (15.0,0) rectangle (19.0,12); 7 | -------------------------------------------------------------------------------- /process_steps/process_hightech/tikz_process_steps/metal.etching.bt.tex: -------------------------------------------------------------------------------- 1 | \fill[isolationoxide] (0,0) rectangle (20,12); 2 | \fill[resist] (7,8) rectangle (13,12); 3 | \fill[resist] (1.0,0) rectangle (5.0,12); 4 | \fill[resist] (6.5,1) rectangle (13.5,7); 5 | \fill[resist] (8,0) rectangle (12,1); 6 | \fill[resist] (15.0,0) rectangle (19.0,12); 7 | -------------------------------------------------------------------------------- /process_steps/process_hightech/tikz_process_steps/metal.layout.tex: -------------------------------------------------------------------------------- 1 | \input{tikz_process_steps/contact.layout.tex} 2 | 3 | \fill[metal1,opacity=\OpacityLayout] (7,8) rectangle (13,12); 4 | \fill[metal1,opacity=\OpacityLayout] (1.0,0) rectangle (5.0,12); 5 | \fill[metal1,opacity=\OpacityLayout] (6.5,1) rectangle (13.5,7); 6 | \fill[metal1,opacity=\OpacityLayout] (8,0) rectangle (12,1); 7 | \fill[metal1,opacity=\OpacityLayout] (15.0,0) rectangle (19.0,12); 8 | 9 | \node at (16,11.5) {VDD}; 10 | \node at (2.5,11.5) {GND}; 11 | \node at (10,11.5) {Input}; 12 | \node at (10,0.5) {Output}; -------------------------------------------------------------------------------- /process_steps/process_hightech/tikz_process_steps/metal.metal_deposition.a.tex: -------------------------------------------------------------------------------- 1 | \fill[isolationoxide] (0,0) rectangle (1.5,\LowerMetal); 2 | \fill[isolationoxide] (2.75,0) rectangle (3.25,\LowerMetal); 3 | \fill[isolationoxide] (4.25,0) rectangle (5.25,\LowerMetal); 4 | \fill[isolationoxide] (6.25,0) rectangle (7.25,\LowerMetal); 5 | \fill[isolationoxide] (8.25,0) rectangle (12.0,\LowerMetal); 6 | \fill[isolationoxide] (12.75,0) rectangle (13.75,\LowerMetal); 7 | \fill[isolationoxide] (14.75,0) rectangle (15.75,\LowerMetal); 8 | \fill[isolationoxide] (16.75,0) rectangle (17.25,\LowerMetal); 9 | \fill[isolationoxide] (18.25,0) rectangle (20.0,\LowerMetal); 10 | \input{tikz_process_steps/silicification.a.tex} -------------------------------------------------------------------------------- /process_steps/process_hightech/tikz_process_steps/metal.metal_deposition.b.tex: -------------------------------------------------------------------------------- 1 | \fill[isolationoxide] (0,1.5) rectangle (20,\LowerMetal); 2 | 3 | \input{tikz_process_steps/silicification.a.tex} 4 | 5 | \fill[metal1] (1.5,2.0) rectangle (2.75,\LowerMetal); 6 | \fill[metal1] (3.25,2.0) rectangle (4.25,\LowerMetal); 7 | \fill[metal1] (5.25,3.0) rectangle (6.25,\LowerMetal); 8 | \fill[metal1] (7.25,2.0) rectangle (8.25,\LowerMetal); 9 | \fill[metal1] (12.0,2.0) rectangle (12.75,\LowerMetal); 10 | \fill[metal1] (13.75,3.0) rectangle (14.75,\LowerMetal); 11 | \fill[metal1] (15.75,2.0) rectangle (16.75,\LowerMetal); 12 | \fill[metal1] (17.25,2.0) rectangle (18.25,\LowerMetal); 13 | 14 | \fill[metal1] (0,\LowerMetal) rectangle (20.0,\UpperMetal); -------------------------------------------------------------------------------- /process_steps/process_hightech/tikz_process_steps/metal.patterning.a.tex: -------------------------------------------------------------------------------- 1 | \fill[isolationoxide] (0,1.5) rectangle (20,\LowerMetal); 2 | 3 | \input{tikz_process_steps/silicification.a.tex} 4 | 5 | \fill[metal1] (1.5,2.0) rectangle (2.75,\LowerMetal); 6 | \fill[metal1] (3.25,2.0) rectangle (4.25,\LowerMetal); 7 | \fill[metal1] (5.25,3.0) rectangle (6.25,\LowerMetal); 8 | \fill[metal1] (7.25,2.0) rectangle (8.25,\LowerMetal); 9 | \fill[metal1] (12.0,2.0) rectangle (12.75,\LowerMetal); 10 | \fill[metal1] (13.75,3.0) rectangle (14.75,\LowerMetal); 11 | \fill[metal1] (15.75,2.0) rectangle (16.75,\LowerMetal); 12 | \fill[metal1] (17.25,2.0) rectangle (18.25,\LowerMetal); 13 | 14 | \fill[metal1] (0,\LowerMetal) rectangle (20.0,\UpperMetal); -------------------------------------------------------------------------------- /process_steps/process_hightech/tikz_process_steps/metal.patterning.at.tex: -------------------------------------------------------------------------------- 1 | \fill[metal1] (0,0) rectangle (20,12); 2 | 3 | -------------------------------------------------------------------------------- /process_steps/process_hightech/tikz_process_steps/metal.patterning.b.tex: -------------------------------------------------------------------------------- 1 | \fill[isolationoxide] (0,1.5) rectangle (20,\LowerMetal); 2 | 3 | \input{tikz_process_steps/silicification.a.tex} 4 | 5 | \fill[metal1] (1.5,2.0) rectangle (2.75,\LowerMetal); 6 | \fill[metal1] (3.25,2.0) rectangle (4.25,\LowerMetal); 7 | \fill[metal1] (5.25,3.0) rectangle (6.25,\LowerMetal); 8 | \fill[metal1] (7.25,2.0) rectangle (8.25,\LowerMetal); 9 | \fill[metal1] (12.0,2.0) rectangle (12.75,\LowerMetal); 10 | \fill[metal1] (13.75,3.0) rectangle (14.75,\LowerMetal); 11 | \fill[metal1] (15.75,2.0) rectangle (16.75,\LowerMetal); 12 | \fill[metal1] (17.25,2.0) rectangle (18.25,\LowerMetal); 13 | 14 | \fill[metal1] (0,\LowerMetal) rectangle (20.0,\UpperMetal); 15 | 16 | \fill[resist] (0,\UpperMetal) rectangle (4.25,\UpperMetalResist); 17 | \fill[resist] (5.25,\UpperMetal) rectangle (6.25,\UpperMetalResist); 18 | \fill[resist] (7.25,\UpperMetal) rectangle (12.75,\UpperMetalResist); 19 | \fill[resist] (13.75,\UpperMetal) rectangle (14.75,\UpperMetalResist); 20 | \fill[resist] (15.75,\UpperMetal) rectangle (20.0,\UpperMetalResist); 21 | -------------------------------------------------------------------------------- /process_steps/process_hightech/tikz_process_steps/metal.patterning.bt.tex: -------------------------------------------------------------------------------- 1 | \fill[metal1] (0,0) rectangle (20,12); 2 | \fill[resist] (7,8) rectangle (13,12); 3 | \fill[resist] (1.0,0) rectangle (5.0,12); 4 | \fill[resist] (6.5,1) rectangle (13.5,7); 5 | \fill[resist] (8,0) rectangle (12,1); 6 | \fill[resist] (15.0,0) rectangle (19.0,12); 7 | -------------------------------------------------------------------------------- /process_steps/process_hightech/tikz_process_steps/metal1.tex: -------------------------------------------------------------------------------- 1 | \fill[nitride] (0.0,\LowerMetal) rectangle (55.0,\LowerMetal+0.5); 2 | \fill[isolationoxide] (0.0,2.0) rectangle (55.0,\LowerMetal+0.25); 3 | 4 | \paintscaledmetal{nitride}{0.25}{0.5} 5 | \paintscaledmetal{isolationoxide}{0.0}{0.25} 6 | 7 | \input{tikz_process_steps/silicification.a.tex} 8 | 9 | \paintcontacts{brown}{gray}{brown} 10 | -------------------------------------------------------------------------------- /process_steps/process_hightech/tikz_process_steps/metal2.a.tex: -------------------------------------------------------------------------------- 1 | \input{tikz_process_steps/via1.a.tex} 2 | 3 | \fill[nitride] (0,\LowerMoreMetal) rectangle (55,\LowerMoreMetal+0.5); 4 | \fill[isolationoxide] (0,\LowerMoreMetal) rectangle (55,\LowerMoreMetal+0.25); 5 | 6 | \paintscaledvias{nitride}{\LowerMoreMetal+0.25}{\UpperMoreMetal+0.5}{0.75} 7 | \paintscaledvias{isolationoxide}{\LowerMoreMetal}{\UpperMoreMetal+0.25}{0.5} 8 | 9 | \paintscaledvias{gray}{\LowerMoreMetal}{\UpperMoreMetal}{0.25} 10 | \paintscaledvias{brown}{\LowerMoreMetal+0.3}{\UpperMoreMetal}{0.25} 11 | 12 | \paintscaledvias{gray}{\UpperMetal}{\LowerMoreMetal}{0.0} 13 | \paintscaledvias{brown}{\UpperMetal+0.2}{\UpperMoreMetal}{-0.2} 14 | 15 | -------------------------------------------------------------------------------- /process_steps/process_hightech/tikz_process_steps/metal2.b.tex: -------------------------------------------------------------------------------- 1 | \fill[isolationoxide] (0,0) rectangle (20,15); 2 | \fill[metal2] (1,8) rectangle (5,15); 3 | \fill[metal2] (15,8) rectangle (19,15); 4 | -------------------------------------------------------------------------------- /process_steps/process_hightech/tikz_process_steps/metal2.cleaning.b.tex: -------------------------------------------------------------------------------- 1 | \fill[metal2] (1,\LowerMetal) rectangle (3,\UpperMoreMetal); 2 | \fill[metal2] (5,\LowerMetal) rectangle (6.5,\UpperMoreMetal); 3 | \fill[metal2] (9,\LowerMetal) rectangle (11,\UpperMoreMetal); 4 | \fill[metal2] (13.5,\LowerMetal) rectangle (15,\UpperMoreMetal); 5 | \fill[metal2] (17,\LowerMetal) rectangle (19,\UpperMoreMetal); 6 | 7 | \fill[metal2] (0,\LowerMoreMetal) rectangle (3,\UpperMoreMetal); 8 | \fill[metal2] (4,\LowerMoreMetal) rectangle (7,\UpperMoreMetal); 9 | \fill[metal2] (8,\LowerMoreMetal) rectangle (12,\UpperMoreMetal); 10 | \fill[metal2] (13,\LowerMoreMetal) rectangle (16,\UpperMoreMetal); 11 | \fill[metal2] (17,\LowerMoreMetal) rectangle (20,\UpperMoreMetal); 12 | 13 | \input{tikz_process_steps/via.a.tex} 14 | -------------------------------------------------------------------------------- /process_steps/process_hightech/tikz_process_steps/metal2.etching.a.tex: -------------------------------------------------------------------------------- 1 | \fill[metal2] (1,\LowerMetal) rectangle (3,\UpperMoreMetal); 2 | \fill[metal2] (5,\LowerMetal) rectangle (6.5,\UpperMoreMetal); 3 | \fill[metal2] (9,\LowerMetal) rectangle (11,\UpperMoreMetal); 4 | \fill[metal2] (13.5,\LowerMetal) rectangle (15,\UpperMoreMetal); 5 | \fill[metal2] (17,\LowerMetal) rectangle (19,\UpperMoreMetal); 6 | \fill[metal2] (0,\LowerMoreMetal) rectangle (20,\UpperMoreMetal); 7 | 8 | \fill[resist] (0,\UpperMoreMetal) rectangle (3,\UpperMoreMetalResist); 9 | \fill[resist] (4,\UpperMoreMetal) rectangle (7,\UpperMoreMetalResist); 10 | \fill[resist] (8,\UpperMoreMetal) rectangle (12,\UpperMoreMetalResist); 11 | \fill[resist] (13,\UpperMoreMetal) rectangle (16,\UpperMoreMetalResist); 12 | \fill[resist] (17,\UpperMoreMetal) rectangle (20,\UpperMoreMetalResist); 13 | 14 | \input{tikz_process_steps/via1.a.tex} 15 | -------------------------------------------------------------------------------- /process_steps/process_hightech/tikz_process_steps/metal2.etching.at.tex: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libresilicon/process/fc0f7c92f050ae4937ffb290b7a5597f7c412ca4/process_steps/process_hightech/tikz_process_steps/metal2.etching.at.tex -------------------------------------------------------------------------------- /process_steps/process_hightech/tikz_process_steps/metal2.etching.bt.tex: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libresilicon/process/fc0f7c92f050ae4937ffb290b7a5597f7c412ca4/process_steps/process_hightech/tikz_process_steps/metal2.etching.bt.tex -------------------------------------------------------------------------------- /process_steps/process_hightech/tikz_process_steps/metal2.layout.tex: -------------------------------------------------------------------------------- 1 | \input{tikz_process_steps/via.layout.tex} 2 | \fill[metal2,opacity=\OpacityLayout] (1,8) rectangle (5,15); 3 | \fill[metal2,opacity=\OpacityLayout] (15,8) rectangle (19,15); 4 | -------------------------------------------------------------------------------- /process_steps/process_hightech/tikz_process_steps/metal2.metal_deposition.a.tex: -------------------------------------------------------------------------------- 1 | \input{tikz_process_steps/via1.a.tex} 2 | -------------------------------------------------------------------------------- /process_steps/process_hightech/tikz_process_steps/metal2.metal_deposition.b.tex: -------------------------------------------------------------------------------- 1 | \fill[metal2] (1,\LowerMetal) rectangle (3,\UpperMoreMetal); 2 | \fill[metal2] (5,\LowerMetal) rectangle (6.5,\UpperMoreMetal); 3 | \fill[metal2] (9,\LowerMetal) rectangle (11,\UpperMoreMetal); 4 | \fill[metal2] (13.5,\LowerMetal) rectangle (15,\UpperMoreMetal); 5 | \fill[metal2] (17,\LowerMetal) rectangle (19,\UpperMoreMetal); 6 | \fill[metal2] (0,\LowerMoreMetal) rectangle (20,\UpperMoreMetal); 7 | 8 | \input{tikz_process_steps/via1.a.tex} 9 | -------------------------------------------------------------------------------- /process_steps/process_hightech/tikz_process_steps/metal2.patterning.a.tex: -------------------------------------------------------------------------------- 1 | \fill[metal2] (1,\LowerMetal) rectangle (3,\UpperMoreMetal); 2 | \fill[metal2] (5,\LowerMetal) rectangle (6.5,\UpperMoreMetal); 3 | \fill[metal2] (9,\LowerMetal) rectangle (11,\UpperMoreMetal); 4 | \fill[metal2] (13.5,\LowerMetal) rectangle (15,\UpperMoreMetal); 5 | \fill[metal2] (17,\LowerMetal) rectangle (19,\UpperMoreMetal); 6 | \fill[metal2] (0,\LowerMoreMetal) rectangle (20,\UpperMoreMetal); 7 | 8 | \input{tikz_process_steps/via.a.tex} 9 | -------------------------------------------------------------------------------- /process_steps/process_hightech/tikz_process_steps/metal2.patterning.at.tex: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libresilicon/process/fc0f7c92f050ae4937ffb290b7a5597f7c412ca4/process_steps/process_hightech/tikz_process_steps/metal2.patterning.at.tex -------------------------------------------------------------------------------- /process_steps/process_hightech/tikz_process_steps/metal2.patterning.b.tex: -------------------------------------------------------------------------------- 1 | \fill[metal2] (1,\LowerMetal) rectangle (3,\UpperMoreMetal); 2 | \fill[metal2] (5,\LowerMetal) rectangle (6.5,\UpperMoreMetal); 3 | \fill[metal2] (9,\LowerMetal) rectangle (11,\UpperMoreMetal); 4 | \fill[metal2] (13.5,\LowerMetal) rectangle (15,\UpperMoreMetal); 5 | \fill[metal2] (17,\LowerMetal) rectangle (19,\UpperMoreMetal); 6 | \fill[metal2] (0,\LowerMoreMetal) rectangle (20,\UpperMoreMetal); 7 | 8 | \fill[resist] (0,\UpperMoreMetal) rectangle (3,\UpperMoreMetalResist); 9 | \fill[resist] (4,\UpperMoreMetal) rectangle (7,\UpperMoreMetalResist); 10 | \fill[resist] (8,\UpperMoreMetal) rectangle (12,\UpperMoreMetalResist); 11 | \fill[resist] (13,\UpperMoreMetal) rectangle (16,\UpperMoreMetalResist); 12 | \fill[resist] (17,\UpperMoreMetal) rectangle (20,\UpperMoreMetalResist); 13 | 14 | \input{tikz_process_steps/via.a.tex} 15 | -------------------------------------------------------------------------------- /process_steps/process_hightech/tikz_process_steps/metal2.patterning.bt.tex: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libresilicon/process/fc0f7c92f050ae4937ffb290b7a5597f7c412ca4/process_steps/process_hightech/tikz_process_steps/metal2.patterning.bt.tex -------------------------------------------------------------------------------- /process_steps/process_hightech/tikz_process_steps/metal3.a.tex: -------------------------------------------------------------------------------- 1 | \input{tikz_process_steps/via2.a.tex} 2 | 3 | \fill[nitride] (0,\LowerMoreMetalTwo) rectangle (55,\LowerMoreMetalTwo+0.5); 4 | \fill[isolationoxide] (0,\LowerMoreMetalTwo) rectangle (55,\LowerMoreMetalTwo+0.25); 5 | 6 | \paintscaledvias{nitride}{\LowerMoreMetalTwo+0.25}{\UpperMoreMetalTwo+0.5}{1.00} 7 | \paintscaledvias{isolationoxide}{\LowerMoreMetalTwo}{\UpperMoreMetalTwo+0.25}{0.75} 8 | 9 | \paintscaledvias{gray}{\UpperMoreMetal}{\LowerMoreMetalTwo}{0.25} 10 | \paintscaledvias{gray}{\LowerMoreMetalTwo}{\UpperMoreMetalTwo}{0.50} 11 | 12 | \paintscaledvias{brown}{\UpperMoreMetal+0.25}{\LowerMoreMetalTwo+0.3}{-0.1} 13 | \paintscaledvias{brown}{\LowerMoreMetalTwo+0.3}{\UpperMoreMetalTwo}{0.5} 14 | -------------------------------------------------------------------------------- /process_steps/process_hightech/tikz_process_steps/metal3.etching.a.tex: -------------------------------------------------------------------------------- 1 | \fill[metal2] (1,\LowerMetal) rectangle (3,\UpperMoreMetal); 2 | \fill[metal2] (5,\LowerMetal) rectangle (6.5,\UpperMoreMetal); 3 | \fill[metal2] (9,\LowerMetal) rectangle (11,\UpperMoreMetal); 4 | \fill[metal2] (13.5,\LowerMetal) rectangle (15,\UpperMoreMetal); 5 | \fill[metal2] (17,\LowerMetal) rectangle (19,\UpperMoreMetal); 6 | \fill[metal2] (0,\LowerMoreMetal) rectangle (20,\UpperMoreMetal); 7 | 8 | \fill[resist] (0,\UpperMoreMetal) rectangle (3,\UpperMoreMetalResist); 9 | \fill[resist] (4,\UpperMoreMetal) rectangle (7,\UpperMoreMetalResist); 10 | \fill[resist] (8,\UpperMoreMetal) rectangle (12,\UpperMoreMetalResist); 11 | \fill[resist] (13,\UpperMoreMetal) rectangle (16,\UpperMoreMetalResist); 12 | \fill[resist] (17,\UpperMoreMetal) rectangle (20,\UpperMoreMetalResist); 13 | 14 | \input{tikz_process_steps/via1.a.tex} 15 | -------------------------------------------------------------------------------- /process_steps/process_hightech/tikz_process_steps/metal3.metal_deposition.a.tex: -------------------------------------------------------------------------------- 1 | \input{tikz_process_steps/via1.a.tex} 2 | -------------------------------------------------------------------------------- /process_steps/process_hightech/tikz_process_steps/metal3.metal_deposition.b.tex: -------------------------------------------------------------------------------- 1 | \fill[metal2] (1,\LowerMetal) rectangle (3,\UpperMoreMetal); 2 | \fill[metal2] (5,\LowerMetal) rectangle (6.5,\UpperMoreMetal); 3 | \fill[metal2] (9,\LowerMetal) rectangle (11,\UpperMoreMetal); 4 | \fill[metal2] (13.5,\LowerMetal) rectangle (15,\UpperMoreMetal); 5 | \fill[metal2] (17,\LowerMetal) rectangle (19,\UpperMoreMetal); 6 | \fill[metal2] (0,\LowerMoreMetal) rectangle (20,\UpperMoreMetal); 7 | 8 | \input{tikz_process_steps/via1.a.tex} 9 | -------------------------------------------------------------------------------- /process_steps/process_hightech/tikz_process_steps/metal_cap.a.tex: -------------------------------------------------------------------------------- 1 | \input{tikz_process_steps/more_metal1.tex} 2 | -------------------------------------------------------------------------------- /process_steps/process_hightech/tikz_process_steps/nbase.a.tex: -------------------------------------------------------------------------------- 1 | \input{tikz_process_steps/sti.a.tex} 2 | \paintnwells{3.75} 3 | \paintpwells{3.75} 4 | \paintpbases{2.0} 5 | \paintnbases{0.5} 6 | 7 | -------------------------------------------------------------------------------- /process_steps/process_hightech/tikz_process_steps/nbase.b.tex: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libresilicon/process/fc0f7c92f050ae4937ffb290b7a5597f7c412ca4/process_steps/process_hightech/tikz_process_steps/nbase.b.tex -------------------------------------------------------------------------------- /process_steps/process_hightech/tikz_process_steps/nimplant.a.tex: -------------------------------------------------------------------------------- 1 | \input{tikz_process_steps/implantstop.a.tex} 2 | 3 | \paintnimplants{0.25} 4 | 5 | -------------------------------------------------------------------------------- /process_steps/process_hightech/tikz_process_steps/nimplant.b.tex: -------------------------------------------------------------------------------- 1 | \input{tikz_process_steps/gate.b.tex} 2 | 3 | % n+ 4 | \fill[nimplant] (1.25,1.0) rectangle (3.0,7.25); 5 | \fill[nimplant] (11.75,1.0) rectangle (13.5,7.25); 6 | \fill[nimplant] (15.0,1.0) rectangle (17.0,7.25); 7 | -------------------------------------------------------------------------------- /process_steps/process_hightech/tikz_process_steps/nimplant.cleaning.a.tex: -------------------------------------------------------------------------------- 1 | \input{tikz_process_steps/nimplant.implantation.b.tex} 2 | -------------------------------------------------------------------------------- /process_steps/process_hightech/tikz_process_steps/nimplant.cleaning.b.tex: -------------------------------------------------------------------------------- 1 | \input{tikz_process_steps/gate.a.tex} 2 | 3 | \shade[upper left = nimplant, upper right = nimplant, lower right = nwell, lower left = nwell,] (1.5,1.5) rectangle (2.5,2); 4 | \node at (2,1.65) {n+}; 5 | \shade[upper left = nimplant, upper right = nimplant, lower right = pwell, lower left = pwell,] (12.0,1.5) rectangle (13.0,2); 6 | \node at (12.5,1.65) {n+}; 7 | \shade[upper left = nimplant, upper right = nimplant, lower right = pwell, lower left = pwell,] (14.5,1.5) rectangle (15.5,2); 8 | \node at (15,1.65) {n+}; 9 | 10 | -------------------------------------------------------------------------------- /process_steps/process_hightech/tikz_process_steps/nimplant.implantation.a.tex: -------------------------------------------------------------------------------- 1 | \forloop{ct}{0}{\value{ct} < 21} 2 | { 3 | \draw [->] (\value{ct},6) -- (\value{ct},5); 4 | \node at (\value{ct},6.2) {P$^{31}$}; 5 | } 6 | 7 | \input{tikz_process_steps/nimplant.patterning.b.tex} 8 | -------------------------------------------------------------------------------- /process_steps/process_hightech/tikz_process_steps/nimplant.implantation.b.tex: -------------------------------------------------------------------------------- 1 | % resist 2 | \fill[resist] (0,2.0) rectangle (0.75,5.0); 3 | \fill[resist] (3.25,2.0) rectangle (11.25,5.0); 4 | \fill[resist] (16.25,2.0) rectangle (20,5.0); 5 | 6 | \input{tikz_process_steps/nimplant.cleaning.b.tex} 7 | -------------------------------------------------------------------------------- /process_steps/process_hightech/tikz_process_steps/nimplant.layout.tex: -------------------------------------------------------------------------------- 1 | \input{tikz_process_steps/gate.layout.tex} 2 | 3 | % n+ 4 | \fill[nimplant,opacity=\OpacityLayout] (1,0.75) rectangle (3,7.5); 5 | \fill[nimplant,opacity=\OpacityLayout] (11.5,0.75) rectangle (17,7.5); 6 | -------------------------------------------------------------------------------- /process_steps/process_hightech/tikz_process_steps/nimplant.patterning.a.tex: -------------------------------------------------------------------------------- 1 | \input{tikz_process_steps/gate.a.tex} 2 | -------------------------------------------------------------------------------- /process_steps/process_hightech/tikz_process_steps/nimplant.patterning.at.tex: -------------------------------------------------------------------------------- 1 | \fill[isolationoxide] (0,0) rectangle (20,12); -------------------------------------------------------------------------------- /process_steps/process_hightech/tikz_process_steps/nimplant.patterning.b.tex: -------------------------------------------------------------------------------- 1 | % resist 2 | \fill[resist] (0,2.0) rectangle (0.75,5.0); 3 | \fill[resist] (3.25,2.0) rectangle (11.25,5.0); 4 | \fill[resist] (16.25,2.0) rectangle (20,5.0); 5 | 6 | \input{tikz_process_steps/nimplant.patterning.a.tex} 7 | -------------------------------------------------------------------------------- /process_steps/process_hightech/tikz_process_steps/nimplant.patterning.bt.tex: -------------------------------------------------------------------------------- 1 | \fill[resist] (0,0) rectangle (20,12); 2 | 3 | % n+ 4 | \fill[isolationoxide] (1.5,2) rectangle (3,6.5); 5 | \fill[isolationoxide] (12,2) rectangle (13.5,6.5); 6 | \fill[isolationoxide] (15,2) rectangle (16.5,6.5); -------------------------------------------------------------------------------- /process_steps/process_hightech/tikz_process_steps/nwell.a.tex: -------------------------------------------------------------------------------- 1 | \input{tikz_process_steps/sti.a.tex} 2 | \paintnwells{0.5} 3 | -------------------------------------------------------------------------------- /process_steps/process_hightech/tikz_process_steps/nwell.b.tex: -------------------------------------------------------------------------------- 1 | \input{tikz_process_steps/sti.b.tex} 2 | 3 | \fill[nwell] (1.25,1) rectangle (8.25,7.25); 4 | \fill[nwell] (18.25,1) rectangle (25.25,7.25); 5 | \fill[nwell] (26.75,1) rectangle (33.75,7.25); 6 | \fill[nwell] (35.25,1) rectangle (42.25,7.25); -------------------------------------------------------------------------------- /process_steps/process_hightech/tikz_process_steps/nwell.cleaning.a.tex: -------------------------------------------------------------------------------- 1 | \input{tikz_process_steps/nwell.implantation.b.tex} 2 | -------------------------------------------------------------------------------- /process_steps/process_hightech/tikz_process_steps/nwell.cleaning.b.tex: -------------------------------------------------------------------------------- 1 | \input{tikz_process_steps/sti.a.tex} 2 | \shade[upper left = nwell, upper right = nwell, lower right = substrate, lower left = substrate,] (1.0,1.5) rectangle (8.5,2.0); 3 | -------------------------------------------------------------------------------- /process_steps/process_hightech/tikz_process_steps/nwell.implantation.a.tex: -------------------------------------------------------------------------------- 1 | \input{tikz_process_steps/nwell.patterning.b.tex} 2 | 3 | \forloop{ct}{0}{\value{ct} < 21} 4 | { 5 | \draw [->] (\value{ct},6) -- (\value{ct},5); 6 | \node at (\value{ct},6.2) {P$^{31}$}; 7 | } 8 | -------------------------------------------------------------------------------- /process_steps/process_hightech/tikz_process_steps/nwell.implantation.b.tex: -------------------------------------------------------------------------------- 1 | % resist 2 | \fill[resist] (0.25,2.0) rectangle (1,5.0); 3 | \fill[resist] (8.5,2.0) rectangle (19.75,5.0); 4 | 5 | \input{tikz_process_steps/nwell.cleaning.b.tex} 6 | -------------------------------------------------------------------------------- /process_steps/process_hightech/tikz_process_steps/nwell.layout.tex: -------------------------------------------------------------------------------- 1 | \input{tikz_process_steps/pwell.layout.tex} 2 | \fill[nwell,opacity=\OpacityLayout] (1,0.75) rectangle (8.5,7.5); -------------------------------------------------------------------------------- /process_steps/process_hightech/tikz_process_steps/nwell.patterning.a.tex: -------------------------------------------------------------------------------- 1 | \input{tikz_process_steps/sti.a.tex} 2 | -------------------------------------------------------------------------------- /process_steps/process_hightech/tikz_process_steps/nwell.patterning.at.tex: -------------------------------------------------------------------------------- 1 | % resist 2 | \fill[isolationoxide] (0,0) rectangle (20,12); -------------------------------------------------------------------------------- /process_steps/process_hightech/tikz_process_steps/nwell.patterning.b.tex: -------------------------------------------------------------------------------- 1 | % resist 2 | \fill[resist] (0.25,2.0) rectangle (1,5.0); 3 | \fill[resist] (8.5,2.0) rectangle (19.75,5.0); 4 | 5 | \input{tikz_process_steps/sti.a.tex} 6 | -------------------------------------------------------------------------------- /process_steps/process_hightech/tikz_process_steps/nwell.patterning.bt.tex: -------------------------------------------------------------------------------- 1 | % resist 2 | \fill[resist] (0,0) rectangle (20,12); 3 | % substrate 4 | \fill[isolationoxide] (1.25,1.5) rectangle (8.25,7.25); -------------------------------------------------------------------------------- /process_steps/process_hightech/tikz_process_steps/pbase.a.tex: -------------------------------------------------------------------------------- 1 | \input{tikz_process_steps/sti.a.tex} 2 | \paintnwells{3.5} 3 | \paintpwells{3.5} 4 | \paintpbases{1.0} 5 | -------------------------------------------------------------------------------- /process_steps/process_hightech/tikz_process_steps/pbase.b.tex: -------------------------------------------------------------------------------- 1 | \input{tikz_process_steps/pwell.b.tex} 2 | 3 | \fill[pbase] (18.5,1.5) rectangle (25.0,6.75); 4 | \fill[pbase] (28.25,1.5) rectangle (36.75,6.75); 5 | \fill[pbase] (35.5,1.5) rectangle (37.0,6.75); 6 | \fill[pbase] (38.0,1.5) rectangle (39.5,6.75); 7 | \fill[pbase] (40.5,1.5) rectangle (41.5,6.75); 8 | 9 | -------------------------------------------------------------------------------- /process_steps/process_hightech/tikz_process_steps/pimplant.a.tex: -------------------------------------------------------------------------------- 1 | \input{tikz_process_steps/implantstop.a.tex} 2 | 3 | \paintnimplants{0.5} 4 | \paintpimplants{0.5} 5 | 6 | -------------------------------------------------------------------------------- /process_steps/process_hightech/tikz_process_steps/pimplant.b.tex: -------------------------------------------------------------------------------- 1 | \input{tikz_process_steps/nimplant.b.tex} 2 | 3 | % p+ 4 | \fill[pimplant] (3,1.0) rectangle (5,7.25); 5 | \fill[pimplant] (6.5,1.0) rectangle (8.25,7.25); 6 | \fill[pimplant] (17,1.0) rectangle (18.75,7.25); 7 | -------------------------------------------------------------------------------- /process_steps/process_hightech/tikz_process_steps/pimplant.cleaning.a.tex: -------------------------------------------------------------------------------- 1 | \input{tikz_process_steps/pimplant.implantation.b.tex} 2 | -------------------------------------------------------------------------------- /process_steps/process_hightech/tikz_process_steps/pimplant.cleaning.b.tex: -------------------------------------------------------------------------------- 1 | \input{tikz_process_steps/nimplant.a.tex} 2 | 3 | \shade[upper left = pimplant, upper right = pimplant, lower right = nwell, lower left = nwell,] (4.5,1.5) rectangle (5.5,2); 4 | \node at (5,1.65) {p+}; 5 | \shade[upper left = pimplant, upper right = pimplant, lower right = nwell, lower left = nwell,] (7,1.5) rectangle (8.0,2); 6 | \node at (7.5,1.65) {p+}; 7 | \shade[upper left = pimplant, upper right = pimplant, lower right = pwell, lower left = pwell,] (17.5,1.5) rectangle (18.5,2); 8 | \node at (18,1.65) {p+}; 9 | -------------------------------------------------------------------------------- /process_steps/process_hightech/tikz_process_steps/pimplant.implantation.a.tex: -------------------------------------------------------------------------------- 1 | \forloop{ct}{0}{\value{ct} < 21} 2 | { 3 | \draw [->] (\value{ct},6) -- (\value{ct},5); 4 | \node at (\value{ct},6.2) {B$^{11}$}; 5 | } 6 | 7 | \input{tikz_process_steps/pimplant.patterning.b.tex} 8 | -------------------------------------------------------------------------------- /process_steps/process_hightech/tikz_process_steps/pimplant.implantation.b.tex: -------------------------------------------------------------------------------- 1 | \input{tikz_process_steps/pimplant.patterning.b.tex} 2 | 3 | \shade[upper left = pimplant, upper right = pimplant, lower right = nwell, lower left = nwell,] (4.5,1.5) rectangle (5.5,2); 4 | \node at (5,1.65) {p+}; 5 | \shade[upper left = pimplant, upper right = pimplant, lower right = nwell, lower left = nwell,] (7,1.5) rectangle (8.0,2); 6 | \node at (7.5,1.65) {p+}; 7 | \shade[upper left = pimplant, upper right = pimplant, lower right = pwell, lower left = pwell,] (17.5,1.5) rectangle (18.5,2); 8 | \node at (18,1.65) {p+}; 9 | -------------------------------------------------------------------------------- /process_steps/process_hightech/tikz_process_steps/pimplant.layout.tex: -------------------------------------------------------------------------------- 1 | \input{tikz_process_steps/nimplant.layout.tex} 2 | 3 | % p+ 4 | \fill[pimplant,opacity=\OpacityLayout] (3,0.75) rectangle (8.25,7.5); 5 | \fill[pimplant,opacity=\OpacityLayout] (17,0.75) rectangle (19,7.5); -------------------------------------------------------------------------------- /process_steps/process_hightech/tikz_process_steps/pimplant.patterning.a.tex: -------------------------------------------------------------------------------- 1 | \input{tikz_process_steps/nimplant.a.tex} 2 | -------------------------------------------------------------------------------- /process_steps/process_hightech/tikz_process_steps/pimplant.patterning.at.tex: -------------------------------------------------------------------------------- 1 | \fill[isolationoxide] (0,0) rectangle (20,12); -------------------------------------------------------------------------------- /process_steps/process_hightech/tikz_process_steps/pimplant.patterning.b.tex: -------------------------------------------------------------------------------- 1 | % resist 2 | \fill[resist] (0,2.0) rectangle (3.75,5.0); 3 | \fill[resist] (8.75,2.0) rectangle (16.75,5.0); 4 | \fill[resist] (19.25,2.0) rectangle (20,5.0); 5 | 6 | \input{tikz_process_steps/pimplant.patterning.a.tex} 7 | -------------------------------------------------------------------------------- /process_steps/process_hightech/tikz_process_steps/pimplant.patterning.bt.tex: -------------------------------------------------------------------------------- 1 | \fill[resist] (0,0) rectangle (20,12); 2 | 3 | % p+ 4 | \fill[isolationoxide] (3.5,2) rectangle (5,6.5); 5 | \fill[isolationoxide] (6.5,2) rectangle (8,6.5); 6 | \fill[isolationoxide] (17,2) rectangle (18.25,6.5); -------------------------------------------------------------------------------- /process_steps/process_hightech/tikz_process_steps/pwell.a.tex: -------------------------------------------------------------------------------- 1 | \input{tikz_process_steps/sti.a.tex} 2 | \paintnwells{1.5} 3 | \paintpwells{1.5} 4 | -------------------------------------------------------------------------------- /process_steps/process_hightech/tikz_process_steps/pwell.b.tex: -------------------------------------------------------------------------------- 1 | \input{tikz_process_steps/nwell.b.tex} 2 | 3 | \fill[pwell] (9.75,1) rectangle (16.75,7.25); -------------------------------------------------------------------------------- /process_steps/process_hightech/tikz_process_steps/pwell.cleaning.a.tex: -------------------------------------------------------------------------------- 1 | \input{tikz_process_steps/pwell.implantation.b.tex} 2 | -------------------------------------------------------------------------------- /process_steps/process_hightech/tikz_process_steps/pwell.cleaning.b.tex: -------------------------------------------------------------------------------- 1 | \input{tikz_process_steps/basic.a.tex} 2 | % boron 3 | \shade[upper left = pwell, upper right = pwell, lower right = substrate, lower left = substrate,] (11.5,1.5) rectangle (19.0,2); 4 | -------------------------------------------------------------------------------- /process_steps/process_hightech/tikz_process_steps/pwell.implantation.a.tex: -------------------------------------------------------------------------------- 1 | \input{tikz_process_steps/pwell.patterning.b.tex} 2 | 3 | \forloop{ct}{0}{\value{ct} < 21} 4 | { 5 | \draw [->] (\value{ct},6) -- (\value{ct},5); 6 | \node at (\value{ct},6.2) {B$^{11}$}; 7 | } 8 | -------------------------------------------------------------------------------- /process_steps/process_hightech/tikz_process_steps/pwell.implantation.b.tex: -------------------------------------------------------------------------------- 1 | \input{tikz_process_steps/pwell.patterning.b.tex} 2 | 3 | % boron 4 | \shade[upper left = pwell, upper right = pwell, lower right = substrate, lower left = substrate,] (11.5,1.5) rectangle (19.0,2); 5 | -------------------------------------------------------------------------------- /process_steps/process_hightech/tikz_process_steps/pwell.implantation.c.tex: -------------------------------------------------------------------------------- 1 | \input{tikz_process_steps/pwell.patterning.b.tex} 2 | 3 | % boron 4 | \shade[upper left = pwell, upper right = pwell, lower right = substrate, lower left = substrate,] (11.5,1.5) rectangle (19.0,2); 5 | -------------------------------------------------------------------------------- /process_steps/process_hightech/tikz_process_steps/pwell.patterning.a.tex: -------------------------------------------------------------------------------- 1 | \input{tikz_process_steps/nwell.a.tex} 2 | -------------------------------------------------------------------------------- /process_steps/process_hightech/tikz_process_steps/pwell.patterning.at.tex: -------------------------------------------------------------------------------- 1 | % resist 2 | \fill[isolationoxide] (0,0) rectangle (20,12); -------------------------------------------------------------------------------- /process_steps/process_hightech/tikz_process_steps/pwell.patterning.b.tex: -------------------------------------------------------------------------------- 1 | % resist 2 | \fill[resist] (0.25,2.0) rectangle (11.5,5.0); 3 | \fill[resist] (19,2.0) rectangle (19.75,5.0); 4 | 5 | \input{tikz_process_steps/pwell.patterning.a.tex} 6 | -------------------------------------------------------------------------------- /process_steps/process_hightech/tikz_process_steps/pwell.patterning.bt.tex: -------------------------------------------------------------------------------- 1 | % resist 2 | \fill[resist] (0,0) rectangle (20,12); 3 | % substrate 4 | \fill[isolationoxide] (11.5,1.5) rectangle (19,7.25); -------------------------------------------------------------------------------- /process_steps/process_hightech/tikz_process_steps/silicification.b.tex: -------------------------------------------------------------------------------- 1 | \input{tikz_process_steps/pimplant.b.tex} -------------------------------------------------------------------------------- /process_steps/process_hightech/tikz_process_steps/silicification.layout.tex: -------------------------------------------------------------------------------- 1 | \input{tikz_process_steps/pimplant.layout.tex} 2 | 3 | \fill[silicide-block,opacity=\OpacityLayout] (16,6) rectangle (18,7.5); -------------------------------------------------------------------------------- /process_steps/process_hightech/tikz_process_steps/silicification.metal_deposition.a.tex: -------------------------------------------------------------------------------- 1 | \input{tikz_process_steps/silicification.sputter_etching.b.tex} 2 | -------------------------------------------------------------------------------- /process_steps/process_hightech/tikz_process_steps/silicification.metal_deposition.b.tex: -------------------------------------------------------------------------------- 1 | \paintactivecover{titanium}{0.5} 2 | \input{tikz_process_steps/silicification.sputter_etching.b.tex} 3 | -------------------------------------------------------------------------------- /process_steps/process_hightech/tikz_process_steps/silicification.metal_removal.a.tex: -------------------------------------------------------------------------------- 1 | \input{tikz_process_steps/silicification.rtp1.b.tex} 2 | -------------------------------------------------------------------------------- /process_steps/process_hightech/tikz_process_steps/silicification.nitride_deposition.a.tex: -------------------------------------------------------------------------------- 1 | \input{tikz_process_steps/pimplant.a.tex} -------------------------------------------------------------------------------- /process_steps/process_hightech/tikz_process_steps/silicification.nitride_deposition.b.tex: -------------------------------------------------------------------------------- 1 | \coveringlayer{nitride}{0.5}{0.5} 2 | 3 | \filldraw[line width=0, nitride] ( 4.50,\STIIslandSurface) rectangle ( 6.50,\STIIslandSurface+1.9); 4 | \filldraw[line width=0, nitride] (11.50,\STIIslandSurface) rectangle (13.50,\STIIslandSurface+1.9); 5 | \filldraw[line width=0, nitride] (21.40,\STIIslandSurface) rectangle (23.40,\STIIslandSurface+2.1); 6 | 7 | \fill[nitride] (42.50,\STIIslandSurface+0.75) rectangle (48.50,\polytop+1.25); 8 | \fill[nitride] (44.5,\polytop+0.75) rectangle (46.5,\implantstoptop+0.5); 9 | 10 | \fill[nitride] (48.00,\STIIslandSurface+0.75) rectangle (55.00,\polytop+1.25); 11 | 12 | \input{tikz_process_steps/pimplant.a.tex} 13 | -------------------------------------------------------------------------------- /process_steps/process_hightech/tikz_process_steps/silicification.rtp1.a.tex: -------------------------------------------------------------------------------- 1 | \input{tikz_process_steps/silicification.metal_deposition.b.tex} 2 | -------------------------------------------------------------------------------- /process_steps/process_hightech/tikz_process_steps/silicification.rtp2.a.tex: -------------------------------------------------------------------------------- 1 | \input{tikz_process_steps/silicification.rtp2.b.tex} -------------------------------------------------------------------------------- /process_steps/process_hightech/tikz_process_steps/silicification.rtp2.b.tex: -------------------------------------------------------------------------------- 1 | \filldraw[line width=0, isolationoxide] (5,2.0) -- (4.5,2.0) -- (5,3.0); 2 | \filldraw[line width=0, isolationoxide] (6.5,2.0) -- (7.0,2.0) -- (6.5,3.0); 3 | \filldraw[line width=0, isolationoxide] (13.5,2.0) -- (13.0,2.0) -- (13.5,3.0); 4 | \filldraw[line width=0, isolationoxide] (15,2.0) -- (15.5,2.0) -- (15,3.0); 5 | 6 | \input{tikz_process_steps/pimplant.a.tex} 7 | 8 | \fill[silicide] (1.25,1.8) rectangle (4.5,2); 9 | \fill[silicide] (5,2.8) rectangle (6.5,3.0); 10 | \fill[silicide] (7,1.8) rectangle (8.25,2); 11 | 12 | \fill[silicide] (11.75,1.8) rectangle (13,2); 13 | \fill[silicide] (13.5,2.8) rectangle (15,3.0); 14 | \fill[silicide] (15.5,1.8) rectangle (18.75,2); -------------------------------------------------------------------------------- /process_steps/process_hightech/tikz_process_steps/silicification.silicide_block.a.tex: -------------------------------------------------------------------------------- 1 | \input{tikz_process_steps/silicification.oxide_growth.b.tex} 2 | -------------------------------------------------------------------------------- /process_steps/process_hightech/tikz_process_steps/silicification.silicide_block.b.tex: -------------------------------------------------------------------------------- 1 | \input{tikz_process_steps/silicification.silicide_block.a.tex} 2 | -------------------------------------------------------------------------------- /process_steps/process_hightech/tikz_process_steps/silicification.sputter_etching.a.tex: -------------------------------------------------------------------------------- 1 | \input{tikz_process_steps/silicification.nitride_deposition.b.tex} 2 | -------------------------------------------------------------------------------- /process_steps/process_hightech/tikz_process_steps/sonos.a.tex: -------------------------------------------------------------------------------- 1 | \input{tikz_process_steps/fox.a.tex} 2 | 3 | \fill[gateoxide] (21.40,\STIIslandSurface) rectangle (23.40,\SONOStopONE); 4 | \fill[nitride] (21.40,\SONOStopONE) rectangle (23.40,\SONOStopTWO); 5 | \fill[gateoxide] (21.40,\SONOStopTWO) rectangle (23.40,\SONOStopTHREE); 6 | 7 | -------------------------------------------------------------------------------- /process_steps/process_hightech/tikz_process_steps/sonos.etching.a.tex: -------------------------------------------------------------------------------- 1 | \coveringlayer{gateoxide}{0.6}{0.75} 2 | \coveringlayer{nitride}{0.4}{0.75} 3 | \coveringlayer{gateoxide}{0.2}{0.75} 4 | 5 | \input{tikz_process_steps/fox.a.tex} 6 | -------------------------------------------------------------------------------- /process_steps/process_hightech/tikz_process_steps/sonos.etching.b.tex: -------------------------------------------------------------------------------- 1 | \fill[gateoxide] (21.40,\STIIslandSurface) rectangle (23.40,\SONOStopONE); 2 | \fill[nitride] (21.40,\SONOStopONE) rectangle (23.40,\SONOStopTWO); 3 | \fill[gateoxide] (21.40,\SONOStopTWO) rectangle (23.40,\SONOStopTHREE); 4 | 5 | \input{tikz_process_steps/fox.a.tex} 6 | -------------------------------------------------------------------------------- /process_steps/process_hightech/tikz_process_steps/sonos.lto1_depositon.a.tex: -------------------------------------------------------------------------------- 1 | \input{tikz_process_steps/fox.a.tex} 2 | -------------------------------------------------------------------------------- /process_steps/process_hightech/tikz_process_steps/sonos.lto1_depositon.b.tex: -------------------------------------------------------------------------------- 1 | \coveringlayer{gateoxide}{0.2}{0.75} 2 | 3 | \input{tikz_process_steps/fox.a.tex} 4 | 5 | -------------------------------------------------------------------------------- /process_steps/process_hightech/tikz_process_steps/sonos.lto2_depositon.a.tex: -------------------------------------------------------------------------------- 1 | \coveringlayer{nitride}{0.4}{0.75} 2 | \coveringlayer{gateoxide}{0.2}{0.75} 3 | 4 | \input{tikz_process_steps/fox.a.tex} 5 | -------------------------------------------------------------------------------- /process_steps/process_hightech/tikz_process_steps/sonos.lto2_depositon.b.tex: -------------------------------------------------------------------------------- 1 | \coveringlayer{gateoxide}{0.6}{0.75} 2 | \coveringlayer{nitride}{0.4}{0.75} 3 | \coveringlayer{gateoxide}{0.2}{0.75} 4 | 5 | \input{tikz_process_steps/fox.a.tex} 6 | -------------------------------------------------------------------------------- /process_steps/process_hightech/tikz_process_steps/sonos.nitride_depositon.a.tex: -------------------------------------------------------------------------------- 1 | \coveringlayer{gateoxide}{0.2}{0.75} 2 | 3 | \input{tikz_process_steps/fox.a.tex} 4 | 5 | -------------------------------------------------------------------------------- /process_steps/process_hightech/tikz_process_steps/sonos.nitride_depositon.b.tex: -------------------------------------------------------------------------------- 1 | \coveringlayer{nitride}{0.4}{0.75} 2 | \coveringlayer{gateoxide}{0.2}{0.75} 3 | 4 | \input{tikz_process_steps/fox.a.tex} 5 | 6 | -------------------------------------------------------------------------------- /process_steps/process_hightech/tikz_process_steps/sti.a.tex: -------------------------------------------------------------------------------- 1 | %silicon oxide 2 | \fill[isolationoxide] (0,0) rectangle (55,\STIIslandSurface); 3 | 4 | % substrate 5 | \fill[substrate] (0,0) rectangle (55,\trenchBottom); 6 | \node at (2,0.5) {Silicon substrate}; 7 | 8 | % normal wells 9 | \fill[substrate] (1.25,\trenchBottom) rectangle (8.25,\STIIslandSurface); 10 | \fill[substrate] (9.75,\trenchBottom) rectangle (16.75,\STIIslandSurface); 11 | \fill[substrate] (18.25,\trenchBottom) rectangle (25.25,\STIIslandSurface); 12 | \fill[substrate] (26.75,\trenchBottom) rectangle (33.75,\STIIslandSurface); 13 | \fill[substrate] (35.25,\trenchBottom) rectangle (42.25,\STIIslandSurface); 14 | 15 | 16 | -------------------------------------------------------------------------------- /process_steps/process_hightech/tikz_process_steps/sti.b.tex: -------------------------------------------------------------------------------- 1 | % trench area 2 | \fill[isolationoxide] (0,0) rectangle (55,9); 3 | 4 | \fill[substrate] (1.25,1) rectangle (8.25,7.25); 5 | \fill[substrate] (9.75,1) rectangle (16.75,7.25); 6 | \fill[substrate] (18.25,1) rectangle (25.25,7.25); 7 | \fill[substrate] (26.75,1) rectangle (33.75,7.25); 8 | \fill[substrate] (35.25,1) rectangle (42.25,7.25); -------------------------------------------------------------------------------- /process_steps/process_hightech/tikz_process_steps/sti.cmp.a.tex: -------------------------------------------------------------------------------- 1 | \input{tikz_process_steps/sti.lto.b.tex} 2 | -------------------------------------------------------------------------------- /process_steps/process_hightech/tikz_process_steps/sti.cmp.c.tex: -------------------------------------------------------------------------------- 1 | %silicon oxide 2 | \fill[isolationoxide] (0,0) rectangle (55,\STIIslandSurface); 3 | 4 | % substrate 5 | \fill[substrate] (0,0) rectangle (55,\trenchBottom); 6 | \node at (2,0.5) {Silicon substrate}; 7 | 8 | % normal wells 9 | \fill[substrate] (1.25,\trenchBottom) rectangle (8.25,\STIIslandSurface); 10 | \fill[substrate] (9.75,\trenchBottom) rectangle (16.75,\STIIslandSurface); 11 | \fill[substrate] (18.25,\trenchBottom) rectangle (25.25,\STIIslandSurface); 12 | \fill[substrate] (26.75,\trenchBottom) rectangle (33.75,\STIIslandSurface); 13 | \fill[substrate] (35.25,\trenchBottom) rectangle (42.25,\STIIslandSurface); 14 | 15 | 16 | -------------------------------------------------------------------------------- /process_steps/process_hightech/tikz_process_steps/sti.end_stop.a.tex: -------------------------------------------------------------------------------- 1 | \fill[substrate] (0,0) rectangle (55,\STIIslandSurface); 2 | \node at (2,0.5) {Silicon substrate}; 3 | -------------------------------------------------------------------------------- /process_steps/process_hightech/tikz_process_steps/sti.end_stop.b.tex: -------------------------------------------------------------------------------- 1 | \fill[substrate] (0,0) rectangle (55,\STIIslandSurface); 2 | \node at (2,0.5) {Silicon substrate}; 3 | 4 | \fill[isolationoxide] (0,\STIIslandSurface) rectangle (55,\STIIslandSurface+0.25); 5 | \fill[nitride] (0,\STIIslandSurface+0.25) rectangle (55,\STIIslandSurface+1.0); 6 | -------------------------------------------------------------------------------- /process_steps/process_hightech/tikz_process_steps/sti.liner_oxide.b.tex: -------------------------------------------------------------------------------- 1 | \fill[isolationoxide] (1.00,\trenchBottom) rectangle (8.50,\STIIslandSurface+0.25); 2 | \fill[isolationoxide] (9.50,\trenchBottom) rectangle (17.00,\STIIslandSurface+0.25); 3 | \fill[isolationoxide] (18.00,\trenchBottom) rectangle (25.50,\STIIslandSurface+0.25); 4 | \fill[isolationoxide] (26.50,\trenchBottom) rectangle (34.00,\STIIslandSurface+0.25); 5 | \fill[isolationoxide] (35.00,\trenchBottom) rectangle (42.50,\STIIslandSurface+0.25); 6 | \fill[isolationoxide] (0,0) rectangle (55.00,\trenchBottom+0.25); 7 | 8 | \input{tikz_process_steps/sti.liner_oxide.a.tex} 9 | -------------------------------------------------------------------------------- /process_steps/process_hightech/tikz_process_steps/sti.lto.a.tex: -------------------------------------------------------------------------------- 1 | \input{tikz_process_steps/sti.liner_oxide.b.tex} 2 | -------------------------------------------------------------------------------- /process_steps/process_hightech/tikz_process_steps/sti.lto.b.tex: -------------------------------------------------------------------------------- 1 | \fill[isolationoxide] (0.00,\trenchBottom) rectangle (55,\STIIslandSurface+0.25); 2 | \fill[isolationoxide] (0.00,\trenchBottom) rectangle (47,\STIIslandSurface+4.5); 3 | \input{tikz_process_steps/sti.liner_oxide.b.tex} 4 | -------------------------------------------------------------------------------- /process_steps/process_hightech/tikz_process_steps/sti.resist_removal.a.tex: -------------------------------------------------------------------------------- 1 | \input{tikz_process_steps/sti.silicon_etch.b.tex} 2 | -------------------------------------------------------------------------------- /process_steps/process_hightech/tikz_process_steps/sti.silicon_etch.a.tex: -------------------------------------------------------------------------------- 1 | \input{tikz_process_steps/sti.end_stop.b.tex} 2 | 3 | \fill[resist] ( 1.25,\STIIslandSurface+1.0) rectangle ( 8.25,\STIIslandSurface+3.0); 4 | \fill[resist] ( 9.75,\STIIslandSurface+1.0) rectangle (16.75,\STIIslandSurface+3.0); 5 | \fill[resist] (18.25,\STIIslandSurface+1.0) rectangle (25.25,\STIIslandSurface+3.0); 6 | \fill[resist] (26.75,\STIIslandSurface+1.0) rectangle (33.75,\STIIslandSurface+3.0); 7 | \fill[resist] (35.25,\STIIslandSurface+1.0) rectangle (42.25,\STIIslandSurface+3.0); 8 | -------------------------------------------------------------------------------- /process_steps/process_hightech/tikz_process_steps/via1.a.tex: -------------------------------------------------------------------------------- 1 | \fill[isolationoxide] (0,\LowerMetal) rectangle (55,\LowerMoreMetal); 2 | 3 | \input{tikz_process_steps/metal1.tex} 4 | 5 | \paintscaledvias{white}{\UpperMetal}{\LowerMoreMetal}{0} 6 | 7 | -------------------------------------------------------------------------------- /process_steps/process_hightech/tikz_process_steps/via1.cleaning.a.tex: -------------------------------------------------------------------------------- 1 | \fill[isolationoxide] (0,\LowerMetal) rectangle (1,\LowerMoreMetal); 2 | \fill[isolationoxide] (3,\LowerMetal) rectangle (5,\LowerMoreMetal); 3 | \fill[isolationoxide] (6.5,\LowerMetal) rectangle (9,\LowerMoreMetal); 4 | \fill[isolationoxide] (11,\LowerMetal) rectangle (13.5,\LowerMoreMetal); 5 | \fill[isolationoxide] (15.0,\LowerMetal) rectangle (17.0,\LowerMoreMetal); 6 | \fill[isolationoxide] (19.0,\LowerMetal) rectangle (20.0,\LowerMoreMetal); 7 | \input{tikz_process_steps/metal1.tex} 8 | \fill[resist] (0,\LowerMoreMetal) rectangle (1,\UpperMoreMetalResist); 9 | \fill[resist] (3,\LowerMoreMetal) rectangle (5,\UpperMoreMetalResist); 10 | \fill[resist] (6.5,\LowerMoreMetal) rectangle (9,\UpperMoreMetalResist); 11 | \fill[resist] (11,\LowerMoreMetal) rectangle (13.5,\UpperMoreMetalResist); 12 | \fill[resist] (15.0,\LowerMoreMetal) rectangle (17.0,\UpperMoreMetalResist); 13 | \fill[resist] (19,\LowerMoreMetal) rectangle (20,\UpperMoreMetalResist); 14 | 15 | -------------------------------------------------------------------------------- /process_steps/process_hightech/tikz_process_steps/via1.cleaning.b.tex: -------------------------------------------------------------------------------- 1 | \fill[isolationoxide] (0,\LowerMetal) rectangle (1,\LowerMoreMetal); 2 | \fill[isolationoxide] (3,\LowerMetal) rectangle (5,\LowerMoreMetal); 3 | \fill[isolationoxide] (6.5,\LowerMetal) rectangle (9,\LowerMoreMetal); 4 | \fill[isolationoxide] (11,\LowerMetal) rectangle (13.5,\LowerMoreMetal); 5 | \fill[isolationoxide] (15.0,\LowerMetal) rectangle (17.0,\LowerMoreMetal); 6 | \fill[isolationoxide] (19.0,\LowerMetal) rectangle (20.0,\LowerMoreMetal); 7 | \input{tikz_process_steps/metal1.tex} 8 | -------------------------------------------------------------------------------- /process_steps/process_hightech/tikz_process_steps/via1.etching.a.tex: -------------------------------------------------------------------------------- 1 | \fill[isolationoxide] (0,\LowerMetal) rectangle (20,\LowerMoreMetal); 2 | 3 | \input{tikz_process_steps/metal1.tex} 4 | 5 | \fill[resist] (0,\LowerMoreMetal) rectangle (1,\UpperMoreMetalResist); 6 | \fill[resist] (3,\LowerMoreMetal) rectangle (5,\UpperMoreMetalResist); 7 | \fill[resist] (6.5,\LowerMoreMetal) rectangle (9,\UpperMoreMetalResist); 8 | \fill[resist] (11,\LowerMoreMetal) rectangle (13.5,\UpperMoreMetalResist); 9 | \fill[resist] (15.0,\LowerMoreMetal) rectangle (17.0,\UpperMoreMetalResist); 10 | \fill[resist] (19,\LowerMoreMetal) rectangle (20,\UpperMoreMetalResist); 11 | 12 | -------------------------------------------------------------------------------- /process_steps/process_hightech/tikz_process_steps/via1.etching.at.tex: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libresilicon/process/fc0f7c92f050ae4937ffb290b7a5597f7c412ca4/process_steps/process_hightech/tikz_process_steps/via1.etching.at.tex -------------------------------------------------------------------------------- /process_steps/process_hightech/tikz_process_steps/via1.etching.b.tex: -------------------------------------------------------------------------------- 1 | \fill[isolationoxide] (0,\LowerMetal) rectangle (1,\LowerMoreMetal); 2 | \fill[isolationoxide] (3,\LowerMetal) rectangle (5,\LowerMoreMetal); 3 | \fill[isolationoxide] (6.5,\LowerMetal) rectangle (9,\LowerMoreMetal); 4 | \fill[isolationoxide] (11,\LowerMetal) rectangle (13.5,\LowerMoreMetal); 5 | \fill[isolationoxide] (15.0,\LowerMetal) rectangle (17.0,\LowerMoreMetal); 6 | \fill[isolationoxide] (19.0,\LowerMetal) rectangle (20.0,\LowerMoreMetal); 7 | 8 | \input{tikz_process_steps/metal1.tex} 9 | 10 | \fill[resist] (0,\LowerMoreMetal) rectangle (1,\UpperMoreMetalResist); 11 | \fill[resist] (3,\LowerMoreMetal) rectangle (5,\UpperMoreMetalResist); 12 | \fill[resist] (6.5,\LowerMoreMetal) rectangle (9,\UpperMoreMetalResist); 13 | \fill[resist] (11,\LowerMoreMetal) rectangle (13.5,\UpperMoreMetalResist); 14 | \fill[resist] (15.0,\LowerMoreMetal) rectangle (17.0,\UpperMoreMetalResist); 15 | \fill[resist] (19,\LowerMoreMetal) rectangle (20,\UpperMoreMetalResist); 16 | 17 | -------------------------------------------------------------------------------- /process_steps/process_hightech/tikz_process_steps/via1.etching.bt.tex: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libresilicon/process/fc0f7c92f050ae4937ffb290b7a5597f7c412ca4/process_steps/process_hightech/tikz_process_steps/via1.etching.bt.tex -------------------------------------------------------------------------------- /process_steps/process_hightech/tikz_process_steps/via1.layout.tex: -------------------------------------------------------------------------------- 1 | \input{tikz_process_steps/metal.layout.tex} 2 | \fill[via1.,opacity=\OpacityLayout] (2,9) rectangle (4,11); 3 | \fill[via1.,opacity=\OpacityLayout] (16,9) rectangle (18,11); -------------------------------------------------------------------------------- /process_steps/process_hightech/tikz_process_steps/via1.oxide_growth.a.tex: -------------------------------------------------------------------------------- 1 | \input{tikz_process_steps/metal1.tex} 2 | -------------------------------------------------------------------------------- /process_steps/process_hightech/tikz_process_steps/via1.oxide_growth.b.tex: -------------------------------------------------------------------------------- 1 | \fill[isolationoxide] (0,\LowerMetal) rectangle (20,\LowerMoreMetal); 2 | \input{tikz_process_steps/metal1.tex} 3 | -------------------------------------------------------------------------------- /process_steps/process_hightech/tikz_process_steps/via1.patterning.a.tex: -------------------------------------------------------------------------------- 1 | \fill[isolationoxide] (0,\LowerMetal) rectangle (20,\LowerMoreMetal); 2 | \input{tikz_process_steps/metal1.tex} 3 | -------------------------------------------------------------------------------- /process_steps/process_hightech/tikz_process_steps/via1.patterning.at.tex: -------------------------------------------------------------------------------- 1 | \fill[isolationoxide] (0,0) rectangle (20,12); -------------------------------------------------------------------------------- /process_steps/process_hightech/tikz_process_steps/via1.patterning.b.tex: -------------------------------------------------------------------------------- 1 | \fill[isolationoxide] (0,\LowerMetal) rectangle (20,\LowerMoreMetal); 2 | 3 | \input{tikz_process_steps/metal1.tex} 4 | 5 | \fill[resist] (0,\LowerMoreMetal) rectangle (1,\UpperMoreMetalResist); 6 | \fill[resist] (3,\LowerMoreMetal) rectangle (5,\UpperMoreMetalResist); 7 | \fill[resist] (6.5,\LowerMoreMetal) rectangle (9,\UpperMoreMetalResist); 8 | \fill[resist] (11,\LowerMoreMetal) rectangle (13.5,\UpperMoreMetalResist); 9 | \fill[resist] (15.0,\LowerMoreMetal) rectangle (17.0,\UpperMoreMetalResist); 10 | \fill[resist] (19,\LowerMoreMetal) rectangle (20,\UpperMoreMetalResist); 11 | 12 | -------------------------------------------------------------------------------- /process_steps/process_hightech/tikz_process_steps/via1.patterning.bt.tex: -------------------------------------------------------------------------------- 1 | \fill[resist] (0,0) rectangle (20,12); 2 | \fill[isolationoxide] (2,9) rectangle (4,11); 3 | \fill[isolationoxide] (16,9) rectangle (18,11); 4 | -------------------------------------------------------------------------------- /process_steps/process_hightech/tikz_process_steps/via2.a.tex: -------------------------------------------------------------------------------- 1 | \fill[isolationoxide] (0.0,\LowerMoreMetal) rectangle (55.0,\LowerMoreMetalTwo); 2 | 3 | \input{tikz_process_steps/metal2.a.tex} 4 | 5 | \paintscaledvias{white}{\UpperMoreMetal}{\LowerMoreMetalTwo}{0} 6 | -------------------------------------------------------------------------------- /process_steps/process_lowtech/Makefile: -------------------------------------------------------------------------------- 1 | tikzdeps = $(wildcard tikz_process_steps/*.tex) 2 | 3 | tikzdeps = $(wildcard tikz_process_steps/*.tex) 4 | 5 | texs = $(wildcard *.tex) 6 | 7 | pdfs = process_lowtech_steps.pdf 8 | 9 | $(pdfs): %.pdf:%.tex $(tikzdeps) $(texs) 10 | max_in_open=32 xelatex $< 11 | max_in_open=32 xelatex $< 12 | 13 | all: $(pdfs) 14 | 15 | clean: 16 | rm -f *.log 17 | rm -f *.gz 18 | rm -f *.aux 19 | rm -f *.toc 20 | rm -f *.pdf 21 | rm -f *.idx 22 | -------------------------------------------------------------------------------- /process_steps/process_lowtech/global_color_scheme.tex: -------------------------------------------------------------------------------- 1 | ../../global_color_scheme.tex -------------------------------------------------------------------------------- /process_steps/process_lowtech/process_abstract.tex: -------------------------------------------------------------------------------- 1 | ../../process_abstract.tex -------------------------------------------------------------------------------- /process_steps/process_lowtech/process_lowtech_steps.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libresilicon/process/fc0f7c92f050ae4937ffb290b7a5597f7c412ca4/process_steps/process_lowtech/process_lowtech_steps.pdf -------------------------------------------------------------------------------- /process_steps/process_lowtech/tikz_process_steps/contact.a.tex: -------------------------------------------------------------------------------- 1 | \fill[isolationoxide] (0,0) rectangle (1.5,\LowerMetal); 2 | \fill[isolationoxide] (2.75,0) rectangle (3.25,\LowerMetal); 3 | \fill[isolationoxide] (4.25,0) rectangle (5.25,\LowerMetal); 4 | \fill[isolationoxide] (6.25,0) rectangle (7.25,\LowerMetal); 5 | \fill[isolationoxide] (8.25,0) rectangle (12.0,\LowerMetal); 6 | \fill[isolationoxide] (12.75,0) rectangle (13.75,\LowerMetal); 7 | \fill[isolationoxide] (14.75,0) rectangle (15.75,\LowerMetal); 8 | \fill[isolationoxide] (16.75,0) rectangle (17.25,\LowerMetal); 9 | \fill[isolationoxide] (18.25,0) rectangle (20.0,\LowerMetal); 10 | \input{tikz_process_steps/silicification.a.tex} 11 | -------------------------------------------------------------------------------- /process_steps/process_lowtech/tikz_process_steps/contact.cleaning.b.tex: -------------------------------------------------------------------------------- 1 | \fill[isolationoxide] (0,0) rectangle (1.5,\LowerMetal); 2 | \fill[isolationoxide] (2.75,0) rectangle (3.25,\LowerMetal); 3 | \fill[isolationoxide] (4.25,0) rectangle (5.25,\LowerMetal); 4 | \fill[isolationoxide] (6.25,0) rectangle (7.25,\LowerMetal); 5 | \fill[isolationoxide] (8.25,0) rectangle (12.0,\LowerMetal); 6 | \fill[isolationoxide] (12.75,0) rectangle (13.75,\LowerMetal); 7 | \fill[isolationoxide] (14.75,0) rectangle (15.75,\LowerMetal); 8 | \fill[isolationoxide] (16.75,0) rectangle (17.25,\LowerMetal); 9 | \fill[isolationoxide] (18.25,0) rectangle (20.0,\LowerMetal); 10 | \input{tikz_process_steps/silicification.a.tex} -------------------------------------------------------------------------------- /process_steps/process_lowtech/tikz_process_steps/contact.etching.a.tex: -------------------------------------------------------------------------------- 1 | \fill[isolationoxide] (0,0) rectangle (20,\LowerMetal); 2 | \input{tikz_process_steps/silicification.a.tex} 3 | \fill[resist] (0,\LowerMetal) rectangle (1.5,\UpperContactResist); 4 | \fill[resist] (2.75,\LowerMetal) rectangle (3.25,\UpperContactResist); 5 | \fill[resist] (4.25,\LowerMetal) rectangle (5.25,\UpperContactResist); 6 | \fill[resist] (6.25,\LowerMetal) rectangle (7.25,\UpperContactResist); 7 | \fill[resist] (8.25,\LowerMetal) rectangle (12.0,\UpperContactResist); 8 | \fill[resist] (12.75,\LowerMetal) rectangle (13.75,\UpperContactResist); 9 | \fill[resist] (14.75,\LowerMetal) rectangle (15.75,\UpperContactResist); 10 | \fill[resist] (16.75,\LowerMetal) rectangle (17.25,\UpperContactResist); 11 | \fill[resist] (18.25,\LowerMetal) rectangle (20.0,\UpperContactResist); -------------------------------------------------------------------------------- /process_steps/process_lowtech/tikz_process_steps/contact.etching.at.tex: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libresilicon/process/fc0f7c92f050ae4937ffb290b7a5597f7c412ca4/process_steps/process_lowtech/tikz_process_steps/contact.etching.at.tex -------------------------------------------------------------------------------- /process_steps/process_lowtech/tikz_process_steps/contact.etching.bt.tex: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libresilicon/process/fc0f7c92f050ae4937ffb290b7a5597f7c412ca4/process_steps/process_lowtech/tikz_process_steps/contact.etching.bt.tex -------------------------------------------------------------------------------- /process_steps/process_lowtech/tikz_process_steps/contact.oxide_growth.a.tex: -------------------------------------------------------------------------------- 1 | \input{tikz_process_steps/silicification.a.tex} -------------------------------------------------------------------------------- /process_steps/process_lowtech/tikz_process_steps/contact.oxide_growth.b.tex: -------------------------------------------------------------------------------- 1 | \fill[isolationoxide] (0,0) rectangle (20,\LowerMetal); 2 | 3 | % bump in oxide: 4 | \filldraw[line width=0, isolationoxide] (8.5,6.0)--(8.5,7.0)--(7.5,6.0); 5 | \filldraw[line width=0, isolationoxide] (12.0,6.0)--(12.0,7.0)--(13.0,6.0); 6 | \fill[isolationoxide] (8.5,6.0) rectangle (12.0,7.0); 7 | 8 | \input{tikz_process_steps/silicification.a.tex} -------------------------------------------------------------------------------- /process_steps/process_lowtech/tikz_process_steps/contact.oxide_growth.c.tex: -------------------------------------------------------------------------------- 1 | \fill[isolationoxide] (0,0) rectangle (20,\LowerMetal); 2 | \input{tikz_process_steps/silicification.a.tex} -------------------------------------------------------------------------------- /process_steps/process_lowtech/tikz_process_steps/contact.patterning.a.tex: -------------------------------------------------------------------------------- 1 | \fill[isolationoxide] (0,0) rectangle (20,\LowerMetal); 2 | \input{tikz_process_steps/silicification.a.tex} -------------------------------------------------------------------------------- /process_steps/process_lowtech/tikz_process_steps/contact.patterning.at.tex: -------------------------------------------------------------------------------- 1 | \fill[isolationoxide] (0,0) rectangle (20,12); -------------------------------------------------------------------------------- /process_steps/process_lowtech/tikz_process_steps/contact.patterning.b.tex: -------------------------------------------------------------------------------- 1 | \fill[isolationoxide] (0,0) rectangle (20,\LowerMetal); 2 | \input{tikz_process_steps/silicification.a.tex} 3 | \fill[resist] (0,\LowerMetal) rectangle (1.5,\UpperContactResist); 4 | \fill[resist] (2.75,\LowerMetal) rectangle (3.25,\UpperContactResist); 5 | \fill[resist] (4.25,\LowerMetal) rectangle (5.25,\UpperContactResist); 6 | \fill[resist] (6.25,\LowerMetal) rectangle (7.25,\UpperContactResist); 7 | \fill[resist] (8.25,\LowerMetal) rectangle (12.0,\UpperContactResist); 8 | \fill[resist] (12.75,\LowerMetal) rectangle (13.75,\UpperContactResist); 9 | \fill[resist] (14.75,\LowerMetal) rectangle (15.75,\UpperContactResist); 10 | \fill[resist] (16.75,\LowerMetal) rectangle (17.25,\UpperContactResist); 11 | \fill[resist] (18.25,\LowerMetal) rectangle (20.0,\UpperContactResist); -------------------------------------------------------------------------------- /process_steps/process_lowtech/tikz_process_steps/contsts.tex: -------------------------------------------------------------------------------- 1 | \def\CrossSectionOnly{0.3} 2 | \def\CrossAndTopSection{0.2} 3 | \def\CrossAndTopSectionBig{0.3} 4 | \def\VLSILayout{0.4} 5 | \def\LowerMetal{6.0} 6 | \def\UpperMetal{7.0} 7 | \def\UpperContactResist{9.0} 8 | \def\UpperMetalResist{11.0} 9 | \def\LowerMoreMetal{13.0} 10 | \def\UpperMoreMetal{14.0} 11 | \def\UpperMoreMetalResist{16.0} 12 | -------------------------------------------------------------------------------- /process_steps/process_lowtech/tikz_process_steps/fox.a.tex: -------------------------------------------------------------------------------- 1 | % oxide 2 | \fill[isolationoxide] (0,2.0) rectangle (0.5,2.75); 3 | \fill[isolationoxide] (9.0,2.0) rectangle (11.0,2.75); 4 | \fill[isolationoxide] (19.5,2.0) rectangle (20,2.75); 5 | \fill[isolationoxide] (0,1.25) rectangle (20.0,2.0); 6 | 7 | \filldraw[line width=0, isolationoxide] (0.5,2.75) -- (0.5,2.0) -- (1.25,2.0); 8 | \filldraw[line width=0, isolationoxide] (8.25,2.0) -- (9.0,2.0) -- (9.0,2.75); 9 | 10 | \filldraw[line width=0, isolationoxide] (11.0,2.75) -- (11.0,2.0) -- (11.75,2.0); 11 | \filldraw[line width=0, isolationoxide] (18.75,2.0) -- (19.5,2.0) -- (19.5,2.75); 12 | 13 | \input{tikz_process_steps/sti.a.tex} 14 | 15 | \shade[upper left = nwell, upper right = nwell, lower right = substrate, lower left = substrate,] (1.25,1.0) rectangle (8.25,2.0); 16 | \shade[upper left = pwell, upper right = pwell, lower right = substrate, lower left = substrate,] (11.75,0.5) rectangle (18.75,2.0); -------------------------------------------------------------------------------- /process_steps/process_lowtech/tikz_process_steps/fox.b.tex: -------------------------------------------------------------------------------- 1 | \fill[isolationoxide] (0,0) rectangle (20,12); 2 | \fill[pwell] (11.75,1) rectangle (18.75,7.25); 3 | \fill[nwell] (1.25,1) rectangle (8.25,7.25); 4 | -------------------------------------------------------------------------------- /process_steps/process_lowtech/tikz_process_steps/fox.etching.a.tex: -------------------------------------------------------------------------------- 1 | \input{tikz_process_steps/fox.patterning.b.tex} -------------------------------------------------------------------------------- /process_steps/process_lowtech/tikz_process_steps/fox.etching.b.tex: -------------------------------------------------------------------------------- 1 | \filldraw[line width=0, resist] (8.0,3.5)--(8.25,3.5)--(9.0,2.75)--(11.0,2.75)--(11.75,3.5)--(12.0,3.5)--(12.0,5.0)--(8.0,5.0); 2 | \filldraw[line width=0, resist] (0.0,2.75)--(0.5,2.75)--(1.25,3.5)--(1.25,5.0)--(0.0,5.0); 3 | \filldraw[line width=0, resist] (18.5,5.0)--(18.5,3.5)--(18.75,3.5)--(19.5,2.75)--(20.0,2.75)--(20.0,5.0); 4 | 5 | \input{tikz_process_steps/fox.resist_removal.b.tex} -------------------------------------------------------------------------------- /process_steps/process_lowtech/tikz_process_steps/fox.oxide_growth.a.tex: -------------------------------------------------------------------------------- 1 | \input{tikz_process_steps/nwell.a.tex} -------------------------------------------------------------------------------- /process_steps/process_lowtech/tikz_process_steps/fox.oxide_growth.b.tex: -------------------------------------------------------------------------------- 1 | % oxide 2 | \fill[isolationoxide] (0,1.25) rectangle (20,2.75); 3 | 4 | % oxide hill 1 5 | \fill[isolationoxide] (1.25,2.75) rectangle (8.25,3.5); 6 | \filldraw[line width=0, isolationoxide] (0.5,2.75) -- (1.25,2.75) -- (1.25,3.5); 7 | \filldraw[line width=0, isolationoxide] (8.25,2.75) -- (8.25,3.5) -- (9.0,2.75); 8 | 9 | % oxide hill 2 10 | \fill[isolationoxide] (11.75,2.75) rectangle (18.75,3.5); 11 | \filldraw[line width=0, isolationoxide] (11.0,2.75) -- (11.75,2.75) -- (11.75,3.5); 12 | \filldraw[line width=0, isolationoxide] (18.75,2.75) -- (18.75,3.5) -- (19.5,2.75); 13 | 14 | \node at (2,2.1) {SiO2}; 15 | 16 | \input{tikz_process_steps/fox.resist_removal.b.tex} -------------------------------------------------------------------------------- /process_steps/process_lowtech/tikz_process_steps/fox.patterning.a.tex: -------------------------------------------------------------------------------- 1 | \input{tikz_process_steps/fox.oxide_growth.b.tex} -------------------------------------------------------------------------------- /process_steps/process_lowtech/tikz_process_steps/fox.patterning.b.tex: -------------------------------------------------------------------------------- 1 | \filldraw[line width=0, resist] (0.0,2.75)--(0.5,2.75)--(1.25,3.5)--(1.25,5.0)--(0.0,5.0); 2 | \filldraw[line width=0, resist] (8.0,3.5)--(8.25,3.5)--(9.0,2.75)--(11.0,2.75)--(11.75,3.5)--(12.0,3.5)--(12.0,5.0)--(8.0,5.0); 3 | \filldraw[line width=0, resist] (18.5,5.0)--(18.5,3.5)--(18.75,3.5)--(19.5,2.75)--(20.0,2.75)--(20.0,5.0); 4 | 5 | \input{tikz_process_steps/fox.oxide_growth.b.tex} -------------------------------------------------------------------------------- /process_steps/process_lowtech/tikz_process_steps/fox.resist_removal.a.tex: -------------------------------------------------------------------------------- 1 | \input{tikz_process_steps/fox.etching.b.tex} -------------------------------------------------------------------------------- /process_steps/process_lowtech/tikz_process_steps/fox.resist_removal.b.tex: -------------------------------------------------------------------------------- 1 | \input{tikz_process_steps/fox.a.tex} -------------------------------------------------------------------------------- /process_steps/process_lowtech/tikz_process_steps/gate.a.tex: -------------------------------------------------------------------------------- 1 | \input{tikz_process_steps/fox.a.tex} 2 | 3 | \fill[gateoxide] (5,2) rectangle (6.5,2.3); 4 | \fill[gateoxide] (13.5,2) rectangle (15,2.3); 5 | \fill[poly] (5,2.3) rectangle (6.5,3); 6 | \fill[poly] (13.5,2.3) rectangle (15,3); -------------------------------------------------------------------------------- /process_steps/process_lowtech/tikz_process_steps/gate.b.tex: -------------------------------------------------------------------------------- 1 | \input{tikz_process_steps/fox.b.tex} 2 | % gate metal 3 | \fill[poly] (5,0) rectangle (6.5,9); 4 | \fill[poly] (13.5,0) rectangle (15,9); 5 | \fill[poly] (5,8) rectangle (15,10); -------------------------------------------------------------------------------- /process_steps/process_lowtech/tikz_process_steps/gate.cleaning.a.tex: -------------------------------------------------------------------------------- 1 | \input{tikz_process_steps/gate.etching.b.tex} -------------------------------------------------------------------------------- /process_steps/process_lowtech/tikz_process_steps/gate.cleaning.at.tex: -------------------------------------------------------------------------------- 1 | \input{tikz_process_steps/fox.b.tex} 2 | % gate metal 3 | \fill[resist] (5,0) rectangle (6.5,9); 4 | \fill[resist] (13.5,0) rectangle (15,9); 5 | \fill[resist] (5,8) rectangle (15,10); -------------------------------------------------------------------------------- /process_steps/process_lowtech/tikz_process_steps/gate.cleaning.b.tex: -------------------------------------------------------------------------------- 1 | \input{tikz_process_steps/fox.a.tex} 2 | \fill[gateoxide] (5.0,2) rectangle (6.5,2.3); 3 | \fill[gateoxide] (13.5,2) rectangle (15,2.3); 4 | \fill[poly] (5.0,2.3) rectangle (6.5,3); 5 | \fill[poly] (13.5,2.3) rectangle (15,3); 6 | 7 | \fill[gateoxide,opacity=0.5] (5.0,2.0) rectangle (8.25,2.3); 8 | \filldraw[line width=0, gateoxide,opacity=0.5] (9.00,2.75)--(8.25,2.0)--(8.25,2.3)--(9.00,3.05); 9 | \fill[gateoxide,opacity=0.5] (9.00,2.75) rectangle (11.0,3.05); 10 | \filldraw[line width=0, gateoxide,opacity=0.5] (11.0,2.75)--(11.75,2.0)--(11.75,2.3)--(11.0,3.05); 11 | \fill[gateoxide,opacity=0.5] (11.75,2.0) rectangle (15.00,2.3); 12 | 13 | \fill[poly,opacity=0.5] (5.0,2.3) rectangle (8.25,3.0); 14 | \filldraw[line width=0, poly,opacity=0.5] (9.00,3.05)--(8.25,2.3)--(8.25,3.0)--(9.00,3.75); 15 | \fill[poly,opacity=0.5] (9.00,3.05) rectangle (11.0,3.75); 16 | \filldraw[line width=0, poly,opacity=0.5] (11.0,3.05)--(11.75,2.3)--(11.75,3.0)--(11.0,3.75); 17 | \fill[poly,opacity=0.5] (11.75,2.3) rectangle (15.0,3.0); -------------------------------------------------------------------------------- /process_steps/process_lowtech/tikz_process_steps/gate.cleaning.bt.tex: -------------------------------------------------------------------------------- 1 | \input{tikz_process_steps/fox.b.tex} 2 | % gate metal 3 | \fill[poly] (5,0) rectangle (6.5,9); 4 | \fill[poly] (13.5,0) rectangle (15,9); 5 | \fill[poly] (5,8) rectangle (15,10); -------------------------------------------------------------------------------- /process_steps/process_lowtech/tikz_process_steps/gate.etching.a.tex: -------------------------------------------------------------------------------- 1 | \fill[resist,opacity=0.5] (5,3) rectangle (15.0,5.0); 2 | \fill[resist] (5,3) rectangle (6.5,5.0); 3 | \fill[resist] (13.5,3) rectangle (15.0,5.0); 4 | 5 | \input{tikz_process_steps/gate.polysilicon_deposition.b.tex} -------------------------------------------------------------------------------- /process_steps/process_lowtech/tikz_process_steps/gate.etching.at.tex: -------------------------------------------------------------------------------- 1 | % trench area 2 | \fill[poly] (0,0) rectangle (20,12); 3 | % gate metal 4 | \fill[resist] (5,0) rectangle (6.5,9); 5 | \fill[resist] (13.5,0) rectangle (15,9); 6 | \fill[resist] (5,8) rectangle (15,10); -------------------------------------------------------------------------------- /process_steps/process_lowtech/tikz_process_steps/gate.etching.bt.tex: -------------------------------------------------------------------------------- 1 | \input{tikz_process_steps/fox.b.tex} 2 | % gate metal 3 | \fill[resist] (5,0) rectangle (6.5,9); 4 | \fill[resist] (13.5,0) rectangle (15,9); 5 | \fill[resist] (5,8) rectangle (15,10); -------------------------------------------------------------------------------- /process_steps/process_lowtech/tikz_process_steps/gate.gate_oxid_depositon.a.tex: -------------------------------------------------------------------------------- 1 | \input{tikz_process_steps/fox.a.tex} -------------------------------------------------------------------------------- /process_steps/process_lowtech/tikz_process_steps/gate.gate_oxid_depositon.b.tex: -------------------------------------------------------------------------------- 1 | \input{tikz_process_steps/fox.a.tex} 2 | \fill[gateoxide] (0,2.75) rectangle (0.5,3.05); 3 | \filldraw[line width=0, gateoxide] (0.5,2.75)--(1.25,2.0)--(1.25,2.3)--(0.5,3.05); 4 | \fill[gateoxide] (1.25,2.0) rectangle (8.25,2.3); 5 | \filldraw[line width=0, gateoxide] (9.00,2.75)--(8.25,2.0)--(8.25,2.3)--(9.00,3.05); 6 | \fill[gateoxide] (9.00,2.75) rectangle (11.0,3.05); 7 | \filldraw[line width=0, gateoxide] (11.0,2.75)--(11.75,2.0)--(11.75,2.3)--(11.0,3.05); 8 | \fill[gateoxide] (11.75,2.0) rectangle (18.75,2.3); 9 | \filldraw[line width=0, gateoxide] (19.5,2.75)--(18.75,2.0)--(18.75,2.3)--(19.5,3.05); 10 | \fill[gateoxide] (19.5,2.75) rectangle (20.0,3.05); -------------------------------------------------------------------------------- /process_steps/process_lowtech/tikz_process_steps/gate.layout.tex: -------------------------------------------------------------------------------- 1 | \input{tikz_process_steps/nwell.layout.tex} 2 | % gate metal 3 | \fill[poly,opacity=\OpacityLayout] (5,0) rectangle (6.5,8); 4 | \fill[poly,opacity=\OpacityLayout] (13.5,0) rectangle (15,8); 5 | \fill[poly,opacity=\OpacityLayout] (5,8) rectangle (15,10); 6 | 7 | \draw[|<->|] (5,-0.25) -- (6.5,-0.25); 8 | \node at (6,-0.75) {$1 \lambda$}; -------------------------------------------------------------------------------- /process_steps/process_lowtech/tikz_process_steps/gate.patterning.a.tex: -------------------------------------------------------------------------------- 1 | \input{tikz_process_steps/gate.polysilicon_deposition.b.tex} -------------------------------------------------------------------------------- /process_steps/process_lowtech/tikz_process_steps/gate.patterning.at.tex: -------------------------------------------------------------------------------- 1 | % trench area 2 | \fill[poly] (0,0) rectangle (20,12); -------------------------------------------------------------------------------- /process_steps/process_lowtech/tikz_process_steps/gate.patterning.b.tex: -------------------------------------------------------------------------------- 1 | \fill[resist,opacity=0.5] (5,3) rectangle (15.0,5.0); 2 | \fill[resist] (5,3) rectangle (6.5,5.0); 3 | \fill[resist] (13.5,3) rectangle (15.0,5.0); 4 | 5 | \input{tikz_process_steps/gate.polysilicon_deposition.b.tex} -------------------------------------------------------------------------------- /process_steps/process_lowtech/tikz_process_steps/gate.patterning.bt.tex: -------------------------------------------------------------------------------- 1 | % trench area 2 | \fill[poly] (0,0) rectangle (20,12); 3 | % gate metal 4 | \fill[resist] (5,0) rectangle (6.5,9); 5 | \fill[resist] (13.5,0) rectangle (15,9); 6 | \fill[resist] (5,8) rectangle (15,10); -------------------------------------------------------------------------------- /process_steps/process_lowtech/tikz_process_steps/gate.polysilicon_deposition.a.tex: -------------------------------------------------------------------------------- 1 | \input{tikz_process_steps/gate.gate_oxid_depositon.b.tex} -------------------------------------------------------------------------------- /process_steps/process_lowtech/tikz_process_steps/gate.polysilicon_deposition.b.tex: -------------------------------------------------------------------------------- 1 | \input{tikz_process_steps/gate.gate_oxid_depositon.b.tex} 2 | \fill[poly] (0,3.05) rectangle (0.5,3.75); 3 | \filldraw[line width=0, poly] (0.5,3.05)--(1.25,2.3)--(1.25,3.0)--(0.5,3.75); 4 | \fill[poly] (1.25,2.3) rectangle (8.25,3.0); 5 | \filldraw[line width=0, poly] (9.00,3.05)--(8.25,2.3)--(8.25,3.0)--(9.00,3.75); 6 | \fill[poly] (9.00,3.05) rectangle (11.0,3.75); 7 | \filldraw[line width=0, poly] (11.0,3.05)--(11.75,2.3)--(11.75,3.0)--(11.0,3.75); 8 | \fill[poly] (11.75,2.3) rectangle (18.75,3.0); 9 | \filldraw[line width=0, poly] (19.5,3.05)--(18.75,2.3)--(18.75,3.0)--(19.5,3.75); 10 | \fill[poly] (19.5,3.05) rectangle (20.0,3.75); -------------------------------------------------------------------------------- /process_steps/process_lowtech/tikz_process_steps/metal.a.tex: -------------------------------------------------------------------------------- 1 | \fill[isolationoxide] (0,1.5) rectangle (20,\LowerMetal); 2 | 3 | \input{tikz_process_steps/silicification.a.tex} 4 | 5 | \fill[metal1] (1.5,2.0) rectangle (2.75,\LowerMetal); 6 | \fill[metal1] (3.25,2.0) rectangle (4.25,\LowerMetal); 7 | \fill[metal1] (5.25,3.0) rectangle (6.25,\LowerMetal); 8 | \fill[metal1] (7.25,2.0) rectangle (8.25,\LowerMetal); 9 | \fill[metal1] (12.0,2.0) rectangle (12.75,\LowerMetal); 10 | \fill[metal1] (13.75,3.0) rectangle (14.75,\LowerMetal); 11 | \fill[metal1] (15.75,2.0) rectangle (16.75,\LowerMetal); 12 | \fill[metal1] (17.25,2.0) rectangle (18.25,\LowerMetal); 13 | 14 | \fill[metal1] (0,\LowerMetal) rectangle (4.25,\UpperMetal); 15 | \fill[metal1] (5.25,\LowerMetal) rectangle (6.25,\UpperMetal); 16 | \fill[metal1] (7.25,\LowerMetal) rectangle (12.75,\UpperMetal); 17 | \fill[metal1] (13.75,\LowerMetal) rectangle (14.75,\UpperMetal); 18 | \fill[metal1] (15.75,\LowerMetal) rectangle (20.0,\UpperMetal); -------------------------------------------------------------------------------- /process_steps/process_lowtech/tikz_process_steps/metal.b.tex: -------------------------------------------------------------------------------- 1 | \fill[isolationoxide] (0,0) rectangle (20,12); 2 | \fill[metal1] (7,8) rectangle (13,12); 3 | \fill[metal1] (1.0,0) rectangle (5.0,12); 4 | \fill[metal1] (6.5,1) rectangle (13.5,7); 5 | \fill[metal1] (8,0) rectangle (12,1); 6 | \fill[metal1] (15.0,0) rectangle (19.0,12); -------------------------------------------------------------------------------- /process_steps/process_lowtech/tikz_process_steps/metal.cleaning.b.tex: -------------------------------------------------------------------------------- 1 | \fill[isolationoxide] (0,1.5) rectangle (20,\LowerMetal); 2 | 3 | \input{tikz_process_steps/silicification.a.tex} 4 | 5 | \fill[metal1] (1.5,2.0) rectangle (2.75,\LowerMetal); 6 | \fill[metal1] (3.25,2.0) rectangle (4.25,\LowerMetal); 7 | \fill[metal1] (5.25,3.0) rectangle (6.25,\LowerMetal); 8 | \fill[metal1] (7.25,2.0) rectangle (8.25,\LowerMetal); 9 | \fill[metal1] (12.0,2.0) rectangle (12.75,\LowerMetal); 10 | \fill[metal1] (13.75,3.0) rectangle (14.75,\LowerMetal); 11 | \fill[metal1] (15.75,2.0) rectangle (16.75,\LowerMetal); 12 | \fill[metal1] (17.25,2.0) rectangle (18.25,\LowerMetal); 13 | 14 | \fill[metal1] (0,\LowerMetal) rectangle (4.25,\UpperMetal); 15 | \fill[metal1] (5.25,\LowerMetal) rectangle (6.25,\UpperMetal); 16 | \fill[metal1] (7.25,\LowerMetal) rectangle (12.75,\UpperMetal); 17 | \fill[metal1] (13.75,\LowerMetal) rectangle (14.75,\UpperMetal); 18 | \fill[metal1] (15.75,\LowerMetal) rectangle (20.0,\UpperMetal); -------------------------------------------------------------------------------- /process_steps/process_lowtech/tikz_process_steps/metal.etching.a.tex: -------------------------------------------------------------------------------- 1 | \fill[isolationoxide] (0,1.5) rectangle (20,\LowerMetal); 2 | 3 | \input{tikz_process_steps/silicification.a.tex} 4 | 5 | \fill[metal1] (1.5,2.0) rectangle (2.75,\LowerMetal); 6 | \fill[metal1] (3.25,2.0) rectangle (4.25,\LowerMetal); 7 | \fill[metal1] (5.25,3.0) rectangle (6.25,\LowerMetal); 8 | \fill[metal1] (7.25,2.0) rectangle (8.25,\LowerMetal); 9 | \fill[metal1] (12.0,2.0) rectangle (12.75,\LowerMetal); 10 | \fill[metal1] (13.75,3.0) rectangle (14.75,\LowerMetal); 11 | \fill[metal1] (15.75,2.0) rectangle (16.75,\LowerMetal); 12 | \fill[metal1] (17.25,2.0) rectangle (18.25,\LowerMetal); 13 | 14 | \fill[metal1] (0,\LowerMetal) rectangle (20.0,\UpperMetal); 15 | 16 | \fill[resist] (0,\UpperMetal) rectangle (4.25,\UpperMetalResist); 17 | \fill[resist] (5.25,\UpperMetal) rectangle (6.25,\UpperMetalResist); 18 | \fill[resist] (7.25,\UpperMetal) rectangle (12.75,\UpperMetalResist); 19 | \fill[resist] (13.75,\UpperMetal) rectangle (14.75,\UpperMetalResist); 20 | \fill[resist] (15.75,\UpperMetal) rectangle (20.0,\UpperMetalResist); 21 | -------------------------------------------------------------------------------- /process_steps/process_lowtech/tikz_process_steps/metal.etching.at.tex: -------------------------------------------------------------------------------- 1 | \fill[metal1] (0,0) rectangle (20,12); 2 | \fill[resist] (7,8) rectangle (13,12); 3 | \fill[resist] (1.0,0) rectangle (5.0,12); 4 | \fill[resist] (6.5,1) rectangle (13.5,7); 5 | \fill[resist] (8,0) rectangle (12,1); 6 | \fill[resist] (15.0,0) rectangle (19.0,12); 7 | -------------------------------------------------------------------------------- /process_steps/process_lowtech/tikz_process_steps/metal.etching.bt.tex: -------------------------------------------------------------------------------- 1 | \fill[isolationoxide] (0,0) rectangle (20,12); 2 | \fill[resist] (7,8) rectangle (13,12); 3 | \fill[resist] (1.0,0) rectangle (5.0,12); 4 | \fill[resist] (6.5,1) rectangle (13.5,7); 5 | \fill[resist] (8,0) rectangle (12,1); 6 | \fill[resist] (15.0,0) rectangle (19.0,12); 7 | -------------------------------------------------------------------------------- /process_steps/process_lowtech/tikz_process_steps/metal.layout.tex: -------------------------------------------------------------------------------- 1 | \input{tikz_process_steps/contact.layout.tex} 2 | 3 | \fill[metal1,opacity=\OpacityLayout] (7,8) rectangle (13,12); 4 | \fill[metal1,opacity=\OpacityLayout] (1.0,0) rectangle (5.0,12); 5 | \fill[metal1,opacity=\OpacityLayout] (6.5,1) rectangle (13.5,7); 6 | \fill[metal1,opacity=\OpacityLayout] (8,0) rectangle (12,1); 7 | \fill[metal1,opacity=\OpacityLayout] (15.0,0) rectangle (19.0,12); 8 | 9 | \node at (16,11.5) {VDD}; 10 | \node at (2.5,11.5) {GND}; 11 | \node at (10,11.5) {Input}; 12 | \node at (10,0.5) {Output}; -------------------------------------------------------------------------------- /process_steps/process_lowtech/tikz_process_steps/metal.metal_deposition.a.tex: -------------------------------------------------------------------------------- 1 | \fill[isolationoxide] (0,0) rectangle (1.5,\LowerMetal); 2 | \fill[isolationoxide] (2.75,0) rectangle (3.25,\LowerMetal); 3 | \fill[isolationoxide] (4.25,0) rectangle (5.25,\LowerMetal); 4 | \fill[isolationoxide] (6.25,0) rectangle (7.25,\LowerMetal); 5 | \fill[isolationoxide] (8.25,0) rectangle (12.0,\LowerMetal); 6 | \fill[isolationoxide] (12.75,0) rectangle (13.75,\LowerMetal); 7 | \fill[isolationoxide] (14.75,0) rectangle (15.75,\LowerMetal); 8 | \fill[isolationoxide] (16.75,0) rectangle (17.25,\LowerMetal); 9 | \fill[isolationoxide] (18.25,0) rectangle (20.0,\LowerMetal); 10 | \input{tikz_process_steps/silicification.a.tex} -------------------------------------------------------------------------------- /process_steps/process_lowtech/tikz_process_steps/metal.metal_deposition.b.tex: -------------------------------------------------------------------------------- 1 | \fill[isolationoxide] (0,1.5) rectangle (20,\LowerMetal); 2 | 3 | \input{tikz_process_steps/silicification.a.tex} 4 | 5 | \fill[metal1] (1.5,2.0) rectangle (2.75,\LowerMetal); 6 | \fill[metal1] (3.25,2.0) rectangle (4.25,\LowerMetal); 7 | \fill[metal1] (5.25,3.0) rectangle (6.25,\LowerMetal); 8 | \fill[metal1] (7.25,2.0) rectangle (8.25,\LowerMetal); 9 | \fill[metal1] (12.0,2.0) rectangle (12.75,\LowerMetal); 10 | \fill[metal1] (13.75,3.0) rectangle (14.75,\LowerMetal); 11 | \fill[metal1] (15.75,2.0) rectangle (16.75,\LowerMetal); 12 | \fill[metal1] (17.25,2.0) rectangle (18.25,\LowerMetal); 13 | 14 | \fill[metal1] (0,\LowerMetal) rectangle (20.0,\UpperMetal); -------------------------------------------------------------------------------- /process_steps/process_lowtech/tikz_process_steps/metal.patterning.a.tex: -------------------------------------------------------------------------------- 1 | \fill[isolationoxide] (0,1.5) rectangle (20,\LowerMetal); 2 | 3 | \input{tikz_process_steps/silicification.a.tex} 4 | 5 | \fill[metal1] (1.5,2.0) rectangle (2.75,\LowerMetal); 6 | \fill[metal1] (3.25,2.0) rectangle (4.25,\LowerMetal); 7 | \fill[metal1] (5.25,3.0) rectangle (6.25,\LowerMetal); 8 | \fill[metal1] (7.25,2.0) rectangle (8.25,\LowerMetal); 9 | \fill[metal1] (12.0,2.0) rectangle (12.75,\LowerMetal); 10 | \fill[metal1] (13.75,3.0) rectangle (14.75,\LowerMetal); 11 | \fill[metal1] (15.75,2.0) rectangle (16.75,\LowerMetal); 12 | \fill[metal1] (17.25,2.0) rectangle (18.25,\LowerMetal); 13 | 14 | \fill[metal1] (0,\LowerMetal) rectangle (20.0,\UpperMetal); -------------------------------------------------------------------------------- /process_steps/process_lowtech/tikz_process_steps/metal.patterning.at.tex: -------------------------------------------------------------------------------- 1 | \fill[metal1] (0,0) rectangle (20,12); 2 | 3 | -------------------------------------------------------------------------------- /process_steps/process_lowtech/tikz_process_steps/metal.patterning.b.tex: -------------------------------------------------------------------------------- 1 | \fill[isolationoxide] (0,1.5) rectangle (20,\LowerMetal); 2 | 3 | \input{tikz_process_steps/silicification.a.tex} 4 | 5 | \fill[metal1] (1.5,2.0) rectangle (2.75,\LowerMetal); 6 | \fill[metal1] (3.25,2.0) rectangle (4.25,\LowerMetal); 7 | \fill[metal1] (5.25,3.0) rectangle (6.25,\LowerMetal); 8 | \fill[metal1] (7.25,2.0) rectangle (8.25,\LowerMetal); 9 | \fill[metal1] (12.0,2.0) rectangle (12.75,\LowerMetal); 10 | \fill[metal1] (13.75,3.0) rectangle (14.75,\LowerMetal); 11 | \fill[metal1] (15.75,2.0) rectangle (16.75,\LowerMetal); 12 | \fill[metal1] (17.25,2.0) rectangle (18.25,\LowerMetal); 13 | 14 | \fill[metal1] (0,\LowerMetal) rectangle (20.0,\UpperMetal); 15 | 16 | \fill[resist] (0,\UpperMetal) rectangle (4.25,\UpperMetalResist); 17 | \fill[resist] (5.25,\UpperMetal) rectangle (6.25,\UpperMetalResist); 18 | \fill[resist] (7.25,\UpperMetal) rectangle (12.75,\UpperMetalResist); 19 | \fill[resist] (13.75,\UpperMetal) rectangle (14.75,\UpperMetalResist); 20 | \fill[resist] (15.75,\UpperMetal) rectangle (20.0,\UpperMetalResist); 21 | -------------------------------------------------------------------------------- /process_steps/process_lowtech/tikz_process_steps/metal.patterning.bt.tex: -------------------------------------------------------------------------------- 1 | \fill[metal1] (0,0) rectangle (20,12); 2 | \fill[resist] (7,8) rectangle (13,12); 3 | \fill[resist] (1.0,0) rectangle (5.0,12); 4 | \fill[resist] (6.5,1) rectangle (13.5,7); 5 | \fill[resist] (8,0) rectangle (12,1); 6 | \fill[resist] (15.0,0) rectangle (19.0,12); 7 | -------------------------------------------------------------------------------- /process_steps/process_lowtech/tikz_process_steps/more_metal.a.tex: -------------------------------------------------------------------------------- 1 | \fill[metal2] (1,\LowerMetal) rectangle (3,\UpperMoreMetal); 2 | \fill[metal2] (5,\LowerMetal) rectangle (6.5,\UpperMoreMetal); 3 | \fill[metal2] (9,\LowerMetal) rectangle (11,\UpperMoreMetal); 4 | \fill[metal2] (13.5,\LowerMetal) rectangle (15,\UpperMoreMetal); 5 | \fill[metal2] (17,\LowerMetal) rectangle (19,\UpperMoreMetal); 6 | 7 | \fill[metal2] (0,\LowerMoreMetal) rectangle (3,\UpperMoreMetal); 8 | \fill[metal2] (4,\LowerMoreMetal) rectangle (7,\UpperMoreMetal); 9 | \fill[metal2] (8,\LowerMoreMetal) rectangle (12,\UpperMoreMetal); 10 | \fill[metal2] (13,\LowerMoreMetal) rectangle (16,\UpperMoreMetal); 11 | \fill[metal2] (17,\LowerMoreMetal) rectangle (20,\UpperMoreMetal); 12 | 13 | \input{tikz_process_steps/via.a.tex} 14 | -------------------------------------------------------------------------------- /process_steps/process_lowtech/tikz_process_steps/more_metal.b.tex: -------------------------------------------------------------------------------- 1 | \fill[isolationoxide] (0,0) rectangle (20,15); 2 | \fill[metal2] (1,8) rectangle (5,15); 3 | \fill[metal2] (15,8) rectangle (19,15); 4 | -------------------------------------------------------------------------------- /process_steps/process_lowtech/tikz_process_steps/more_metal.cleaning.b.tex: -------------------------------------------------------------------------------- 1 | \fill[metal2] (1,\LowerMetal) rectangle (3,\UpperMoreMetal); 2 | \fill[metal2] (5,\LowerMetal) rectangle (6.5,\UpperMoreMetal); 3 | \fill[metal2] (9,\LowerMetal) rectangle (11,\UpperMoreMetal); 4 | \fill[metal2] (13.5,\LowerMetal) rectangle (15,\UpperMoreMetal); 5 | \fill[metal2] (17,\LowerMetal) rectangle (19,\UpperMoreMetal); 6 | 7 | \fill[metal2] (0,\LowerMoreMetal) rectangle (3,\UpperMoreMetal); 8 | \fill[metal2] (4,\LowerMoreMetal) rectangle (7,\UpperMoreMetal); 9 | \fill[metal2] (8,\LowerMoreMetal) rectangle (12,\UpperMoreMetal); 10 | \fill[metal2] (13,\LowerMoreMetal) rectangle (16,\UpperMoreMetal); 11 | \fill[metal2] (17,\LowerMoreMetal) rectangle (20,\UpperMoreMetal); 12 | 13 | \input{tikz_process_steps/via.a.tex} 14 | -------------------------------------------------------------------------------- /process_steps/process_lowtech/tikz_process_steps/more_metal.etching.a.tex: -------------------------------------------------------------------------------- 1 | \fill[metal2] (1,\LowerMetal) rectangle (3,\UpperMoreMetal); 2 | \fill[metal2] (5,\LowerMetal) rectangle (6.5,\UpperMoreMetal); 3 | \fill[metal2] (9,\LowerMetal) rectangle (11,\UpperMoreMetal); 4 | \fill[metal2] (13.5,\LowerMetal) rectangle (15,\UpperMoreMetal); 5 | \fill[metal2] (17,\LowerMetal) rectangle (19,\UpperMoreMetal); 6 | \fill[metal2] (0,\LowerMoreMetal) rectangle (20,\UpperMoreMetal); 7 | 8 | \fill[resist] (0,\UpperMoreMetal) rectangle (3,\UpperMoreMetalResist); 9 | \fill[resist] (4,\UpperMoreMetal) rectangle (7,\UpperMoreMetalResist); 10 | \fill[resist] (8,\UpperMoreMetal) rectangle (12,\UpperMoreMetalResist); 11 | \fill[resist] (13,\UpperMoreMetal) rectangle (16,\UpperMoreMetalResist); 12 | \fill[resist] (17,\UpperMoreMetal) rectangle (20,\UpperMoreMetalResist); 13 | 14 | \input{tikz_process_steps/via.a.tex} 15 | -------------------------------------------------------------------------------- /process_steps/process_lowtech/tikz_process_steps/more_metal.etching.at.tex: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libresilicon/process/fc0f7c92f050ae4937ffb290b7a5597f7c412ca4/process_steps/process_lowtech/tikz_process_steps/more_metal.etching.at.tex -------------------------------------------------------------------------------- /process_steps/process_lowtech/tikz_process_steps/more_metal.etching.bt.tex: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libresilicon/process/fc0f7c92f050ae4937ffb290b7a5597f7c412ca4/process_steps/process_lowtech/tikz_process_steps/more_metal.etching.bt.tex -------------------------------------------------------------------------------- /process_steps/process_lowtech/tikz_process_steps/more_metal.layout.tex: -------------------------------------------------------------------------------- 1 | \input{tikz_process_steps/via.layout.tex} 2 | \fill[metal2,opacity=\OpacityLayout] (1,8) rectangle (5,15); 3 | \fill[metal2,opacity=\OpacityLayout] (15,8) rectangle (19,15); 4 | -------------------------------------------------------------------------------- /process_steps/process_lowtech/tikz_process_steps/more_metal.metal_deposition.a.tex: -------------------------------------------------------------------------------- 1 | \input{tikz_process_steps/via.a.tex} 2 | -------------------------------------------------------------------------------- /process_steps/process_lowtech/tikz_process_steps/more_metal.metal_deposition.b.tex: -------------------------------------------------------------------------------- 1 | \fill[metal2] (1,\LowerMetal) rectangle (3,\UpperMoreMetal); 2 | \fill[metal2] (5,\LowerMetal) rectangle (6.5,\UpperMoreMetal); 3 | \fill[metal2] (9,\LowerMetal) rectangle (11,\UpperMoreMetal); 4 | \fill[metal2] (13.5,\LowerMetal) rectangle (15,\UpperMoreMetal); 5 | \fill[metal2] (17,\LowerMetal) rectangle (19,\UpperMoreMetal); 6 | \fill[metal2] (0,\LowerMoreMetal) rectangle (20,\UpperMoreMetal); 7 | 8 | \input{tikz_process_steps/via.a.tex} 9 | -------------------------------------------------------------------------------- /process_steps/process_lowtech/tikz_process_steps/more_metal.patterning.a.tex: -------------------------------------------------------------------------------- 1 | \fill[metal2] (1,\LowerMetal) rectangle (3,\UpperMoreMetal); 2 | \fill[metal2] (5,\LowerMetal) rectangle (6.5,\UpperMoreMetal); 3 | \fill[metal2] (9,\LowerMetal) rectangle (11,\UpperMoreMetal); 4 | \fill[metal2] (13.5,\LowerMetal) rectangle (15,\UpperMoreMetal); 5 | \fill[metal2] (17,\LowerMetal) rectangle (19,\UpperMoreMetal); 6 | \fill[metal2] (0,\LowerMoreMetal) rectangle (20,\UpperMoreMetal); 7 | 8 | \input{tikz_process_steps/via.a.tex} 9 | -------------------------------------------------------------------------------- /process_steps/process_lowtech/tikz_process_steps/more_metal.patterning.at.tex: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libresilicon/process/fc0f7c92f050ae4937ffb290b7a5597f7c412ca4/process_steps/process_lowtech/tikz_process_steps/more_metal.patterning.at.tex -------------------------------------------------------------------------------- /process_steps/process_lowtech/tikz_process_steps/more_metal.patterning.b.tex: -------------------------------------------------------------------------------- 1 | \fill[metal2] (1,\LowerMetal) rectangle (3,\UpperMoreMetal); 2 | \fill[metal2] (5,\LowerMetal) rectangle (6.5,\UpperMoreMetal); 3 | \fill[metal2] (9,\LowerMetal) rectangle (11,\UpperMoreMetal); 4 | \fill[metal2] (13.5,\LowerMetal) rectangle (15,\UpperMoreMetal); 5 | \fill[metal2] (17,\LowerMetal) rectangle (19,\UpperMoreMetal); 6 | \fill[metal2] (0,\LowerMoreMetal) rectangle (20,\UpperMoreMetal); 7 | 8 | \fill[resist] (0,\UpperMoreMetal) rectangle (3,\UpperMoreMetalResist); 9 | \fill[resist] (4,\UpperMoreMetal) rectangle (7,\UpperMoreMetalResist); 10 | \fill[resist] (8,\UpperMoreMetal) rectangle (12,\UpperMoreMetalResist); 11 | \fill[resist] (13,\UpperMoreMetal) rectangle (16,\UpperMoreMetalResist); 12 | \fill[resist] (17,\UpperMoreMetal) rectangle (20,\UpperMoreMetalResist); 13 | 14 | \input{tikz_process_steps/via.a.tex} 15 | -------------------------------------------------------------------------------- /process_steps/process_lowtech/tikz_process_steps/more_metal.patterning.bt.tex: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libresilicon/process/fc0f7c92f050ae4937ffb290b7a5597f7c412ca4/process_steps/process_lowtech/tikz_process_steps/more_metal.patterning.bt.tex -------------------------------------------------------------------------------- /process_steps/process_lowtech/tikz_process_steps/nimplant.a.tex: -------------------------------------------------------------------------------- 1 | \input{tikz_process_steps/gate.a.tex} 2 | \shade[upper left = nimplant, upper right = nimplant, lower right = nwell, lower left = nwell,] (1.25,1.5) rectangle (3,2); 3 | \node at (2,1.65) {n+}; 4 | \shade[upper left = nimplant, upper right = nimplant, lower right = pwell, lower left = pwell,] (11.75,1.5) rectangle (13.5,2); 5 | \node at (12.5,1.65) {n+}; 6 | \shade[upper left = nimplant, upper right = nimplant, lower right = pwell, lower left = pwell,] (15,1.5) rectangle (17,2); 7 | \node at (16,1.65) {n+}; -------------------------------------------------------------------------------- /process_steps/process_lowtech/tikz_process_steps/nimplant.b.tex: -------------------------------------------------------------------------------- 1 | \input{tikz_process_steps/gate.b.tex} 2 | 3 | % n+ 4 | \fill[nimplant] (1.25,1.0) rectangle (3.0,7.25); 5 | \fill[nimplant] (11.75,1.0) rectangle (13.5,7.25); 6 | \fill[nimplant] (15.0,1.0) rectangle (17.0,7.25); 7 | -------------------------------------------------------------------------------- /process_steps/process_lowtech/tikz_process_steps/nimplant.cleaning.a.tex: -------------------------------------------------------------------------------- 1 | \input{tikz_process_steps/nimplant.etching.b.tex} -------------------------------------------------------------------------------- /process_steps/process_lowtech/tikz_process_steps/nimplant.cleaning.b.tex: -------------------------------------------------------------------------------- 1 | % oxide 2 | \fill[isolationoxide] (0,2) rectangle (1.25,2.5); 3 | \fill[isolationoxide] (3,2) rectangle (11.75,2.5); 4 | \fill[isolationoxide] (17,2) rectangle (20,2.5); 5 | 6 | \fill[isolationoxide] (0,2.0) rectangle (0.5,3.25); 7 | \fill[isolationoxide] (9.00,2.0) rectangle (11.0,3.25); 8 | \fill[isolationoxide] (19.5,2.0) rectangle (20,3.25); 9 | 10 | \filldraw[line width=0, isolationoxide] (0.5,3.25) -- (0.5,2.5) -- (1.25,2.5); 11 | \filldraw[line width=0, isolationoxide] (8.25,2.5) -- (9.00,2.5) -- (9.00,3.25); 12 | 13 | \filldraw[line width=0, isolationoxide] (11.0,3.25) -- (11.0,2.5) -- (11.75,2.5); 14 | \filldraw[line width=0, isolationoxide] (18.75,2.5) -- (19.5,2.5) -- (19.5,3.25); 15 | 16 | \input{tikz_process_steps/gate.a.tex} 17 | -------------------------------------------------------------------------------- /process_steps/process_lowtech/tikz_process_steps/nimplant.doping.a.tex: -------------------------------------------------------------------------------- 1 | \fill[nimplant] (0,0) rectangle (20,5); 2 | 3 | \input{tikz_process_steps/nimplant.cleaning.b.tex} -------------------------------------------------------------------------------- /process_steps/process_lowtech/tikz_process_steps/nimplant.doping.b.tex: -------------------------------------------------------------------------------- 1 | \fill[nimplant] (0,0) rectangle (20,5); 2 | 3 | \input{tikz_process_steps/nimplant.cleaning.b.tex} 4 | 5 | \shade[upper left = nimplant, upper right = nimplant, lower right = nwell, lower left = nwell,] (1.25,1.5) rectangle (3,2); 6 | \shade[upper left = nimplant, upper right = nimplant, lower right = pwell, lower left = pwell,] (11.75,1.5) rectangle (13.5,2); 7 | \shade[upper left = nimplant, upper right = nimplant, lower right = pwell, lower left = pwell,] (15,1.5) rectangle (17,2); 8 | -------------------------------------------------------------------------------- /process_steps/process_lowtech/tikz_process_steps/nimplant.doping.c.tex: -------------------------------------------------------------------------------- 1 | \input{tikz_process_steps/nimplant.cleaning.b.tex} 2 | 3 | \shade[upper left = nimplant, upper right = nimplant, lower right = nwell, lower left = nwell,] (1.25,1.5) rectangle (3,2); 4 | \shade[upper left = nimplant, upper right = nimplant, lower right = pwell, lower left = pwell,] (11.75,1.5) rectangle (13.5,2); 5 | \shade[upper left = nimplant, upper right = nimplant, lower right = pwell, lower left = pwell,] (15,1.5) rectangle (17,2); 6 | -------------------------------------------------------------------------------- /process_steps/process_lowtech/tikz_process_steps/nimplant.etching.a.tex: -------------------------------------------------------------------------------- 1 | \input{tikz_process_steps/nimplant.patterning.b.tex} -------------------------------------------------------------------------------- /process_steps/process_lowtech/tikz_process_steps/nimplant.etching.at.tex: -------------------------------------------------------------------------------- 1 | \fill[resist] (0,0) rectangle (20,12); 2 | 3 | % n+ 4 | \fill[isolationoxide] (1.5,2) rectangle (3,6.5); 5 | \fill[isolationoxide] (12,2) rectangle (13.5,6.5); 6 | \fill[isolationoxide] (15,2) rectangle (16.5,6.5); -------------------------------------------------------------------------------- /process_steps/process_lowtech/tikz_process_steps/nimplant.etching.b.tex: -------------------------------------------------------------------------------- 1 | % resist 2 | \fill[resist] (0,2.0) rectangle (1.25,6.0); 3 | \fill[resist] (3,2.0) rectangle (11.75,6.0); 4 | \fill[resist] (17,2.0) rectangle (20,6.0); 5 | 6 | \input{tikz_process_steps/nimplant.cleaning.b.tex} 7 | -------------------------------------------------------------------------------- /process_steps/process_lowtech/tikz_process_steps/nimplant.etching.bt.tex: -------------------------------------------------------------------------------- 1 | \fill[resist] (0,0) rectangle (20,12); 2 | 3 | % n+ 4 | \fill[nwell] (1.5,2) rectangle (3,6.5); 5 | \fill[substrate] (12,2) rectangle (13.5,6.5); 6 | \fill[substrate] (15,2) rectangle (16.5,6.5); -------------------------------------------------------------------------------- /process_steps/process_lowtech/tikz_process_steps/nimplant.implantation.a.tex: -------------------------------------------------------------------------------- 1 | \forloop{ct}{0}{\value{ct} < 21} 2 | { 3 | \draw [->] (\value{ct},6) -- (\value{ct},5); 4 | \node at (\value{ct},6.2) {P$^{31}$}; 5 | } 6 | 7 | \input{tikz_process_steps/nimplant.cleaning.b.tex} -------------------------------------------------------------------------------- /process_steps/process_lowtech/tikz_process_steps/nimplant.implantation.b.tex: -------------------------------------------------------------------------------- 1 | \input{tikz_process_steps/nimplant.cleaning.b.tex} 2 | 3 | \shade[upper left = nimplant, upper right = nimplant, lower right = nwell, lower left = nwell,] (1.25,1.75) rectangle (3,2); 4 | \shade[upper left = nimplant, upper right = nimplant, lower right = pwell, lower left = pwell,] (11.75,1.75) rectangle (13.5,2); 5 | \shade[upper left = nimplant, upper right = nimplant, lower right = pwell, lower left = pwell,] (15,1.75) rectangle (17,2); 6 | 7 | -------------------------------------------------------------------------------- /process_steps/process_lowtech/tikz_process_steps/nimplant.implantation.c.tex: -------------------------------------------------------------------------------- 1 | \input{tikz_process_steps/nimplant.cleaning.b.tex} 2 | 3 | \shade[upper left = nimplant, upper right = nimplant, lower right = nwell, lower left = nwell,] (1.25,1.5) rectangle (3,2); 4 | \shade[upper left = nimplant, upper right = nimplant, lower right = pwell, lower left = pwell,] (11.75,1.5) rectangle (13.5,2); 5 | \shade[upper left = nimplant, upper right = nimplant, lower right = pwell, lower left = pwell,] (15,1.5) rectangle (17,2); 6 | -------------------------------------------------------------------------------- /process_steps/process_lowtech/tikz_process_steps/nimplant.layout.tex: -------------------------------------------------------------------------------- 1 | \input{tikz_process_steps/gate.layout.tex} 2 | 3 | % n+ 4 | \fill[nimplant,opacity=\OpacityLayout] (1,0.75) rectangle (3,7.5); 5 | \fill[nimplant,opacity=\OpacityLayout] (11.5,0.75) rectangle (17,7.5); 6 | -------------------------------------------------------------------------------- /process_steps/process_lowtech/tikz_process_steps/nimplant.oxide_growth.a.tex: -------------------------------------------------------------------------------- 1 | \input{tikz_process_steps/gate.a.tex} -------------------------------------------------------------------------------- /process_steps/process_lowtech/tikz_process_steps/nimplant.oxide_growth.b.tex: -------------------------------------------------------------------------------- 1 | % oxide 2 | \fill[isolationoxide] (0,2.0) rectangle (20,2.5); 3 | 4 | \fill[isolationoxide] (0,2.0) rectangle (0.5,3.25); 5 | \fill[isolationoxide] (9.00,2.0) rectangle (11.0,3.25); 6 | \fill[isolationoxide] (19.5,2.0) rectangle (20,3.25); 7 | 8 | \filldraw[line width=0, isolationoxide] (0.5,3.25) -- (0.5,2.5) -- (1.25,2.5); 9 | \filldraw[line width=0, isolationoxide] (8.25,2.5) -- (9.00,2.5) -- (9.00,3.25); 10 | 11 | \filldraw[line width=0, isolationoxide] (11.0,3.25) -- (11.0,2.5) -- (11.75,2.5); 12 | \filldraw[line width=0, isolationoxide] (18.75,2.5) -- (19.5,2.5) -- (19.5,3.25); 13 | 14 | \input{tikz_process_steps/gate.a.tex} 15 | -------------------------------------------------------------------------------- /process_steps/process_lowtech/tikz_process_steps/nimplant.oxide_removal.a.tex: -------------------------------------------------------------------------------- 1 | % oxide 2 | \fill[isolationoxide] (0,2) rectangle (1.25,3.5); 3 | \fill[isolationoxide] (3,2) rectangle (11.75,3.5); 4 | \fill[isolationoxide] (17,2) rectangle (20,3.5); 5 | 6 | \input{tikz_process_steps/gate.a.tex} 7 | 8 | \fill[nimplant] (1.25,1.5) rectangle (3,2); 9 | \fill[nimplant] (11.75,1.5) rectangle (13.5,2); 10 | \fill[nimplant] (15,1.5) rectangle (17,2); 11 | -------------------------------------------------------------------------------- /process_steps/process_lowtech/tikz_process_steps/nimplant.oxide_removal.b.tex: -------------------------------------------------------------------------------- 1 | \input{tikz_process_steps/gate.a.tex} 2 | 3 | \fill[nimplant] (1.25,1.5) rectangle (3,2); 4 | \fill[nimplant] (11.75,1.5) rectangle (13.5,2); 5 | \fill[nimplant] (15,1.5) rectangle (17,2); 6 | -------------------------------------------------------------------------------- /process_steps/process_lowtech/tikz_process_steps/nimplant.patterning.a.tex: -------------------------------------------------------------------------------- 1 | \input{tikz_process_steps/nimplant.oxide_growth.b.tex} -------------------------------------------------------------------------------- /process_steps/process_lowtech/tikz_process_steps/nimplant.patterning.at.tex: -------------------------------------------------------------------------------- 1 | \fill[isolationoxide] (0,0) rectangle (20,12); -------------------------------------------------------------------------------- /process_steps/process_lowtech/tikz_process_steps/nimplant.patterning.b.tex: -------------------------------------------------------------------------------- 1 | % resist 2 | \fill[resist] (0,2.0) rectangle (1.25,6.0); 3 | \fill[resist] (3,2.0) rectangle (11.75,6.0); 4 | \fill[resist] (17,2.0) rectangle (20,6.0); 5 | 6 | \input{tikz_process_steps/nimplant.oxide_growth.b.tex} 7 | -------------------------------------------------------------------------------- /process_steps/process_lowtech/tikz_process_steps/nimplant.patterning.bt.tex: -------------------------------------------------------------------------------- 1 | \fill[resist] (0,0) rectangle (20,12); 2 | 3 | % n+ 4 | \fill[isolationoxide] (1.5,2) rectangle (3,6.5); 5 | \fill[isolationoxide] (12,2) rectangle (13.5,6.5); 6 | \fill[isolationoxide] (15,2) rectangle (16.5,6.5); -------------------------------------------------------------------------------- /process_steps/process_lowtech/tikz_process_steps/nwell.a.tex: -------------------------------------------------------------------------------- 1 | \input{tikz_process_steps/pwell.a.tex} 2 | \shade[upper left = nwell, upper right = nwell, lower right = substrate, lower left = substrate,] (1.25,1.5) rectangle (8.25,2.0); 3 | \shade[upper left = pwell, upper right = pwell, lower right = substrate, lower left = substrate,] (11.75,1.0) rectangle (18.75,2.0); -------------------------------------------------------------------------------- /process_steps/process_lowtech/tikz_process_steps/nwell.b.tex: -------------------------------------------------------------------------------- 1 | \input{tikz_process_steps/pwell.b.tex} 2 | \fill[nwell] (1.25,1) rectangle (8.25,7.25); 3 | -------------------------------------------------------------------------------- /process_steps/process_lowtech/tikz_process_steps/nwell.cleaning.a.tex: -------------------------------------------------------------------------------- 1 | \input{tikz_process_steps/nwell.etching.b.tex} -------------------------------------------------------------------------------- /process_steps/process_lowtech/tikz_process_steps/nwell.cleaning.b.tex: -------------------------------------------------------------------------------- 1 | % oxide 2 | \fill[isolationoxide] (0,1.25) rectangle (1,2.75); 3 | \fill[isolationoxide] (8.5,1.25) rectangle (20,2.75); 4 | 5 | % oxide hill 1 6 | \filldraw[line width=0, isolationoxide] (0.5,2.75) -- (1.0,2.75) -- (1.0,3.0); 7 | \filldraw[line width=0, isolationoxide] (8.75,2.75) -- (8.5,2.75) -- (8.5,3.0); 8 | 9 | % oxide hill 2 10 | \fill[isolationoxide] (11.75,2.75) rectangle (18.75,3.5); 11 | \filldraw[line width=0, isolationoxide] (11.0,2.75) -- (11.75,2.75) -- (11.75,3.5); 12 | \filldraw[line width=0, isolationoxide] (18.75,2.75) -- (18.75,3.5) -- (19.5,2.75); 13 | 14 | \input{tikz_process_steps/nwell.mask_dioxide_layer.a.tex} 15 | -------------------------------------------------------------------------------- /process_steps/process_lowtech/tikz_process_steps/nwell.doping.a.tex: -------------------------------------------------------------------------------- 1 | \fill[nwell] (0,0) rectangle (20,5); 2 | 3 | \input{tikz_process_steps/nwell.cleaning.b.tex} -------------------------------------------------------------------------------- /process_steps/process_lowtech/tikz_process_steps/nwell.doping.b.tex: -------------------------------------------------------------------------------- 1 | \fill[nwell] (0,0) rectangle (20,5); 2 | 3 | \input{tikz_process_steps/nwell.cleaning.b.tex} 4 | 5 | \shade[upper left = nwell, upper right = nwell, lower right = substrate, lower left = substrate,] (1.25,1.5) rectangle (8.25,2.0); 6 | \shade[upper left = pwell, upper right = pwell, lower right = substrate, lower left = substrate,] (11.75,1.0) rectangle (18.75,2.0); -------------------------------------------------------------------------------- /process_steps/process_lowtech/tikz_process_steps/nwell.doping.c.tex: -------------------------------------------------------------------------------- 1 | \input{tikz_process_steps/nwell.cleaning.b.tex} 2 | 3 | \shade[upper left = nwell, upper right = nwell, lower right = substrate, lower left = substrate,] (1.25,1.5) rectangle (8.25,2.0); 4 | \shade[upper left = pwell, upper right = pwell, lower right = substrate, lower left = substrate,] (11.75,1.0) rectangle (18.75,2.0); -------------------------------------------------------------------------------- /process_steps/process_lowtech/tikz_process_steps/nwell.etching.a.tex: -------------------------------------------------------------------------------- 1 | \input{tikz_process_steps/nwell.patterning.b.tex} -------------------------------------------------------------------------------- /process_steps/process_lowtech/tikz_process_steps/nwell.etching.at.tex: -------------------------------------------------------------------------------- 1 | % resist 2 | \fill[resist] (0,0) rectangle (20,12); 3 | % substrate 4 | \fill[isolationoxide] (1,0.75) rectangle (8.5,7.5); -------------------------------------------------------------------------------- /process_steps/process_lowtech/tikz_process_steps/nwell.etching.b.tex: -------------------------------------------------------------------------------- 1 | % resist 2 | \fill[resist] (0,2.6) rectangle (1,5.0); 3 | \fill[resist] (8.5,2.6) rectangle (20,5.0); 4 | 5 | % oxide 6 | \fill[isolationoxide] (0,1.25) rectangle (1,2.75); 7 | \fill[isolationoxide] (8.5,1.25) rectangle (20,2.75); 8 | 9 | % oxide hill 1 10 | \filldraw[line width=0, isolationoxide] (0.5,2.75) -- (1.0,2.75) -- (1.0,3.0); 11 | \filldraw[line width=0, isolationoxide] (8.75,2.75) -- (8.5,2.75) -- (8.5,3.0); 12 | 13 | % oxide hill 2 14 | \fill[isolationoxide] (11.75,2.75) rectangle (18.75,3.5); 15 | \filldraw[line width=0, isolationoxide] (11.0,2.75) -- (11.75,2.75) -- (11.75,3.5); 16 | \filldraw[line width=0, isolationoxide] (18.75,2.75) -- (18.75,3.5) -- (19.5,2.75); 17 | 18 | \input{tikz_process_steps/nwell.mask_dioxide_layer.a.tex} 19 | -------------------------------------------------------------------------------- /process_steps/process_lowtech/tikz_process_steps/nwell.etching.bt.tex: -------------------------------------------------------------------------------- 1 | % resist 2 | \fill[resist] (0,0) rectangle (20,12); 3 | % substrate 4 | \fill[substrate] (1.25,1) rectangle (8.25,7.25); -------------------------------------------------------------------------------- /process_steps/process_lowtech/tikz_process_steps/nwell.implantation.a.tex: -------------------------------------------------------------------------------- 1 | \input{tikz_process_steps/nwell.cleaning.b.tex} 2 | 3 | \forloop{ct}{0}{\value{ct} < 21} 4 | { 5 | \draw [->] (\value{ct},5) -- (\value{ct},4); 6 | \node at (\value{ct},5.2) {P$^{31}$}; 7 | } -------------------------------------------------------------------------------- /process_steps/process_lowtech/tikz_process_steps/nwell.implantation.b.tex: -------------------------------------------------------------------------------- 1 | \input{tikz_process_steps/nwell.cleaning.b.tex} 2 | \shade[upper left = nwell, upper right = nwell, lower right = substrate, lower left = substrate,] (1.25,1.8) rectangle (8.25,2); 3 | \node at (4.75,1.9) {n+}; 4 | -------------------------------------------------------------------------------- /process_steps/process_lowtech/tikz_process_steps/nwell.implantation.c.tex: -------------------------------------------------------------------------------- 1 | \input{tikz_process_steps/nwell.cleaning.b.tex} 2 | \shade[upper left = nwell, upper right = nwell, lower right = substrate, lower left = substrate,] (1.25,1.5) rectangle (8.25,2.0); 3 | \shade[upper left = pwell, upper right = pwell, lower right = substrate, lower left = substrate,] (11.75,1.0) rectangle (18.75,2.0); -------------------------------------------------------------------------------- /process_steps/process_lowtech/tikz_process_steps/nwell.layout.tex: -------------------------------------------------------------------------------- 1 | \input{tikz_process_steps/pwell.layout.tex} 2 | \fill[nwell,opacity=\OpacityLayout] (1,0.75) rectangle (8.5,7.5); -------------------------------------------------------------------------------- /process_steps/process_lowtech/tikz_process_steps/nwell.mask_dioxide_layer.a.tex: -------------------------------------------------------------------------------- 1 | \input{tikz_process_steps/pwell.a.tex} -------------------------------------------------------------------------------- /process_steps/process_lowtech/tikz_process_steps/nwell.mask_dioxide_layer.b.tex: -------------------------------------------------------------------------------- 1 | % oxide 2 | \fill[isolationoxide] (0,1.25) rectangle (20,2.75); 3 | 4 | % oxide hill 1 5 | \fill[isolationoxide] (1.25,2.75) rectangle (8.25,3.5); 6 | \filldraw[line width=0, isolationoxide] (0.5,2.75) -- (1.25,2.75) -- (1.25,3.5); 7 | \filldraw[line width=0, isolationoxide] (8.25,2.75) -- (8.25,3.5) -- (9.0,2.75); 8 | 9 | % oxide hill 2 10 | \fill[isolationoxide] (11.75,2.75) rectangle (18.75,3.5); 11 | \filldraw[line width=0, isolationoxide] (11.0,2.75) -- (11.75,2.75) -- (11.75,3.5); 12 | \filldraw[line width=0, isolationoxide] (18.75,2.75) -- (18.75,3.5) -- (19.5,2.75); 13 | 14 | \node at (2,2.1) {SiO2}; 15 | 16 | \input{tikz_process_steps/nwell.mask_dioxide_layer.a.tex} -------------------------------------------------------------------------------- /process_steps/process_lowtech/tikz_process_steps/nwell.oxide_mask_removal.a.tex: -------------------------------------------------------------------------------- 1 | \input{tikz_process_steps/nwell.implantation.c.tex} -------------------------------------------------------------------------------- /process_steps/process_lowtech/tikz_process_steps/nwell.oxide_mask_removal.b.tex: -------------------------------------------------------------------------------- 1 | \input{tikz_process_steps/sti.a.tex} 2 | \shade[upper left = nwell, upper right = nwell, lower right = substrate, lower left = substrate,] (1.25,1.5) rectangle (8.25,2.0); 3 | \shade[upper left = pwell, upper right = pwell, lower right = substrate, lower left = substrate,] (11.75,1.0) rectangle (18.75,2.0); -------------------------------------------------------------------------------- /process_steps/process_lowtech/tikz_process_steps/nwell.patterning.a.tex: -------------------------------------------------------------------------------- 1 | \input{tikz_process_steps/nwell.mask_dioxide_layer.b.tex} -------------------------------------------------------------------------------- /process_steps/process_lowtech/tikz_process_steps/nwell.patterning.at.tex: -------------------------------------------------------------------------------- 1 | % resist 2 | \fill[isolationoxide] (0,0) rectangle (20,12); -------------------------------------------------------------------------------- /process_steps/process_lowtech/tikz_process_steps/nwell.patterning.b.tex: -------------------------------------------------------------------------------- 1 | % resist 2 | \fill[resist] (0,2.6) rectangle (1,5.0); 3 | \fill[resist] (8.5,2.6) rectangle (20,5.0); 4 | 5 | \input{tikz_process_steps/nwell.mask_dioxide_layer.b.tex} -------------------------------------------------------------------------------- /process_steps/process_lowtech/tikz_process_steps/nwell.patterning.bt.tex: -------------------------------------------------------------------------------- 1 | % resist 2 | \fill[resist] (0,0) rectangle (20,12); 3 | % substrate 4 | \fill[isolationoxide] (1.25,1.5) rectangle (8.25,7.25); -------------------------------------------------------------------------------- /process_steps/process_lowtech/tikz_process_steps/pimplant.b.tex: -------------------------------------------------------------------------------- 1 | \input{tikz_process_steps/nimplant.b.tex} 2 | 3 | % p+ 4 | \fill[pimplant] (3,1.0) rectangle (5,7.25); 5 | \fill[pimplant] (6.5,1.0) rectangle (8.25,7.25); 6 | \fill[pimplant] (17,1.0) rectangle (18.75,7.25); 7 | -------------------------------------------------------------------------------- /process_steps/process_lowtech/tikz_process_steps/pimplant.cleaning.a.tex: -------------------------------------------------------------------------------- 1 | \input{tikz_process_steps/pimplant.etching.b.tex} -------------------------------------------------------------------------------- /process_steps/process_lowtech/tikz_process_steps/pimplant.cleaning.b.tex: -------------------------------------------------------------------------------- 1 | \fill[isolationoxide] (0,2.5) rectangle (0.5,3.25); 2 | \fill[isolationoxide] (9.00,2.5) rectangle (11.0,3.25); 3 | \fill[isolationoxide] (19.5,2.5) rectangle (20,3.25); 4 | 5 | \filldraw[line width=0, isolationoxide] (0.5,3.25) -- (0.5,2.5) -- (1.25,2.5); 6 | \filldraw[line width=0, isolationoxide] (8.25,2.5) -- (9.00,2.5) -- (9.00,3.25); 7 | 8 | \filldraw[line width=0, isolationoxide] (11.0,3.25) -- (11.0,2.5) -- (11.75,2.5); 9 | \filldraw[line width=0, isolationoxide] (18.75,2.5) -- (19.5,2.5) -- (19.5,3.25); 10 | 11 | % oxide 12 | \fill[isolationoxide] (0,2) rectangle (3.0,2.5); 13 | \fill[isolationoxide] (8.25,2) rectangle (17,2.5); 14 | \fill[isolationoxide] (18.75,2) rectangle (20,2.5); 15 | 16 | \input{tikz_process_steps/nimplant.a.tex} 17 | -------------------------------------------------------------------------------- /process_steps/process_lowtech/tikz_process_steps/pimplant.doping.a.tex: -------------------------------------------------------------------------------- 1 | \fill[pimplant] (0,0) rectangle (20,5); 2 | 3 | \input{tikz_process_steps/pimplant.cleaning.b.tex} 4 | -------------------------------------------------------------------------------- /process_steps/process_lowtech/tikz_process_steps/pimplant.etching.a.tex: -------------------------------------------------------------------------------- 1 | \input{tikz_process_steps/pimplant.patterning.b.tex} -------------------------------------------------------------------------------- /process_steps/process_lowtech/tikz_process_steps/pimplant.etching.at.tex: -------------------------------------------------------------------------------- 1 | \fill[resist] (0,0) rectangle (20,12); 2 | 3 | % p+ 4 | \fill[isolationoxide] (3.5,2) rectangle (5,6.5); 5 | \fill[isolationoxide] (6.5,2) rectangle (8,6.5); 6 | \fill[isolationoxide] (17,2) rectangle (18.25,6.5); -------------------------------------------------------------------------------- /process_steps/process_lowtech/tikz_process_steps/pimplant.etching.b.tex: -------------------------------------------------------------------------------- 1 | % resist 2 | \fill[resist] (0,2.0) rectangle (3.0,6.0); 3 | \fill[resist] (8.25,2.0) rectangle (17,6.0); 4 | \fill[resist] (18.25,2.0) rectangle (20,6.0); 5 | 6 | \input{tikz_process_steps/pimplant.cleaning.b.tex} 7 | -------------------------------------------------------------------------------- /process_steps/process_lowtech/tikz_process_steps/pimplant.etching.bt.tex: -------------------------------------------------------------------------------- 1 | \fill[resist] (0,0) rectangle (20,12); 2 | 3 | % p+ 4 | \fill[nwell] (3.5,2) rectangle (5,6.5); 5 | \fill[nwell] (6.5,2) rectangle (8,6.5); 6 | \fill[substrate] (17,2) rectangle (18.25,6.5); -------------------------------------------------------------------------------- /process_steps/process_lowtech/tikz_process_steps/pimplant.implantation.a.tex: -------------------------------------------------------------------------------- 1 | \forloop{ct}{0}{\value{ct} < 21} 2 | { 3 | \draw [->] (\value{ct},6) -- (\value{ct},5); 4 | \node at (\value{ct},6.2) {B$^{11}$}; 5 | } 6 | 7 | \input{tikz_process_steps/pimplant.cleaning.b.tex} 8 | -------------------------------------------------------------------------------- /process_steps/process_lowtech/tikz_process_steps/pimplant.implantation.b.tex: -------------------------------------------------------------------------------- 1 | \input{tikz_process_steps/pimplant.cleaning.b.tex} 2 | \shade[upper left = pimplant, upper right = pimplant, lower right = nwell, lower left = nwell,] (3.0,1.75) rectangle (5,2); 3 | \shade[upper left = pimplant, upper right = pimplant, lower right = nwell, lower left = nwell,] (6.5,1.75) rectangle (8.25,2); 4 | \shade[upper left = pimplant, upper right = pimplant, lower right = pwell, lower left = pwell,] (17,1.75) rectangle (18.75,2); -------------------------------------------------------------------------------- /process_steps/process_lowtech/tikz_process_steps/pimplant.layout.tex: -------------------------------------------------------------------------------- 1 | \input{tikz_process_steps/nimplant.layout.tex} 2 | 3 | % p+ 4 | \fill[pimplant,opacity=\OpacityLayout] (3,0.75) rectangle (8.25,7.5); 5 | \fill[pimplant,opacity=\OpacityLayout] (17,0.75) rectangle (19,7.5); -------------------------------------------------------------------------------- /process_steps/process_lowtech/tikz_process_steps/pimplant.oxide_growth.a.tex: -------------------------------------------------------------------------------- 1 | \input{tikz_process_steps/nimplant.a.tex} -------------------------------------------------------------------------------- /process_steps/process_lowtech/tikz_process_steps/pimplant.oxide_growth.b.tex: -------------------------------------------------------------------------------- 1 | % oxide 2 | \fill[isolationoxide] (0,2.0) rectangle (20,2.5); 3 | 4 | \fill[isolationoxide] (0,2.0) rectangle (0.5,3.25); 5 | \fill[isolationoxide] (9.00,2.0) rectangle (11.0,3.25); 6 | \fill[isolationoxide] (19.5,2.0) rectangle (20,3.25); 7 | 8 | \filldraw[line width=0, isolationoxide] (0.5,3.25) -- (0.5,2.5) -- (1.25,2.5); 9 | \filldraw[line width=0, isolationoxide] (8.25,2.5) -- (9.00,2.5) -- (9.00,3.25); 10 | 11 | \filldraw[line width=0, isolationoxide] (11.0,3.25) -- (11.0,2.5) -- (11.75,2.5); 12 | \filldraw[line width=0, isolationoxide] (18.75,2.5) -- (19.5,2.5) -- (19.5,3.25); 13 | 14 | \input{tikz_process_steps/nimplant.a.tex} 15 | -------------------------------------------------------------------------------- /process_steps/process_lowtech/tikz_process_steps/pimplant.patterning.a.tex: -------------------------------------------------------------------------------- 1 | \input{tikz_process_steps/pimplant.oxide_growth.b.tex} -------------------------------------------------------------------------------- /process_steps/process_lowtech/tikz_process_steps/pimplant.patterning.at.tex: -------------------------------------------------------------------------------- 1 | \fill[isolationoxide] (0,0) rectangle (20,12); -------------------------------------------------------------------------------- /process_steps/process_lowtech/tikz_process_steps/pimplant.patterning.b.tex: -------------------------------------------------------------------------------- 1 | % resist 2 | \fill[resist] (0,2.0) rectangle (3.0,6.0); 3 | \fill[resist] (8.25,2.0) rectangle (17,6.0); 4 | \fill[resist] (18.25,2.0) rectangle (20,6.0); 5 | 6 | \input{tikz_process_steps/pimplant.oxide_growth.b.tex} 7 | -------------------------------------------------------------------------------- /process_steps/process_lowtech/tikz_process_steps/pimplant.patterning.bt.tex: -------------------------------------------------------------------------------- 1 | \fill[resist] (0,0) rectangle (20,12); 2 | 3 | % p+ 4 | \fill[isolationoxide] (3.5,2) rectangle (5,6.5); 5 | \fill[isolationoxide] (6.5,2) rectangle (8,6.5); 6 | \fill[isolationoxide] (17,2) rectangle (18.25,6.5); -------------------------------------------------------------------------------- /process_steps/process_lowtech/tikz_process_steps/pwell.a.tex: -------------------------------------------------------------------------------- 1 | \input{tikz_process_steps/sti.a.tex} 2 | \shade[upper left = pwell, upper right = pwell, lower right = substrate, lower left = substrate,] (11.75,1.5) rectangle (18.75,2.0); -------------------------------------------------------------------------------- /process_steps/process_lowtech/tikz_process_steps/pwell.b.tex: -------------------------------------------------------------------------------- 1 | \input{tikz_process_steps/sti.b.tex} 2 | \fill[pwell] (11.75,1) rectangle (18.75,7.25); -------------------------------------------------------------------------------- /process_steps/process_lowtech/tikz_process_steps/pwell.cleaning.a.tex: -------------------------------------------------------------------------------- 1 | % resist 2 | \fill[resist] (0,2.6) rectangle (11.5,5.0); 3 | \fill[resist] (19,2.6) rectangle (20,5.0); 4 | 5 | % oxide 6 | \fill[isolationoxide] (0,1.25) rectangle (11.5,2.75); 7 | \fill[isolationoxide] (19,1.25) rectangle (20,2.75); 8 | 9 | % oxide hill 1 10 | \fill[isolationoxide] (1.25,2.75) rectangle (8.25,3.5); 11 | \filldraw[line width=0, isolationoxide] (0.5,2.75) -- (1.25,2.75) -- (1.25,3.5); 12 | \filldraw[line width=0, isolationoxide] (8.25,2.75) -- (8.25,3.5) -- (9.0,2.75); 13 | 14 | % oxide hill 2 15 | \filldraw[line width=0, isolationoxide] (11.25,2.75) -- (11.5,2.75) -- (11.5,3.0); 16 | \filldraw[line width=0, isolationoxide] (19.0,3.0) -- (19.0,2.75) -- (19.00,2.75); 17 | 18 | \node at (2,2.1) {SiO2}; 19 | 20 | \input{tikz_process_steps/pwell.mask_dioxide_layer.a.tex} -------------------------------------------------------------------------------- /process_steps/process_lowtech/tikz_process_steps/pwell.cleaning.b.tex: -------------------------------------------------------------------------------- 1 | % oxide 2 | \fill[isolationoxide] (0,1.25) rectangle (11.5,2.75); 3 | \fill[isolationoxide] (19,1.25) rectangle (20,2.75); 4 | 5 | % oxide hill 1 6 | \fill[isolationoxide] (1.25,2.75) rectangle (8.25,3.5); 7 | \filldraw[line width=0, isolationoxide] (0.5,2.75) -- (1.25,2.75) -- (1.25,3.5); 8 | \filldraw[line width=0, isolationoxide] (8.25,2.75) -- (8.25,3.5) -- (9.0,2.75); 9 | 10 | % oxide hill 2 11 | \filldraw[line width=0, isolationoxide] (11.25,2.75) -- (11.5,2.75) -- (11.5,3.0); 12 | \filldraw[line width=0, isolationoxide] (19.0,3.0) -- (19.0,2.75) -- (19.00,2.75); 13 | 14 | \node at (2,2.1) {SiO2}; 15 | 16 | \input{tikz_process_steps/pwell.mask_dioxide_layer.a.tex} 17 | 18 | -------------------------------------------------------------------------------- /process_steps/process_lowtech/tikz_process_steps/pwell.doping.a.tex: -------------------------------------------------------------------------------- 1 | % boron 2 | \fill[pwell] (0,0) rectangle (20,5); 3 | 4 | \input{tikz_process_steps/pwell.cleaning.b.tex} -------------------------------------------------------------------------------- /process_steps/process_lowtech/tikz_process_steps/pwell.doping.b.tex: -------------------------------------------------------------------------------- 1 | % boron 2 | \fill[pwell] (0,0) rectangle (20,5); 3 | 4 | \input{tikz_process_steps/pwell.cleaning.b.tex} 5 | 6 | % boron 7 | \shade[upper left = pwell, upper right = pwell, lower right = substrate, lower left = substrate,] (11.75,1.5) rectangle (18.75,2); -------------------------------------------------------------------------------- /process_steps/process_lowtech/tikz_process_steps/pwell.doping.c.tex: -------------------------------------------------------------------------------- 1 | \input{tikz_process_steps/pwell.cleaning.b.tex} 2 | 3 | % boron 4 | \shade[upper left = pwell, upper right = pwell, lower right = substrate, lower left = substrate,] (11.75,1.5) rectangle (18.75,2); -------------------------------------------------------------------------------- /process_steps/process_lowtech/tikz_process_steps/pwell.etching.a.tex: -------------------------------------------------------------------------------- 1 | \input{tikz_process_steps/pwell.patterning.b.tex} -------------------------------------------------------------------------------- /process_steps/process_lowtech/tikz_process_steps/pwell.etching.at.tex: -------------------------------------------------------------------------------- 1 | % resist 2 | \fill[resist] (0,0) rectangle (20,12); 3 | % substrate 4 | \fill[isolationoxide] (11.5,1.5) rectangle (19,7.25); -------------------------------------------------------------------------------- /process_steps/process_lowtech/tikz_process_steps/pwell.etching.b.tex: -------------------------------------------------------------------------------- 1 | % resist 2 | \fill[resist] (0,2.6) rectangle (11.5,5.0); 3 | \fill[resist] (19,2.6) rectangle (20,5.0); 4 | 5 | % oxide 6 | \fill[isolationoxide] (0,1.25) rectangle (11.5,2.75); 7 | \fill[isolationoxide] (19,1.25) rectangle (20,2.75); 8 | 9 | % oxide hill 1 10 | \fill[isolationoxide] (1.25,2.75) rectangle (8.25,3.5); 11 | \filldraw[line width=0, isolationoxide] (0.5,2.75) -- (1.25,2.75) -- (1.25,3.5); 12 | \filldraw[line width=0, isolationoxide] (8.25,2.75) -- (8.25,3.5) -- (9.0,2.75); 13 | 14 | % oxide hill 2 15 | \filldraw[line width=0, isolationoxide] (11.25,2.75) -- (11.5,2.75) -- (11.5,3.0); 16 | \filldraw[line width=0, isolationoxide] (19.0,3.0) -- (19.0,2.75) -- (19.00,2.75); 17 | 18 | \node at (2,2.1) {SiO2}; 19 | 20 | \input{tikz_process_steps/pwell.mask_dioxide_layer.a.tex} 21 | 22 | -------------------------------------------------------------------------------- /process_steps/process_lowtech/tikz_process_steps/pwell.etching.bt.tex: -------------------------------------------------------------------------------- 1 | % resist 2 | \fill[resist] (0,0) rectangle (20,12); 3 | % substrate 4 | \fill[substrate] (11.5,1.5) rectangle (19,7.25); -------------------------------------------------------------------------------- /process_steps/process_lowtech/tikz_process_steps/pwell.implantation.a.tex: -------------------------------------------------------------------------------- 1 | \input{tikz_process_steps/pwell.cleaning.b.tex} 2 | 3 | \forloop{ct}{0}{\value{ct} < 21} 4 | { 5 | \draw [->] (\value{ct},5) -- (\value{ct},4); 6 | \node at (\value{ct},5.2) {B$^{11}$}; 7 | } -------------------------------------------------------------------------------- /process_steps/process_lowtech/tikz_process_steps/pwell.implantation.b.tex: -------------------------------------------------------------------------------- 1 | \input{tikz_process_steps/pwell.cleaning.b.tex} 2 | 3 | % boron 4 | \shade[upper left = pwell, upper right = pwell, lower right = substrate, lower left = substrate,] (11.75,1.8) rectangle (18.75,2); -------------------------------------------------------------------------------- /process_steps/process_lowtech/tikz_process_steps/pwell.implantation.c.tex: -------------------------------------------------------------------------------- 1 | \input{tikz_process_steps/pwell.cleaning.b.tex} 2 | 3 | % boron 4 | \shade[upper left = pwell, upper right = pwell, lower right = substrate, lower left = substrate,] (11.75,1.5) rectangle (18.75,2); -------------------------------------------------------------------------------- /process_steps/process_lowtech/tikz_process_steps/pwell.layout.tex: -------------------------------------------------------------------------------- 1 | \input{tikz_process_steps/sti.layout.tex} 2 | \fill[pwell,opacity=\OpacityLayout] (11.5,0.75) rectangle (19,7.5); -------------------------------------------------------------------------------- /process_steps/process_lowtech/tikz_process_steps/pwell.mask_dioxide_layer.a.tex: -------------------------------------------------------------------------------- 1 | \input{tikz_process_steps/sti.a.tex} -------------------------------------------------------------------------------- /process_steps/process_lowtech/tikz_process_steps/pwell.mask_dioxide_layer.b.tex: -------------------------------------------------------------------------------- 1 | % oxide 2 | \fill[isolationoxide] (0,1.25) rectangle (20,2.75); 3 | 4 | % oxide hill 1 5 | \fill[isolationoxide] (1.25,2.75) rectangle (8.25,3.5); 6 | \filldraw[line width=0, isolationoxide] (0.5,2.75) -- (1.25,2.75) -- (1.25,3.5); 7 | \filldraw[line width=0, isolationoxide] (8.25,2.75) -- (8.25,3.5) -- (9.0,2.75); 8 | 9 | % oxide hill 2 10 | \fill[isolationoxide] (11.75,2.75) rectangle (18.75,3.5); 11 | \filldraw[line width=0, isolationoxide] (11.0,2.75) -- (11.75,2.75) -- (11.75,3.5); 12 | \filldraw[line width=0, isolationoxide] (18.75,2.75) -- (18.75,3.5) -- (19.5,2.75); 13 | 14 | \node at (2,2.1) {SiO2}; 15 | 16 | \input{tikz_process_steps/pwell.mask_dioxide_layer.a.tex} -------------------------------------------------------------------------------- /process_steps/process_lowtech/tikz_process_steps/pwell.oxide_mask_removal.a.tex: -------------------------------------------------------------------------------- 1 | \input{tikz_process_steps/pwell.implantation.c.tex} -------------------------------------------------------------------------------- /process_steps/process_lowtech/tikz_process_steps/pwell.oxide_mask_removal.b.tex: -------------------------------------------------------------------------------- 1 | \input{tikz_process_steps/pwell.mask_dioxide_layer.a.tex} 2 | % boron 3 | \shade[upper left = pwell, upper right = pwell, lower right = substrate, lower left = substrate,] (11.75,1.5) rectangle (18.75,2); -------------------------------------------------------------------------------- /process_steps/process_lowtech/tikz_process_steps/pwell.patterning.a.tex: -------------------------------------------------------------------------------- 1 | \input{tikz_process_steps/pwell.mask_dioxide_layer.b.tex} -------------------------------------------------------------------------------- /process_steps/process_lowtech/tikz_process_steps/pwell.patterning.at.tex: -------------------------------------------------------------------------------- 1 | % resist 2 | \fill[isolationoxide] (0,0) rectangle (20,12); -------------------------------------------------------------------------------- /process_steps/process_lowtech/tikz_process_steps/pwell.patterning.b.tex: -------------------------------------------------------------------------------- 1 | % resist 2 | \fill[resist] (0,2.6) rectangle (11.5,5.0); 3 | \fill[resist] (19,2.6) rectangle (20,5.0); 4 | 5 | \input{tikz_process_steps/pwell.mask_dioxide_layer.b.tex} -------------------------------------------------------------------------------- /process_steps/process_lowtech/tikz_process_steps/pwell.patterning.bt.tex: -------------------------------------------------------------------------------- 1 | % resist 2 | \fill[resist] (0,0) rectangle (20,12); 3 | % substrate 4 | \fill[isolationoxide] (11.5,1.5) rectangle (19,7.25); -------------------------------------------------------------------------------- /process_steps/process_lowtech/tikz_process_steps/silicification.a.tex: -------------------------------------------------------------------------------- 1 | \input{tikz_process_steps/pimplant.a.tex} 2 | 3 | \filldraw[line width=0, isolationoxide] (5,2.0) -- (4.5,2.0) -- (5,3.0); 4 | \filldraw[line width=0, isolationoxide] (6.5,2.0) -- (7.0,2.0) -- (6.5,3.0); 5 | \filldraw[line width=0, isolationoxide] (13.5,2.0) -- (13.0,2.0) -- (13.5,3.0); 6 | \filldraw[line width=0, isolationoxide] (15,2.0) -- (15.5,2.0) -- (15,3.0); 7 | 8 | \fill[silicide] (1.25,1.8) rectangle (4.5,2); 9 | \fill[silicide] (5,2.8) rectangle (6.5,3.0); 10 | \fill[silicide] (7,1.8) rectangle (8.25,2); 11 | 12 | \fill[silicide] (11.75,1.8) rectangle (13,2); 13 | \fill[silicide] (13.5,2.8) rectangle (15,3.0); 14 | \fill[silicide] (15.5,1.8) rectangle (18.75,2); -------------------------------------------------------------------------------- /process_steps/process_lowtech/tikz_process_steps/silicification.b.tex: -------------------------------------------------------------------------------- 1 | \input{tikz_process_steps/pimplant.b.tex} -------------------------------------------------------------------------------- /process_steps/process_lowtech/tikz_process_steps/silicification.layout.tex: -------------------------------------------------------------------------------- 1 | \input{tikz_process_steps/pimplant.layout.tex} 2 | 3 | \fill[silicide-block,opacity=\OpacityLayout] (16,6) rectangle (18,7.5); -------------------------------------------------------------------------------- /process_steps/process_lowtech/tikz_process_steps/silicification.metal_deposition.a.tex: -------------------------------------------------------------------------------- 1 | \filldraw[line width=0, isolationoxide] (5,2.0) -- (4.5,2.0) -- (5,3.0); 2 | \filldraw[line width=0, isolationoxide] (6.5,2.0) -- (7.0,2.0) -- (6.5,3.0); 3 | \filldraw[line width=0, isolationoxide] (13.5,2.0) -- (13.0,2.0) -- (13.5,3.0); 4 | \filldraw[line width=0, isolationoxide] (15,2.0) -- (15.5,2.0) -- (15,3.0); 5 | 6 | \input{tikz_process_steps/pimplant.a.tex} -------------------------------------------------------------------------------- /process_steps/process_lowtech/tikz_process_steps/silicification.metal_deposition.b.tex: -------------------------------------------------------------------------------- 1 | \fill[titanium] (0,2.0) rectangle (20,2.5); 2 | \fill[titanium] (4.5,2.0) rectangle (7,3.5); 3 | \fill[titanium] (13,2.0) rectangle (15.5,3.5); 4 | \filldraw[line width=0, titanium] (4.5,2.5) -- (4.0,2.5) -- (4.5,3.5); 5 | \filldraw[line width=0, titanium] (7.0,2.5) -- (7.5,2.5) -- (7.0,3.5); 6 | \filldraw[line width=0, titanium] (13.0,2.5) -- (12.5,2.5) -- (13.0,3.5); 7 | \filldraw[line width=0, titanium] (15.5,2.5) -- (16.0,2.5) -- (15.5,3.5); 8 | 9 | \filldraw[line width=0, isolationoxide] (5,2.0) -- (4.5,2.0) -- (5,3.0); 10 | \filldraw[line width=0, isolationoxide] (6.5,2.0) -- (7.0,2.0) -- (6.5,3.0); 11 | \filldraw[line width=0, isolationoxide] (13.5,2.0) -- (13.0,2.0) -- (13.5,3.0); 12 | \filldraw[line width=0, isolationoxide] (15,2.0) -- (15.5,2.0) -- (15,3.0); 13 | 14 | \input{tikz_process_steps/pimplant.a.tex} -------------------------------------------------------------------------------- /process_steps/process_lowtech/tikz_process_steps/silicification.metal_removal.a.tex: -------------------------------------------------------------------------------- 1 | \fill[titanium] (0,2.0) rectangle (20,2.5); 2 | \fill[titanium] (4.5,2.0) rectangle (7,3.5); 3 | \fill[titanium] (13,2.0) rectangle (15.5,3.5); 4 | \filldraw[line width=0, titanium] (4.5,2.5) -- (4.0,2.5) -- (4.5,3.5); 5 | \filldraw[line width=0, titanium] (7.0,2.5) -- (7.5,2.5) -- (7.0,3.5); 6 | \filldraw[line width=0, titanium] (13.0,2.5) -- (12.5,2.5) -- (13.0,3.5); 7 | \filldraw[line width=0, titanium] (15.5,2.5) -- (16.0,2.5) -- (15.5,3.5); 8 | 9 | \input{tikz_process_steps/silicification.rtp2.b.tex} -------------------------------------------------------------------------------- /process_steps/process_lowtech/tikz_process_steps/silicification.metal_removal.b.tex: -------------------------------------------------------------------------------- 1 | \input{tikz_process_steps/silicification.rtp2.b.tex} -------------------------------------------------------------------------------- /process_steps/process_lowtech/tikz_process_steps/silicification.oxide_growth.a.tex: -------------------------------------------------------------------------------- 1 | \input{tikz_process_steps/pimplant.a.tex} -------------------------------------------------------------------------------- /process_steps/process_lowtech/tikz_process_steps/silicification.oxide_growth.b.tex: -------------------------------------------------------------------------------- 1 | \fill[isolationoxide] (0,2.0) rectangle (20,2.5); 2 | \fill[isolationoxide] (4.5,2.0) rectangle (7,3.5); 3 | \fill[isolationoxide] (13,2.0) rectangle (15.5,3.5); 4 | \input{tikz_process_steps/pimplant.a.tex} -------------------------------------------------------------------------------- /process_steps/process_lowtech/tikz_process_steps/silicification.rtp1.a.tex: -------------------------------------------------------------------------------- 1 | \fill[titanium] (0,2.0) rectangle (20,2.5); 2 | \fill[titanium] (4.5,2.0) rectangle (7,3.5); 3 | \fill[titanium] (13,2.0) rectangle (15.5,3.5); 4 | \filldraw[line width=0, titanium] (4.5,2.5) -- (4.0,2.5) -- (4.5,3.5); 5 | \filldraw[line width=0, titanium] (7.0,2.5) -- (7.5,2.5) -- (7.0,3.5); 6 | \filldraw[line width=0, titanium] (13.0,2.5) -- (12.5,2.5) -- (13.0,3.5); 7 | \filldraw[line width=0, titanium] (15.5,2.5) -- (16.0,2.5) -- (15.5,3.5); 8 | 9 | \filldraw[line width=0, isolationoxide] (5,2.0) -- (4.5,2.0) -- (5,3.0); 10 | \filldraw[line width=0, isolationoxide] (6.5,2.0) -- (7.0,2.0) -- (6.5,3.0); 11 | \filldraw[line width=0, isolationoxide] (13.5,2.0) -- (13.0,2.0) -- (13.5,3.0); 12 | \filldraw[line width=0, isolationoxide] (15,2.0) -- (15.5,2.0) -- (15,3.0); 13 | 14 | \input{tikz_process_steps/pimplant.a.tex} -------------------------------------------------------------------------------- /process_steps/process_lowtech/tikz_process_steps/silicification.rtp1.b.tex: -------------------------------------------------------------------------------- 1 | \fill[titanium] (0,2.0) rectangle (20,2.5); 2 | \fill[titanium] (4.5,2.0) rectangle (7,3.5); 3 | \fill[titanium] (13,2.0) rectangle (15.5,3.5); 4 | \filldraw[line width=0, titanium] (4.5,2.5) -- (4.0,2.5) -- (4.5,3.5); 5 | \filldraw[line width=0, titanium] (7.0,2.5) -- (7.5,2.5) -- (7.0,3.5); 6 | \filldraw[line width=0, titanium] (13.0,2.5) -- (12.5,2.5) -- (13.0,3.5); 7 | \filldraw[line width=0, titanium] (15.5,2.5) -- (16.0,2.5) -- (15.5,3.5); 8 | 9 | \input{tikz_process_steps/silicification.rtp2.b.tex} -------------------------------------------------------------------------------- /process_steps/process_lowtech/tikz_process_steps/silicification.rtp2.a.tex: -------------------------------------------------------------------------------- 1 | \input{tikz_process_steps/silicification.rtp2.b.tex} -------------------------------------------------------------------------------- /process_steps/process_lowtech/tikz_process_steps/silicification.rtp2.b.tex: -------------------------------------------------------------------------------- 1 | \filldraw[line width=0, isolationoxide] (5,2.0) -- (4.5,2.0) -- (5,3.0); 2 | \filldraw[line width=0, isolationoxide] (6.5,2.0) -- (7.0,2.0) -- (6.5,3.0); 3 | \filldraw[line width=0, isolationoxide] (13.5,2.0) -- (13.0,2.0) -- (13.5,3.0); 4 | \filldraw[line width=0, isolationoxide] (15,2.0) -- (15.5,2.0) -- (15,3.0); 5 | 6 | \input{tikz_process_steps/pimplant.a.tex} 7 | 8 | \fill[silicide] (1.25,1.8) rectangle (4.5,2); 9 | \fill[silicide] (5,2.8) rectangle (6.5,3.0); 10 | \fill[silicide] (7,1.8) rectangle (8.25,2); 11 | 12 | \fill[silicide] (11.75,1.8) rectangle (13,2); 13 | \fill[silicide] (13.5,2.8) rectangle (15,3.0); 14 | \fill[silicide] (15.5,1.8) rectangle (18.75,2); -------------------------------------------------------------------------------- /process_steps/process_lowtech/tikz_process_steps/silicification.silicide_block.a.tex: -------------------------------------------------------------------------------- 1 | \fill[isolationoxide] (0,2.0) rectangle (20,2.5); 2 | \fill[isolationoxide] (4.5,2.0) rectangle (7,3.5); 3 | \fill[isolationoxide] (13,2.0) rectangle (15.5,3.5); 4 | \input{tikz_process_steps/pimplant.a.tex} -------------------------------------------------------------------------------- /process_steps/process_lowtech/tikz_process_steps/silicification.silicide_block.b.tex: -------------------------------------------------------------------------------- 1 | \fill[isolationoxide] (0,2.0) rectangle (20,2.5); 2 | \fill[isolationoxide] (4.5,2.0) rectangle (7,3.5); 3 | \fill[isolationoxide] (13,2.0) rectangle (15.5,3.5); 4 | \input{tikz_process_steps/pimplant.a.tex} 5 | 6 | % \fill[resist] (16,2.5) rectangle (18,3.1); -------------------------------------------------------------------------------- /process_steps/process_lowtech/tikz_process_steps/silicification.sputter_etching.a.tex: -------------------------------------------------------------------------------- 1 | \fill[isolationoxide] (0,2.0) rectangle (20,2.5); 2 | \fill[isolationoxide] (4.5,2.0) rectangle (7,3.5); 3 | \fill[isolationoxide] (13,2.0) rectangle (15.5,3.5); 4 | \input{tikz_process_steps/pimplant.a.tex} -------------------------------------------------------------------------------- /process_steps/process_lowtech/tikz_process_steps/silicification.sputter_etching.b.tex: -------------------------------------------------------------------------------- 1 | \filldraw[line width=0, isolationoxide] (5,2.0) -- (4.5,2.0) -- (5,3.0); 2 | \filldraw[line width=0, isolationoxide] (6.5,2.0) -- (7.0,2.0) -- (6.5,3.0); 3 | \filldraw[line width=0, isolationoxide] (13.5,2.0) -- (13.0,2.0) -- (13.5,3.0); 4 | \filldraw[line width=0, isolationoxide] (15,2.0) -- (15.5,2.0) -- (15,3.0); 5 | 6 | \input{tikz_process_steps/pimplant.a.tex} -------------------------------------------------------------------------------- /process_steps/process_lowtech/tikz_process_steps/sti.a.tex: -------------------------------------------------------------------------------- 1 | % substrate 2 | \fill[substrate] (0,0) rectangle (20,1.25); 3 | \node at (2,0.5) {Silicon substrate}; 4 | 5 | % islands 6 | \fill[substrate] (1.25,1.25) rectangle (8.25,2); 7 | \fill[substrate] (11.75,1.25) rectangle (18.75,2); -------------------------------------------------------------------------------- /process_steps/process_lowtech/tikz_process_steps/sti.b.tex: -------------------------------------------------------------------------------- 1 | % trench area 2 | \fill[substrate] (0,0) rectangle (20,12); 3 | 4 | % substrate 5 | \draw[dotted] (1.25,1) rectangle (8.25,7.25); 6 | \draw[dotted] (11.75,1) rectangle (18.75,7.25); -------------------------------------------------------------------------------- /process_steps/process_lowtech/tikz_process_steps/sti.hard_mask_etching.a.tex: -------------------------------------------------------------------------------- 1 | \input{tikz_process_steps/sti.hard_mask_patterning.a.tex} 2 | \fill[resist] (1,2.6) rectangle (8,3.2); 3 | \fill[resist] (11.5,2.6) rectangle (19,3.2); -------------------------------------------------------------------------------- /process_steps/process_lowtech/tikz_process_steps/sti.hard_mask_etching.b.tex: -------------------------------------------------------------------------------- 1 | % substrate 2 | \fill[substrate] (0,0) rectangle (20,1.9); 3 | \node at (2,0.5) {Silicon substrate}; 4 | 5 | % substrate islands 6 | \fill[substrate] (1,1.9) rectangle (8,2); 7 | \fill[substrate] (11.5,1.9) rectangle (19,2); 8 | 9 | % pad oxide 10 | \fill[isolationoxide] (1,2) rectangle (8,2.6); 11 | \fill[isolationoxide] (11.5,2) rectangle (19,2.6); 12 | 13 | % resist 14 | \fill[resist] (1,2.6) rectangle (8,3.2); 15 | \fill[resist] (11.5,2.6) rectangle (19,3.2); -------------------------------------------------------------------------------- /process_steps/process_lowtech/tikz_process_steps/sti.hard_mask_oxide_growth.a.tex: -------------------------------------------------------------------------------- 1 | % substrate 2 | \fill[substrate] (0,0) rectangle (20,2); 3 | \node at (2,0.5) {Silicon substrate}; -------------------------------------------------------------------------------- /process_steps/process_lowtech/tikz_process_steps/sti.hard_mask_oxide_growth.b.tex: -------------------------------------------------------------------------------- 1 | \input{tikz_process_steps/sti.hard_mask_oxide_growth.a.tex} 2 | \fill[isolationoxide] (0,2) rectangle (20,2.6); -------------------------------------------------------------------------------- /process_steps/process_lowtech/tikz_process_steps/sti.hard_mask_patterning.a.tex: -------------------------------------------------------------------------------- 1 | \input{tikz_process_steps/sti.hard_mask_oxide_growth.b.tex} -------------------------------------------------------------------------------- /process_steps/process_lowtech/tikz_process_steps/sti.hard_mask_patterning.b.tex: -------------------------------------------------------------------------------- 1 | \input{tikz_process_steps/sti.hard_mask_oxide_growth.b.tex} 2 | \fill[resist] (1,2.6) rectangle (8,3.2); 3 | \fill[resist] (11.5,2.6) rectangle (19,3.2); -------------------------------------------------------------------------------- /process_steps/process_lowtech/tikz_process_steps/sti.hard_mask_removal.a.tex: -------------------------------------------------------------------------------- 1 | % substrate 2 | \fill[substrate] (0,0) rectangle (20,0.75); 3 | \node at (2,0.5) {Silicon substrate}; 4 | 5 | % substrate islands 6 | \fill[substrate] (1,0.75) rectangle (8,2); 7 | \fill[substrate] (11.5,0.75) rectangle (19,2); 8 | 9 | % covering oxide 10 | \fill[isolationoxide] (1,2) rectangle (8,2.3); 11 | \fill[isolationoxide] (11.5,2) rectangle (19,2.3); -------------------------------------------------------------------------------- /process_steps/process_lowtech/tikz_process_steps/sti.hard_mask_removal.b.tex: -------------------------------------------------------------------------------- 1 | % substrate 2 | \fill[substrate] (0,0) rectangle (20,0.75); 3 | \node at (2,0.5) {Silicon substrate}; 4 | 5 | % substrate islands 6 | \fill[substrate] (1,0.75) rectangle (8,2); 7 | \fill[substrate] (11.5,0.75) rectangle (19,2); -------------------------------------------------------------------------------- /process_steps/process_lowtech/tikz_process_steps/sti.hard_mask_resist_removal.a.tex: -------------------------------------------------------------------------------- 1 | % substrate 2 | \fill[substrate] (0,0) rectangle (20,1.9); 3 | \node at (2,0.5) {Silicon substrate}; 4 | 5 | % substrate islands 6 | \fill[substrate] (1,1.9) rectangle (8,2); 7 | \fill[substrate] (11.5,1.9) rectangle (19,2); 8 | 9 | % pad oxide 10 | \fill[isolationoxide] (1,2) rectangle (8,2.6); 11 | \fill[isolationoxide] (11.5,2) rectangle (19,2.6); 12 | 13 | % resist 14 | \fill[resist] (1,2.6) rectangle (8,3.2); 15 | \fill[resist] (11.5,2.6) rectangle (19,3.2); -------------------------------------------------------------------------------- /process_steps/process_lowtech/tikz_process_steps/sti.hard_mask_resist_removal.b.tex: -------------------------------------------------------------------------------- 1 | % substrate 2 | \fill[substrate] (0,0) rectangle (20,1.9); 3 | \node at (2,0.5) {Silicon substrate}; 4 | 5 | % substrate islands 6 | \fill[substrate] (1,1.9) rectangle (8,2); 7 | \fill[substrate] (11.5,1.9) rectangle (19,2); 8 | 9 | % pad oxide 10 | \fill[isolationoxide] (1,2) rectangle (8,2.6); 11 | \fill[isolationoxide] (11.5,2) rectangle (19,2.6); -------------------------------------------------------------------------------- /process_steps/process_lowtech/tikz_process_steps/sti.initial_clean.a.tex: -------------------------------------------------------------------------------- 1 | % substrate 2 | \fill[substrate] (0,0) rectangle (20,2); 3 | \node at (2,0.5) {Silicon substrate}; 4 | % oxide 5 | \fill[isolationoxide] (0,2) rectangle (20,2.3); 6 | \node at (2,2.1) {SiO}; -------------------------------------------------------------------------------- /process_steps/process_lowtech/tikz_process_steps/sti.initial_clean.b.tex: -------------------------------------------------------------------------------- 1 | % substrate 2 | \fill[substrate] (0,0) rectangle (20,2); 3 | \node at (2,0.5) {Silicon substrate}; -------------------------------------------------------------------------------- /process_steps/process_lowtech/tikz_process_steps/sti.silicon_etch.a.tex: -------------------------------------------------------------------------------- 1 | % substrate 2 | \fill[substrate] (0,0) rectangle (20,1.9); 3 | \node at (2,0.5) {Silicon substrate}; 4 | 5 | % substrate islands 6 | \fill[substrate] (1,1.9) rectangle (8,2); 7 | \fill[substrate] (11.5,1.9) rectangle (19,2); 8 | 9 | % pad oxide 10 | \fill[isolationoxide] (1,2) rectangle (8,2.6); 11 | \fill[isolationoxide] (11.5,2) rectangle (19,2.6); -------------------------------------------------------------------------------- /process_steps/process_lowtech/tikz_process_steps/sti.silicon_etch.b.tex: -------------------------------------------------------------------------------- 1 | % substrate 2 | \fill[substrate] (0,0) rectangle (20,1); 3 | \node at (2,0.5) {Silicon substrate}; 4 | 5 | % substrate islands 6 | \fill[substrate] (1,1) rectangle (8,2); 7 | \fill[substrate] (11.5,1) rectangle (19,2); 8 | 9 | % pad oxide 10 | \fill[isolationoxide] (1,2) rectangle (8,2.6); 11 | \fill[isolationoxide] (11.5,2) rectangle (19,2.6); -------------------------------------------------------------------------------- /process_steps/process_lowtech/tikz_process_steps/via.a.tex: -------------------------------------------------------------------------------- 1 | \fill[isolationoxide] (0,\LowerMetal) rectangle (1,\LowerMoreMetal); 2 | \fill[isolationoxide] (3,\LowerMetal) rectangle (5,\LowerMoreMetal); 3 | \fill[isolationoxide] (6.5,\LowerMetal) rectangle (9,\LowerMoreMetal); 4 | \fill[isolationoxide] (11,\LowerMetal) rectangle (13.5,\LowerMoreMetal); 5 | \fill[isolationoxide] (15.0,\LowerMetal) rectangle (17.0,\LowerMoreMetal); 6 | \fill[isolationoxide] (19.0,\LowerMetal) rectangle (20.0,\LowerMoreMetal); 7 | \input{tikz_process_steps/metal.a.tex} 8 | -------------------------------------------------------------------------------- /process_steps/process_lowtech/tikz_process_steps/via.cleaning.a.tex: -------------------------------------------------------------------------------- 1 | \fill[isolationoxide] (0,\LowerMetal) rectangle (1,\LowerMoreMetal); 2 | \fill[isolationoxide] (3,\LowerMetal) rectangle (5,\LowerMoreMetal); 3 | \fill[isolationoxide] (6.5,\LowerMetal) rectangle (9,\LowerMoreMetal); 4 | \fill[isolationoxide] (11,\LowerMetal) rectangle (13.5,\LowerMoreMetal); 5 | \fill[isolationoxide] (15.0,\LowerMetal) rectangle (17.0,\LowerMoreMetal); 6 | \fill[isolationoxide] (19.0,\LowerMetal) rectangle (20.0,\LowerMoreMetal); 7 | \input{tikz_process_steps/metal.a.tex} 8 | \fill[resist] (0,\LowerMoreMetal) rectangle (1,\UpperMoreMetalResist); 9 | \fill[resist] (3,\LowerMoreMetal) rectangle (5,\UpperMoreMetalResist); 10 | \fill[resist] (6.5,\LowerMoreMetal) rectangle (9,\UpperMoreMetalResist); 11 | \fill[resist] (11,\LowerMoreMetal) rectangle (13.5,\UpperMoreMetalResist); 12 | \fill[resist] (15.0,\LowerMoreMetal) rectangle (17.0,\UpperMoreMetalResist); 13 | \fill[resist] (19,\LowerMoreMetal) rectangle (20,\UpperMoreMetalResist); 14 | 15 | -------------------------------------------------------------------------------- /process_steps/process_lowtech/tikz_process_steps/via.cleaning.b.tex: -------------------------------------------------------------------------------- 1 | \fill[isolationoxide] (0,\LowerMetal) rectangle (1,\LowerMoreMetal); 2 | \fill[isolationoxide] (3,\LowerMetal) rectangle (5,\LowerMoreMetal); 3 | \fill[isolationoxide] (6.5,\LowerMetal) rectangle (9,\LowerMoreMetal); 4 | \fill[isolationoxide] (11,\LowerMetal) rectangle (13.5,\LowerMoreMetal); 5 | \fill[isolationoxide] (15.0,\LowerMetal) rectangle (17.0,\LowerMoreMetal); 6 | \fill[isolationoxide] (19.0,\LowerMetal) rectangle (20.0,\LowerMoreMetal); 7 | \input{tikz_process_steps/metal.a.tex} 8 | -------------------------------------------------------------------------------- /process_steps/process_lowtech/tikz_process_steps/via.etching.a.tex: -------------------------------------------------------------------------------- 1 | \fill[isolationoxide] (0,\LowerMetal) rectangle (20,\LowerMoreMetal); 2 | \input{tikz_process_steps/metal.a.tex} 3 | \fill[resist] (0,\LowerMoreMetal) rectangle (1,\UpperMoreMetalResist); 4 | \fill[resist] (3,\LowerMoreMetal) rectangle (5,\UpperMoreMetalResist); 5 | \fill[resist] (6.5,\LowerMoreMetal) rectangle (9,\UpperMoreMetalResist); 6 | \fill[resist] (11,\LowerMoreMetal) rectangle (13.5,\UpperMoreMetalResist); 7 | \fill[resist] (15.0,\LowerMoreMetal) rectangle (17.0,\UpperMoreMetalResist); 8 | \fill[resist] (19,\LowerMoreMetal) rectangle (20,\UpperMoreMetalResist); 9 | 10 | -------------------------------------------------------------------------------- /process_steps/process_lowtech/tikz_process_steps/via.etching.at.tex: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libresilicon/process/fc0f7c92f050ae4937ffb290b7a5597f7c412ca4/process_steps/process_lowtech/tikz_process_steps/via.etching.at.tex -------------------------------------------------------------------------------- /process_steps/process_lowtech/tikz_process_steps/via.etching.b.tex: -------------------------------------------------------------------------------- 1 | \fill[isolationoxide] (0,\LowerMetal) rectangle (1,\LowerMoreMetal); 2 | \fill[isolationoxide] (3,\LowerMetal) rectangle (5,\LowerMoreMetal); 3 | \fill[isolationoxide] (6.5,\LowerMetal) rectangle (9,\LowerMoreMetal); 4 | \fill[isolationoxide] (11,\LowerMetal) rectangle (13.5,\LowerMoreMetal); 5 | \fill[isolationoxide] (15.0,\LowerMetal) rectangle (17.0,\LowerMoreMetal); 6 | \fill[isolationoxide] (19.0,\LowerMetal) rectangle (20.0,\LowerMoreMetal); 7 | \input{tikz_process_steps/metal.a.tex} 8 | \fill[resist] (0,\LowerMoreMetal) rectangle (1,\UpperMoreMetalResist); 9 | \fill[resist] (3,\LowerMoreMetal) rectangle (5,\UpperMoreMetalResist); 10 | \fill[resist] (6.5,\LowerMoreMetal) rectangle (9,\UpperMoreMetalResist); 11 | \fill[resist] (11,\LowerMoreMetal) rectangle (13.5,\UpperMoreMetalResist); 12 | \fill[resist] (15.0,\LowerMoreMetal) rectangle (17.0,\UpperMoreMetalResist); 13 | \fill[resist] (19,\LowerMoreMetal) rectangle (20,\UpperMoreMetalResist); 14 | 15 | -------------------------------------------------------------------------------- /process_steps/process_lowtech/tikz_process_steps/via.etching.bt.tex: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libresilicon/process/fc0f7c92f050ae4937ffb290b7a5597f7c412ca4/process_steps/process_lowtech/tikz_process_steps/via.etching.bt.tex -------------------------------------------------------------------------------- /process_steps/process_lowtech/tikz_process_steps/via.layout.tex: -------------------------------------------------------------------------------- 1 | \input{tikz_process_steps/metal.layout.tex} 2 | \fill[via1,opacity=\OpacityLayout] (2,9) rectangle (4,11); 3 | \fill[via1,opacity=\OpacityLayout] (16,9) rectangle (18,11); -------------------------------------------------------------------------------- /process_steps/process_lowtech/tikz_process_steps/via.oxide_growth.a.tex: -------------------------------------------------------------------------------- 1 | \input{tikz_process_steps/metal.a.tex} -------------------------------------------------------------------------------- /process_steps/process_lowtech/tikz_process_steps/via.oxide_growth.b.tex: -------------------------------------------------------------------------------- 1 | \fill[isolationoxide] (0,\LowerMetal) rectangle (20,\LowerMoreMetal); 2 | \input{tikz_process_steps/metal.a.tex} -------------------------------------------------------------------------------- /process_steps/process_lowtech/tikz_process_steps/via.patterning.a.tex: -------------------------------------------------------------------------------- 1 | \fill[isolationoxide] (0,\LowerMetal) rectangle (20,\LowerMoreMetal); 2 | \input{tikz_process_steps/metal.a.tex} 3 | -------------------------------------------------------------------------------- /process_steps/process_lowtech/tikz_process_steps/via.patterning.at.tex: -------------------------------------------------------------------------------- 1 | \fill[isolationoxide] (0,0) rectangle (20,12); -------------------------------------------------------------------------------- /process_steps/process_lowtech/tikz_process_steps/via.patterning.b.tex: -------------------------------------------------------------------------------- 1 | \fill[isolationoxide] (0,\LowerMetal) rectangle (20,\LowerMoreMetal); 2 | 3 | \input{tikz_process_steps/metal.a.tex} 4 | 5 | \fill[resist] (0,\LowerMoreMetal) rectangle (1,\UpperMoreMetalResist); 6 | \fill[resist] (3,\LowerMoreMetal) rectangle (5,\UpperMoreMetalResist); 7 | \fill[resist] (6.5,\LowerMoreMetal) rectangle (9,\UpperMoreMetalResist); 8 | \fill[resist] (11,\LowerMoreMetal) rectangle (13.5,\UpperMoreMetalResist); 9 | \fill[resist] (15.0,\LowerMoreMetal) rectangle (17.0,\UpperMoreMetalResist); 10 | \fill[resist] (19,\LowerMoreMetal) rectangle (20,\UpperMoreMetalResist); 11 | 12 | -------------------------------------------------------------------------------- /process_steps/process_lowtech/tikz_process_steps/via.patterning.bt.tex: -------------------------------------------------------------------------------- 1 | \fill[resist] (0,0) rectangle (20,12); 2 | \fill[isolationoxide] (2,9) rectangle (4,11); 3 | \fill[isolationoxide] (16,9) rectangle (18,11); 4 | -------------------------------------------------------------------------------- /process_testing/latchup_cross.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libresilicon/process/fc0f7c92f050ae4937ffb290b7a5597f7c412ca4/process_testing/latchup_cross.png -------------------------------------------------------------------------------- /process_testing/process_testing.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libresilicon/process/fc0f7c92f050ae4937ffb290b7a5597f7c412ca4/process_testing/process_testing.pdf -------------------------------------------------------------------------------- /process_testing/testing_diodes.tex: -------------------------------------------------------------------------------- 1 | \section{Diodes} 2 | There are multiple different diode types possible which could form, which can be categorized into two categories: Lateral and vertical. 3 | 4 | Lateral diodes can form between two wells or the well and the junction, the vertical diodes can form between the n-well and the p-substrate. 5 | 6 | \subsection{Lateral diodes} 7 | 8 | \begin{figure}[H] 9 | \centering 10 | \begin{tikzpicture}[node distance = 3cm, auto, thick,scale=0.5, every node/.style={transform shape}] 11 | \input{tikz_testing/lateral_diode_cross_section.tex} 12 | \end{tikzpicture} 13 | \caption{Lateral diode cross section} 14 | \label{lateral_diode_cross_section} 15 | \end{figure} 16 | 17 | \subsection{Vertical diodes} 18 | 19 | \begin{figure}[H] 20 | \centering 21 | \begin{tikzpicture}[node distance = 3cm, auto, thick,scale=0.5, every node/.style={transform shape}] 22 | \input{tikz_testing/vertical_diode_cross_section.tex} 23 | \end{tikzpicture} 24 | \caption{Vertical diode cross section} 25 | \label{vertical_diode_cross_section} 26 | \end{figure} 27 | -------------------------------------------------------------------------------- /process_testing/tikz_testing/esd_diode_nsub_schematics.tex: -------------------------------------------------------------------------------- 1 | \draw (4.0,4.5) -- (2.0,4.5) to[D,n=diode] (2.0,2.0); 2 | \draw (4.0,4.5) -- (6.0,4.5) to[D,n=diode] (6.0,2.0); 3 | \draw (2.0,2.0) to[R,n=resistor] (6.0,2.0); 4 | 5 | \node at (2.0,0.5) {Bonding pad}; 6 | \draw (0.0,0.0) rectangle (1.0,1.0); 7 | \draw (0.0,0.0) -- (1.0,1.0); 8 | \draw (0.0,1.0) -- (1.0,0.0); 9 | \draw (0.5,1.0) -- (0.5,2.0) -- (2.0,2.0); 10 | \filldraw (2.0,2.0) circle (0.1); 11 | 12 | \draw (4.0,4.5) -- (4.0,6.0); 13 | \filldraw (4.0,4.5) circle (0.1); 14 | \filldraw (4.0,6.0) circle (0.1); 15 | \draw[dotted,thick] (0.0,6.0) -- (8.0,6.0); 16 | \draw[thick] (3.0,6.0) -- (5.0,6.0); 17 | \node at (1.0,6.25) {GND}; 18 | 19 | \draw (6.0,2.0) -- (8.0,2.0); 20 | \filldraw (6.0,2.0) circle (0.1); 21 | \draw (8.0,1.75) rectangle (8.5,2.25); 22 | \node at (8.0,1.25) {Pin to core}; -------------------------------------------------------------------------------- /process_testing/tikz_testing/esd_diode_psub_schematics.tex: -------------------------------------------------------------------------------- 1 | \draw (2.0,2.0) to[D,n=diode] (2.0,4.5) -- (4.0,4.5); 2 | \draw (6.0,2.0) to[D,n=diode] (6.0,4.5) -- (4.0,4.5); 3 | \draw (2.0,2.0) to[R,n=resistor] (6.0,2.0); 4 | 5 | \node at (2.0,0.5) {Bonding pad}; 6 | \draw (0.0,0.0) rectangle (1.0,1.0); 7 | \draw (0.0,0.0) -- (1.0,1.0); 8 | \draw (0.0,1.0) -- (1.0,0.0); 9 | \draw (0.5,1.0) -- (0.5,2.0) -- (2.0,2.0); 10 | \filldraw (2.0,2.0) circle (0.1); 11 | 12 | \draw (4.0,4.5) -- (4.0,6.0); 13 | \filldraw (4.0,4.5) circle (0.1); 14 | \filldraw (4.0,6.0) circle (0.1); 15 | \draw[dotted,thick] (0.0,6.0) -- (8.0,6.0); 16 | \draw[thick] (3.0,6.0) -- (5.0,6.0); 17 | \node at (1.0,6.25) {VDD}; 18 | 19 | \draw (6.0,2.0) -- (8.0,2.0); 20 | \filldraw (6.0,2.0) circle (0.1); 21 | \draw (8.0,1.75) rectangle (8.5,2.25); 22 | \node at (8.0,1.25) {Pin to core}; -------------------------------------------------------------------------------- /process_testing/tikz_testing/lateral_bjt_cross_section.tex: -------------------------------------------------------------------------------- 1 | % substrate 2 | \fill[substrate] (0,0) rectangle (12.0,2); 3 | \node at (1.5,0.25) {Silicon substrate}; 4 | 5 | % n-well 6 | \fill[nwell] (0.5,0.75) rectangle (4.5,2); 7 | \node at (2,1) {N-Well}; 8 | 9 | \fill[nimplant] (1.0,1.5) rectangle (4.0,2); 10 | \node at (2,1.65) {n+}; 11 | 12 | % p-well 13 | \fill[pwell] (4.5,0.75) rectangle (11.5,2); 14 | \node at (6,1) {P-Well}; 15 | 16 | \fill[nimplant] (5.0,1.5) rectangle (8.0,2); 17 | \node at (6,1.65) {n+}; 18 | 19 | \fill[pimplant] (8.0,1.5) rectangle (11.0,2); 20 | \node at (10,1.65) {p+}; 21 | 22 | %trenches 23 | \fill[isolationoxide] (0,1.25) rectangle (1.0,2); 24 | \fill[isolationoxide] (4.0,1.25) rectangle (5,2); 25 | \fill[isolationoxide] (11.0,1.25) rectangle (12.0,2); 26 | 27 | \draw (6.25,1.5) -- (6.25,0) to[Tnpn,n=npn] (2.5,0) -- (2.5,1.5); 28 | 29 | \draw (npn.B) -- +(3.85,0) -- (8.25,1.5); -------------------------------------------------------------------------------- /process_testing/tikz_testing/lateral_diode_cross_section.tex: -------------------------------------------------------------------------------- 1 | % substrate 2 | \fill[substrate] (0,0) rectangle (7.5,2); 3 | \node at (2,0.5) {Silicon substrate}; 4 | 5 | % p-well 6 | \fill[pwell] (0.5,0.75) rectangle (7.0,2); 7 | \node at (2,1) {P-Well}; 8 | 9 | \fill[nimplant] (1.0,1.5) rectangle (4.0,2); 10 | \node at (2,1.65) {n+}; 11 | \fill[pimplant] (4.0,1.5) rectangle (6.5,2); 12 | \node at (4.25,1.65) {p+}; 13 | 14 | %trenches 15 | \fill[isolationoxide] (0,1.25) rectangle (1.0,2); 16 | \fill[isolationoxide] (6.5,1.25) rectangle (7.5,2); 17 | 18 | \draw (4.5,1.5) to[D,n=diode] (2.5,1.5); -------------------------------------------------------------------------------- /process_testing/tikz_testing/vertical_bjt_cross_section.tex: -------------------------------------------------------------------------------- 1 | % substrate 2 | \fill[substrate] (0,0) rectangle (12.0,2); 3 | \node at (1.5,0.25) {Silicon substrate}; 4 | 5 | % n-well 6 | \fill[nwell] (0.5,0.75) rectangle (7.5,2); 7 | \node at (2,1) {N-Well}; 8 | 9 | \fill[nimplant] (1.0,1.5) rectangle (4.0,2); 10 | \node at (2,1.65) {n+}; 11 | \fill[pimplant] (4.0,1.5) rectangle (7.0,2); 12 | \node at (5,1.65) {p+}; 13 | 14 | % p-well 15 | \fill[pwell] (7.5,0.75) rectangle (11.5,2); 16 | \node at (9,1) {P-Well}; 17 | \fill[pimplant] (8.0,1.5) rectangle (11.0,2); 18 | \node at (9,1.65) {p+}; 19 | 20 | %trenches 21 | \fill[isolationoxide] (0,1.25) rectangle (1.0,2); 22 | \fill[isolationoxide] (7.0,1.25) rectangle (8.0,2); 23 | \fill[isolationoxide] (11.0,1.25) rectangle (12.0,2); 24 | 25 | \draw (8.25,1.5) -- (8.25,-1.5) -- (4.5,-1.5) to[Tpnp,n=pnp] (4.5,1.5); 26 | 27 | \draw (pnp.B) -- +(-1.15,0) -- (2.5,1.5); -------------------------------------------------------------------------------- /process_testing/tikz_testing/vertical_diode_cross_section.tex: -------------------------------------------------------------------------------- 1 | % substrate 2 | \fill[substrate] (0,0) rectangle (9,2.0); 3 | \node at (4,0.5) {Silicon substrate}; 4 | 5 | % n-well 6 | \fill[nwell] (0.5,0.75) rectangle (4.5,2.0); 7 | \node at (2,1) {N-Well}; 8 | 9 | \fill[nimplant] (1.0,1.5) rectangle (4.0,2.0); 10 | \node at (2,1.65) {n+}; 11 | 12 | % p-well 13 | \fill[pwell] (4.5,0.75) rectangle (8.5,2.0); 14 | \node at (6,1) {P-Well}; 15 | 16 | \fill[pimplant] (5.0,1.5) rectangle (8.0,2.0); 17 | \node at (6,1.65) {p+}; 18 | 19 | %trenches 20 | \fill[isolationoxide] (0,1.25) rectangle (1.0,2.0); 21 | \fill[isolationoxide] (4.0,1.25) rectangle (5.0,2.0); 22 | \fill[isolationoxide] (8.0,1.25) rectangle (9.0,2); 23 | 24 | \draw (6.25,1.5) -- (6.25,-1.5) -- (2.5,-1.5) to[D,n=diode] (2.5,1.5); 25 | -------------------------------------------------------------------------------- /semiconductor_physics/documentation_physics.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libresilicon/process/fc0f7c92f050ae4937ffb290b7a5597f7c412ca4/semiconductor_physics/documentation_physics.pdf -------------------------------------------------------------------------------- /semiconductor_physics/dopants_depth.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libresilicon/process/fc0f7c92f050ae4937ffb290b7a5597f7c412ca4/semiconductor_physics/dopants_depth.png -------------------------------------------------------------------------------- /semiconductor_physics/dopants_drive_in_depth.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libresilicon/process/fc0f7c92f050ae4937ffb290b7a5597f7c412ca4/semiconductor_physics/dopants_drive_in_depth.png -------------------------------------------------------------------------------- /semiconductor_physics/doping_thresholds_overview.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libresilicon/process/fc0f7c92f050ae4937ffb290b7a5597f7c412ca4/semiconductor_physics/doping_thresholds_overview.png -------------------------------------------------------------------------------- /semiconductor_physics/infusion_penetration.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libresilicon/process/fc0f7c92f050ae4937ffb290b7a5597f7c412ca4/semiconductor_physics/infusion_penetration.png -------------------------------------------------------------------------------- /semiconductor_physics/ion_implant.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libresilicon/process/fc0f7c92f050ae4937ffb290b7a5597f7c412ca4/semiconductor_physics/ion_implant.png -------------------------------------------------------------------------------- /semiconductor_physics/physics_capacity.tex: -------------------------------------------------------------------------------- 1 | \section{MOS Capacitance} 2 | \url{https://ecee.colorado.edu/~bart/book/book/chapter6/ch6_3.htm} 3 | -------------------------------------------------------------------------------- /semiconductor_physics/physics_implant.tex: -------------------------------------------------------------------------------- 1 | \section{Ion implant} 2 | We can use the following equation to calculate the carrier distribution after implantation: 3 | \begin{equation} 4 | N(x) 5 | = 6 | N_p \exp\left(-\frac{(x-R_p)^2}{2\Delta R_p^2}\right) 7 | = 8 | \frac{Q}{\sqrt{2\pi}\Delta R_p}\exp\left(-\frac{(x-R_p)^2}{2\Delta R_p^2}\right) 9 | \end{equation} 10 | 11 | Where the projected range ($R_p$) and the projected straggle ($\Delta R_p$) need to be looked up in tables \footnote{ISBN 3-8023-1588:Hoppe Bernhard, Mikroelektronik 2, Page 48, Table 3.2} or looked up using an online tool like the one linked in the footnote\footnote{\url{http://cleanroom.byu.edu/rangestraggle}} 12 | 13 | \begin{figure}[H] 14 | \centering 15 | \includegraphics[width=0.75\textwidth]{ion_implant.png} 16 | \caption{$R_p$ and $\Delta R_p$ in silicon} 17 | \label{graphics_range_and_straggle} 18 | \end{figure} 19 | 20 | \begin{mdframed}[linewidth=2pt,linecolor=red] 21 | If you do implant before the diffusion just set $x_v=R_p$ 22 | \end{mdframed} -------------------------------------------------------------------------------- /semiconductor_physics/physics_resistance_doping.tex: -------------------------------------------------------------------------------- 1 | \section{Getting doping from resistance} 2 | In many cases the supplier will only provide the resistance per length specification for their substrate and won't give you the dopant concentration numbers. 3 | In this case you will have to find these numbers out yourself by converting it from the numbers they've provided. 4 | 5 | \begin{figure}[H] 6 | \centering 7 | \includegraphics[width=0.5\textwidth]{resistance_doping.png} 8 | \caption{R-L-dopant relation} 9 | \label{r_l_nd_relation} 10 | \end{figure} 11 | 12 | You can either use the graphics from \autoref{r_l_nd_relation} and determine the dopant concentration graphically, which is very very imprecise or use a online tool like the one from Solecon\footnote{\url{http://www.solecon.com/sra/rho2ccal.htm}} 13 | 14 | Germanium is being included in this graphics just in case someone is going to fork this process based on Germanium substrate. -------------------------------------------------------------------------------- /semiconductor_physics/physics_substrate_bias.tex: -------------------------------------------------------------------------------- 1 | \section{The substrate bias effect} -------------------------------------------------------------------------------- /semiconductor_physics/resistance_doping.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libresilicon/process/fc0f7c92f050ae4937ffb290b7a5597f7c412ca4/semiconductor_physics/resistance_doping.png -------------------------------------------------------------------------------- /semiconductor_physics/well_formation1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libresilicon/process/fc0f7c92f050ae4937ffb290b7a5597f7c412ca4/semiconductor_physics/well_formation1.png -------------------------------------------------------------------------------- /semiconductor_physics/well_formation2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libresilicon/process/fc0f7c92f050ae4937ffb290b7a5597f7c412ca4/semiconductor_physics/well_formation2.png -------------------------------------------------------------------------------- /simulation/1xinv.cir: -------------------------------------------------------------------------------- 1 | * Qucs 0.0.20 /home/leviathan/libresiliconprocess/simulation/1xinv.sch 2 | .INCLUDE "/usr/share/qucs-s/xspice_cmlib/include/ngspice_mathfunc.inc" 3 | * Qucs 0.0.20 /home/leviathan/libresiliconprocess/simulation/1xinv.sch 4 | .INCLUDE "/home/leviathan/libresiliconprocess/simulation/pmos1u.lib" 5 | .INCLUDE "/home/leviathan/libresiliconprocess/simulation/nmos1u.lib" 6 | V3 _net0 0 DC 5 7 | V2 _net1 0 DC 0 PULSE( 0 5 0N 100N 100N 1e-06 2.2e-06) AC 0 8 | EPr1 Pr1 0 output 0 1.0 9 | XPMOS output input _net0 _net0 LV1UPMOS 10 | R4 input _net1 50 11 | R5 0 output 100K 12 | XNMOS output input 0 0 LV1UNMOS 13 | .control 14 | echo "" > spice4qucs.cir.noise 15 | echo "" > spice4qucs.cir.pz 16 | tran 5e-08 1e-05 0 17 | write 1xinv_tran.txt v(Pr1) v(input) v(output) 18 | destroy all 19 | reset 20 | 21 | exit 22 | .endc 23 | .END 24 | -------------------------------------------------------------------------------- /simulation/diffusion.wxmx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libresilicon/process/fc0f7c92f050ae4937ffb290b7a5597f7c412ca4/simulation/diffusion.wxmx -------------------------------------------------------------------------------- /simulation/diffusion_nbase.wxmx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libresilicon/process/fc0f7c92f050ae4937ffb290b7a5597f7c412ca4/simulation/diffusion_nbase.wxmx -------------------------------------------------------------------------------- /simulation/diffusion_nwell.wxmx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libresilicon/process/fc0f7c92f050ae4937ffb290b7a5597f7c412ca4/simulation/diffusion_nwell.wxmx -------------------------------------------------------------------------------- /simulation/diffusion_pbase.wxmx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libresilicon/process/fc0f7c92f050ae4937ffb290b7a5597f7c412ca4/simulation/diffusion_pbase.wxmx -------------------------------------------------------------------------------- /simulation/diffusion_pwell.wxmx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libresilicon/process/fc0f7c92f050ae4937ffb290b7a5597f7c412ca4/simulation/diffusion_pwell.wxmx -------------------------------------------------------------------------------- /simulation/gate.wxmx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libresilicon/process/fc0f7c92f050ae4937ffb290b7a5597f7c412ca4/simulation/gate.wxmx -------------------------------------------------------------------------------- /simulation/monstercap.wxmx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libresilicon/process/fc0f7c92f050ae4937ffb290b7a5597f7c412ca4/simulation/monstercap.wxmx -------------------------------------------------------------------------------- /simulation/netlist.cir: -------------------------------------------------------------------------------- 1 | * Qucs 0.0.20 /home/leviathan/libresiliconprocess/simulation/1xinv.sch 2 | .INCLUDE "/usr/share/qucs-s/xspice_cmlib/include/ngspice_mathfunc.inc" 3 | * Qucs 0.0.20 /home/leviathan/libresiliconprocess/simulation/1xinv.sch 4 | .INCLUDE "/home/leviathan/libresiliconprocess/simulation/pmos1u.lib" 5 | .INCLUDE "/home/leviathan/libresiliconprocess/simulation/nmos1u.lib" 6 | V3 _net0 0 DC 5 7 | V2 _net1 0 DC 0 PULSE( 0 5 0N 100N 100N 1e-06 2.2e-06) AC 0 8 | EPr1 Pr1 0 output 0 1.0 9 | XPMOS output input _net0 _net0 LV1UPMOS 10 | R4 input _net1 50 11 | R5 0 output 100K 12 | XNMOS output input 0 0 LV1UNMOS 13 | .control 14 | echo "" > spice4qucs.cir.noise 15 | echo "" > spice4qucs.cir.pz 16 | tran 5e-08 1e-05 0 17 | write 1xinv_tran.txt v(Pr1) v(input) v(output) 18 | destroy all 19 | reset 20 | 21 | exit 22 | .endc 23 | .END 24 | -------------------------------------------------------------------------------- /simulation/nmos1u.lib: -------------------------------------------------------------------------------- 1 | .SUBCKT LV1UNMOS D G S B 2 | + PARAMS: 3 | + W=15E-7 4 | + L=10E-7 5 | + PD=25E-7 6 | + PS=25E-7 7 | 8 | M1 D G S B NMOS W={W} L={L} PD={PD} PS={PS} 9 | 10 | .MODEL NMOS NMOS ( 11 | + LEVEL = 8 12 | + VERSION = 3.3.1 13 | + TNOM = 27 14 | + U0 = 1160.761537104032 15 | + TOX = 40E-9 16 | + XT = 2E-6 17 | + XJ = 100E-9 18 | + NCH = 1.7E17 19 | + NSUB = 1.7E17 20 | + VTH0 = -0.7 21 | + W0 = 1.280703E-8 22 | + NLX = 0 23 | + Lmin = 5E-7 24 | + Lmax = 15E-7 25 | + Wmin = 10E-7 26 | + Wmax = 20E-7 27 | + ) 28 | 29 | * NGATE has to be measured! 30 | 31 | .ENDS LV1UPMOS 32 | -------------------------------------------------------------------------------- /simulation/nmos1u.lib.cfg: -------------------------------------------------------------------------------- 1 | Textfile settings file, Qucs 0.0.20 2 | Simulation=1 3 | Duration= 4 | Module=0 5 | Library= 6 | Libraries= 7 | ShortDesc= 8 | LongDesc= 9 | Icon= 10 | Recreate=1 11 | DeviceType=512 12 | -------------------------------------------------------------------------------- /simulation/pmos1u.lib: -------------------------------------------------------------------------------- 1 | .SUBCKT LV1UPMOS D G S B 2 | + PARAMS: 3 | + W=30E-7 4 | + L=10E-7 5 | + PD=30E-7 6 | + PS=30E-7 7 | 8 | M1 D G S B PMOS W={W} L={L} PD={PD} PS={PS} 9 | 10 | .MODEL PMOS PMOS ( 11 | + LEVEL = 8 12 | + VERSION = 3.3.1 13 | + TNOM = 27 14 | + U0 = 439.9319659030368 15 | + TOX = 40E-9 16 | + XT = 2E-6 17 | + XJ = 100E-9 18 | + NCH = 1.7E17 19 | + NSUB = 1.7E17 20 | + VTH0 = -0.7 21 | + W0 = 1.280703E-8 22 | + NLX = 0 23 | + Lmin = 5E-7 24 | + Lmax = 15E-7 25 | + Wmin = 25E-7 26 | + Wmax = 35E-7 27 | + ) 28 | 29 | * PGATE has to be measured! 30 | 31 | .ENDS LV1UPMOS 32 | -------------------------------------------------------------------------------- /simulation/pmos1u.lib.cfg: -------------------------------------------------------------------------------- 1 | Textfile settings file, Qucs 0.0.20 2 | Simulation=1 3 | Duration= 4 | Module=0 5 | Library= 6 | Libraries= 7 | ShortDesc= 8 | LongDesc= 9 | Icon= 10 | Recreate=1 11 | DeviceType=512 12 | -------------------------------------------------------------------------------- /simulation/test4.dat.ngspice: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /simulation/test4.dpl: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | <"ngspice/1xinv:tran.v(output)" #0000ff 0 3 0 0 0> 25 | 26 | 27 | 28 | 29 | -------------------------------------------------------------------------------- /simulation/test4.sch: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libresilicon/process/fc0f7c92f050ae4937ffb290b7a5597f7c412ca4/simulation/test4.sch -------------------------------------------------------------------------------- /simulation/threshold_nmos_aluminum.wxmx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libresilicon/process/fc0f7c92f050ae4937ffb290b7a5597f7c412ca4/simulation/threshold_nmos_aluminum.wxmx -------------------------------------------------------------------------------- /simulation/threshold_nmos_poly.wxmx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libresilicon/process/fc0f7c92f050ae4937ffb290b7a5597f7c412ca4/simulation/threshold_nmos_poly.wxmx -------------------------------------------------------------------------------- /simulation/threshold_pmos_aluminum.wxmx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libresilicon/process/fc0f7c92f050ae4937ffb290b7a5597f7c412ca4/simulation/threshold_pmos_aluminum.wxmx -------------------------------------------------------------------------------- /simulation/threshold_pmos_poly.wxmx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libresilicon/process/fc0f7c92f050ae4937ffb290b7a5597f7c412ca4/simulation/threshold_pmos_poly.wxmx -------------------------------------------------------------------------------- /simulation/threshold_sonos.wxmx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libresilicon/process/fc0f7c92f050ae4937ffb290b7a5597f7c412ca4/simulation/threshold_sonos.wxmx -------------------------------------------------------------------------------- /test_layouts/poly.mag: -------------------------------------------------------------------------------- 1 | magic 2 | magscale 1 2 3 | timestamp 1522784296024 4 | << poly >> 5 | rect 1 1 181 181 6 | << end >> 7 | -------------------------------------------------------------------------------- /test_layouts/testwafer.mag: -------------------------------------------------------------------------------- 1 | magic 2 | magscale 1 2 3 | timestamp 1522775789716 4 | << pads >> 5 | rect 1 1 181 181 6 | rect 1 265 181 445 7 | << end >> 8 | --------------------------------------------------------------------------------