diff --git a/process_implementations/hkust/equipment.yaml b/process_implementations/hkust/equipment.yaml index cdfbbcfda0d42bae32d7d495f03ef028ed316f83..71d0ebb0dc51f54ab1abca60098f4be95b28718d 100644 --- a/process_implementations/hkust/equipment.yaml +++ b/process_implementations/hkust/equipment.yaml @@ -31,6 +31,11 @@ SRD-B: { } # Wet station C +WET-C1: { + location: P2-01000, + equipment: "C1:Nitride Strip", + level: clean, +} WET-C3: { location: P2-01000, equipment: "C3:BOE", diff --git a/process_implementations/hkust/process.tex b/process_implementations/hkust/process.tex index f9d780f61e8bf1945165dbc881749c8ea92f1b98..a1a677348ea4ffc2fde04b583b70719d7bcec116 100644 --- a/process_implementations/hkust/process.tex +++ b/process_implementations/hkust/process.tex @@ -96,7 +96,7 @@ \begin{center} \fbox{\begin{minipage}{\textwidth} \centering - \begin{tikzpicture}[node distance = 3cm, auto, thick, scale=0.7, every node/.style={transform shape}] + \begin{tikzpicture}[node distance = 3cm, auto, thick, scale=0.6, every node/.style={transform shape}] \input{#2} \end{tikzpicture}\\ \textbf{Mask: #3} @@ -154,7 +154,7 @@ \maketitle \begin{abstract} \input{process_abstract.tex} \\ - Please see the document with the generic steps\footnote{\url{https://github.com/libresilicon/process/raw/master/process_steps/process_hightech/process_hightech_steps.pdf}} + Please see the document with the generic steps\footnote{\url{https://download.libresilicon.com/process/v1/process_hightech_steps.pdf}} in order to get a detailed description of the different steps. \end{abstract} \vfill diff --git a/process_implementations/hkust/repetitive_steps.yaml b/process_implementations/hkust/repetitive_steps.yaml index d36bebd96486de3e2f3c8bae8b1910d84dd0dd5c..60e3724776d1f1c2c509674b7a2285856bf786de 100644 --- a/process_implementations/hkust/repetitive_steps.yaml +++ b/process_implementations/hkust/repetitive_steps.yaml @@ -30,7 +30,7 @@ normal_exposure: [ { equipment: PHT-T2, process: "Develop, Hard bake", - requirement: "FHD-5, 1min; hard bake: 120\\degreesC, 1min", + requirement: "FHD-5, 1min; hard bake: 120\\degreesC, 30 min", }, ] diff --git a/process_implementations/hkust/steps_dry.pdf b/process_implementations/hkust/steps_dry.pdf index 7a18e0d9e0728646b0e4e251974ec2bf7d4e4410..a7e7c835a310c8e3cc12cb01850d055c8f128b70 100644 Binary files a/process_implementations/hkust/steps_dry.pdf and b/process_implementations/hkust/steps_dry.pdf differ diff --git a/process_implementations/hkust/steps_dry.yaml b/process_implementations/hkust/steps_dry.yaml index 43cb7c7b38e01ce02714adad994f660a89acaf5d..062d06ba12ed301f718b0bdc46f811756912ea46 100644 --- a/process_implementations/hkust/steps_dry.yaml +++ b/process_implementations/hkust/steps_dry.yaml @@ -18,23 +18,38 @@ cross_tikz: tikz_process_steps/sti.a.tex, mask: sti, steps: [ - clean_B, + { + equipment: DIF-D1, + process: "Pad oxide growth", + requirement: "10nm, 15 minutes @ 1000\\degreesC in dry environment", + pre: initial_clean_A + }, + { + equipment: CVD-B2, + process: "CMP end stop deposition, Silicon nitride", + requirement: "100nm", + }, normal_exposure, + { + equipment: DRY-RIE-2, + process: "CHF3 etch", + requirement: "4 minutes", + }, { equipment: DRY-Si-1, - process: "Etching the trenches", - requirement: "Thin line recipe, 1\\um : 7 cycles -> 35 cycles", + process: "SMALL001", + requirement: "2\\um -> 14 cycles", }, asher_resist_strip, { equipment: CVD-B3, process: "Oxide deposition", - requirement: "4\\um LTO", + requirement: "2\\um LTO", }, { equipment: CMP-1, - process: "Planarize oxide down to silicon", - requirement: "Use oxide planarization slurry, 15 minutes", + process: "Planarize oxide", + requirement: "10 minutes", }, { equipment: WET-G1, @@ -42,24 +57,23 @@ requirement: "70\\degreesC, 10mins", }, { - equipment: WET-C3, - process: "HF dip", - requirement: "1 minute", + equipment: WET-C1, + process: "Nitride strip", + requirement: "Remove CMP endstop", }, { - equipment: CVD-B3, - process: "Oxide deposition", - requirement: "2\\um LTO", + equipment: DIF-A1, + process: "Densify LTO", + requirement: "30 minutes @ 850\\degreesC in inert atmosphere", }, { - equipment: CMP-1, - process: "Planarize oxide down to silicon", - requirement: "Use oxide planarization slurry, 10 minutes", + equipment: WET-A2, + process: "Pad oxide removal/smoothening", + requirement: "3 minutes", }, { - equipment: WET-G1, - process: "Ammonium cleaning", - requirement: "70\\degreesC, 10mins", + equipment: SRD-A, + process: "Dry the wafer automatically", }, ], } @@ -312,16 +326,31 @@ cross_tikz: tikz_process_steps/contact.a.tex, mask: contact, steps: [ + { + equipment: CVD-F4, + process: "Pad oxide deposition", + requirement: "100nm", + }, + { + equipment: CVD-P1, + process: "CMP end stop deposition, Silicon nitride", + requirement: "100nm", + }, { equipment: CVD-F4, process: "Oxide deposition", - requirement: "150 nm", + requirement: "1\\um", + }, + { + equipment: CMP-4, + process: "Planarize oxide", + requirement: "1 minute", }, normal_exposure, { equipment: DRY-RIE-2, - process: "150nm LTO etch", - requirement: "3 minutes", + process: "CHF3 etch", + requirement: "180 seconds", }, { equipment: WET-Y1, @@ -358,16 +387,31 @@ cross_tikz: tikz_process_steps/via1.a.tex, mask: via1, steps: [ + { + equipment: CVD-F4, + process: "Pad oxide deposition", + requirement: "100nm", + }, + { + equipment: CVD-P1, + process: "CMP end stop deposition, Silicon nitride", + requirement: "100nm", + }, { equipment: CVD-F4, process: "Oxide deposition", - requirement: "150 nm", + requirement: "1\\um", + }, + { + equipment: CMP-4, + process: "Planarize oxide", + requirement: "1 minute", }, normal_exposure, { equipment: DRY-RIE-2, - process: "150nm LTO etch", - requirement: "3 minutes", + process: "CHF3 etch", + requirement: "180 seconds", }, { equipment: WET-Y1, @@ -404,16 +448,31 @@ cross_tikz: tikz_process_steps/via2.a.tex, mask: via2, steps: [ + { + equipment: CVD-F4, + process: "Pad oxide deposition", + requirement: "100nm", + }, + { + equipment: CVD-P1, + process: "CMP end stop deposition, Silicon nitride", + requirement: "100nm", + }, { equipment: CVD-F4, process: "Oxide deposition", - requirement: "150nm", + requirement: "1\\um", + }, + { + equipment: CMP-4, + process: "Planarize oxide", + requirement: "1 minute", }, normal_exposure, { equipment: DRY-RIE-2, - process: "150nm LTO etch", - requirement: "3 minutes", + process: "CHF3 etch", + requirement: "180 seconds", }, { equipment: WET-Y1, @@ -450,16 +509,31 @@ cross_tikz: tikz_process_steps/glass.a.tex, mask: glass, steps: [ + { + equipment: CVD-F4, + process: "Pad oxide deposition", + requirement: "100nm", + }, + { + equipment: CVD-P1, + process: "CMP end stop deposition, Silicon nitride", + requirement: "100nm", + }, { equipment: CVD-F4, process: "Oxide deposition", - requirement: "150nm", + requirement: "1\\um", + }, + { + equipment: CMP-4, + process: "Planarize oxide", + requirement: "1 minute", }, normal_exposure, { equipment: DRY-RIE-2, - process: "150nm LTO etch", - requirement: "3 minutes", + process: "CHF3 etch", + requirement: "180 seconds", }, { equipment: WET-Y1, diff --git a/process_implementations/hkust/steps_wet.pdf b/process_implementations/hkust/steps_wet.pdf index 1e364bda4efbbed3c334a271461ca13bb83c94dd..5e7d74d683c611678d7f681470d9782e45aae74f 100644 Binary files a/process_implementations/hkust/steps_wet.pdf and b/process_implementations/hkust/steps_wet.pdf differ diff --git a/process_implementations/hkust/tables_generator.py b/process_implementations/hkust/tables_generator.py index 657f4510144e4000bef94439c0df5ff8a89502ec..1d1573f1d316ec7e7ffcf27344fdc71a71dd6c3a 100755 --- a/process_implementations/hkust/tables_generator.py +++ b/process_implementations/hkust/tables_generator.py @@ -3,7 +3,7 @@ import sys import yaml class auto_generator: - table_height=10 + table_height=14 def getStepEquipment(self,step): try: @@ -145,12 +145,33 @@ class auto_generator: for substep in step_substeps: for step in self.extractSubSteps(substep): + try: + pre_substep=step['pre'] + except: + pre_substep=False + + try: + post_substep=step['post'] + except: + post_substep=False + eqcode = self.getStepEquipment(step) - for stp in self.getRequiredPreSteps(eqcode): - ret.append(stp) + + if pre_substep == False: + for stp in self.getRequiredPreSteps(eqcode): + ret.append(stp) + else: + for stp in self.extractSubSteps(pre_substep): + ret.append(stp) + ret.append(step) - for stp in self.getRequiredPostSteps(eqcode): - ret.append(stp) + + if post_substep == False: + for stp in self.getRequiredPostSteps(eqcode): + ret.append(stp) + else: + for stp in self.extractSubSteps(post_substep): + ret.append(stp) return ret