Student CMOS Fabrication Process This node shows the BPFL code for the student CMOS fabrication process used in EECS 143, which contains approximately 41 steps. (Many steps are omitted.) Beside several steps are hyperlinks to figure nodes that show the wafer profile image that results after the step is completed. figure-> VLSI layout being fabricated figure-> Wafer profile at the end of fabrication ----------------------------- defflow Student-CMOS (mask-set, lot-size) begin /* allocate wafer */ wafer-spec := bare-silion-wafer(crystal-face: 100, resistivity: [{18 ohm-cm} {22 ohm-cm}], quality: 'product, dope: 'p); allocate-lot(size: 1, snapshot: wafer-spec, lot-name: 'test); /* figure-> substrate-0 */ step START-OXIDE begin /* oxidize wafer surface */ std-dry-oxidation(thickness: {58 nm}, temperature: {900 degC}); end; step INSULATOR begin /* deposit silicon nitride insulator */ std-nitride-deposition(thickness: {80 nm}); end; step NWELL-LITHO begin /* spin on, expose, develop resist */ pattern(mask: 'nwell, resist-thickness: {1 um}); /* NWELL pattern */ end; step NWELL-ETCH begin /* etch the exposed nitride */ etch-nitride(overetch: {20 %}, undercut: {50 %}); end; . . . step POLY begin /* put down poly layer */ pattern(mask: 'poly); etch-poly(); strip-resist(); end; /* figure-> devl-26 */ . . . step RESIST-PSD begin /* strip resist left after doping polysilicon */ strip-resist(); end; step DEPOSIT-PSG begin /* deposit polysilicon glass */ std-psg-deposition(thickness: {0.75 um}); end; /* figure-> depo-37 */ step CONTACT begin /* put down contacts */ pattern(mask: 'cont, invert: true); /* figure-> expo-38 */ etch-psg(); strip-resist(); end; /* figure-> devl-38 */ step ETCH-OXIDE begin /* remove oxide */ etch-oxide(thickness: {0.7 um}, undercut {0 %}); end; /* figure-> etch-39 */ step DEPOSIT-PSG begin /* deposit aluminum */ std-al-deposition(thickness: {0.8 um}); end; /* figure-> depo-40 */ step CONTACT begin /* deposit metal layer */ pattern(mask: 'mtl); /* figure-> expo-41 */ etch-al(); strip-resist(); end; /* figure-> devl-42 */ end;