From 8d9955476dffb9fab3264c3b9c2560916e1378e7 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?David=20Lanzend=C3=B6rfer?= <david.lanzendoerfer@o2s.ch>
Date: Fri, 2 Aug 2019 20:29:40 +0800
Subject: [PATCH] Updating graphics according to process steps

---
 .../tikz_process_steps/metal1.tex             |  3 +
 .../tikz_process_steps/metal2.a.tex           | 15 ++++-
 .../tikz_process_steps/metal3.a.tex           | 13 +++-
 .../tikz_process_steps/paint_functions.tex    | 60 +++++++++----------
 .../tikz_process_steps/via1.a.tex             |  3 +-
 5 files changed, 59 insertions(+), 35 deletions(-)

diff --git a/process_steps/process_hightech/tikz_process_steps/metal1.tex b/process_steps/process_hightech/tikz_process_steps/metal1.tex
index 46436ab..28d8e9e 100644
--- a/process_steps/process_hightech/tikz_process_steps/metal1.tex
+++ b/process_steps/process_hightech/tikz_process_steps/metal1.tex
@@ -1,5 +1,8 @@
 \fill[isolationoxide] (0.0,2.0) rectangle (55.0,\LowerMetal);
 
+\paintscaledmetal{nitride}{0.0}{0.5}
+\paintscaledmetal{isolationoxide}{0.0}{0.25}
+
 \paintcontacts{brown}{gray}{brown}
 
 \input{tikz_process_steps/silicification.a.tex}
diff --git a/process_steps/process_hightech/tikz_process_steps/metal2.a.tex b/process_steps/process_hightech/tikz_process_steps/metal2.a.tex
index 77f41c3..dc8618f 100644
--- a/process_steps/process_hightech/tikz_process_steps/metal2.a.tex
+++ b/process_steps/process_hightech/tikz_process_steps/metal2.a.tex
@@ -1,3 +1,14 @@
 \input{tikz_process_steps/via1.a.tex}
-\paintscaledvias{metal2}{\UpperMetal}{\LowerMoreMetal}{0.0}
-\paintscaledvias{metal2}{\LowerMoreMetal}{\UpperMoreMetal}{0.25}
+
+\fill[nitride] (0,\LowerMoreMetal) rectangle (55,\LowerMoreMetal+0.5);
+\fill[isolationoxide] (0,\LowerMoreMetal) rectangle (55,\LowerMoreMetal+0.25);
+
+\paintscaledvias{nitride}{\LowerMoreMetal+0.25}{\UpperMoreMetal+0.5}{0.75}
+\paintscaledvias{isolationoxide}{\LowerMoreMetal}{\UpperMoreMetal+0.25}{0.5}
+
+\paintscaledvias{gray}{\LowerMoreMetal}{\UpperMoreMetal}{0.25}
+\paintscaledvias{brown}{\LowerMoreMetal+0.3}{\UpperMoreMetal}{0.25}
+
+\paintscaledvias{gray}{\UpperMetal}{\LowerMoreMetal}{0.0}
+\paintscaledvias{brown}{\UpperMetal+0.2}{\UpperMoreMetal}{-0.2}
+
diff --git a/process_steps/process_hightech/tikz_process_steps/metal3.a.tex b/process_steps/process_hightech/tikz_process_steps/metal3.a.tex
index b07b854..af82bf3 100644
--- a/process_steps/process_hightech/tikz_process_steps/metal3.a.tex
+++ b/process_steps/process_hightech/tikz_process_steps/metal3.a.tex
@@ -1,4 +1,13 @@
 \input{tikz_process_steps/via2.a.tex}
 
-\paintscaledvias{metal3}{\UpperMoreMetal}{\LowerMoreMetalTwo}{0.25}
-\paintscaledvias{metal3}{\LowerMoreMetalTwo}{\UpperMoreMetalTwo}{0.50}
+\fill[nitride] (0,\LowerMoreMetalTwo) rectangle (55,\LowerMoreMetalTwo+0.5);
+\fill[isolationoxide] (0,\LowerMoreMetalTwo) rectangle (55,\LowerMoreMetalTwo+0.25);
+
+\paintscaledvias{nitride}{\LowerMoreMetalTwo+0.25}{\UpperMoreMetalTwo+0.5}{1.00}
+\paintscaledvias{isolationoxide}{\LowerMoreMetalTwo}{\UpperMoreMetalTwo+0.25}{0.75}
+
+\paintscaledvias{gray}{\UpperMoreMetal}{\LowerMoreMetalTwo}{0.25}
+\paintscaledvias{gray}{\LowerMoreMetalTwo}{\UpperMoreMetalTwo}{0.50}
+
+\paintscaledvias{brown}{\UpperMoreMetal+0.25}{\LowerMoreMetalTwo+0.3}{-0.1}
+\paintscaledvias{brown}{\LowerMoreMetalTwo+0.3}{\UpperMoreMetalTwo}{0.5}
diff --git a/process_steps/process_hightech/tikz_process_steps/paint_functions.tex b/process_steps/process_hightech/tikz_process_steps/paint_functions.tex
index e410642..9efbd43 100644
--- a/process_steps/process_hightech/tikz_process_steps/paint_functions.tex
+++ b/process_steps/process_hightech/tikz_process_steps/paint_functions.tex
@@ -147,40 +147,40 @@
 \fill[#1] (53.00-#4, #2) rectangle (53.50+#4, #3);
 }
 
-\newcommand{\paintscaledmetal}[2]{
+\newcommand{\paintscaledmetal}[3]{
 %pfet
-\fill[#1] ( 0.00,  \LowerMetal+#2) rectangle (2.40, \UpperMetal);
-\fill[#1] ( 2.80,  \LowerMetal+#2) rectangle (4.30, \UpperMetal);
-\fill[#1] ( 4.70,  \LowerMetal+#2) rectangle (6.30, \UpperMetal);
-\fill[#1] ( 6.70,  \LowerMetal+#2) rectangle (8.40, \UpperMetal);
+\fill[#1] ( 0.50-#3,  \LowerMetal+#2) rectangle (2.40+#3, \UpperMetal+#3);
+\fill[#1] ( 2.80-#3,  \LowerMetal+#2) rectangle (4.30+#3, \UpperMetal+#3);
+\fill[#1] ( 4.70-#3,  \LowerMetal+#2) rectangle (6.30+#3, \UpperMetal+#3);
+\fill[#1] ( 6.70-#3,  \LowerMetal+#2) rectangle (8.40+#3, \UpperMetal+#3);
 %nfet
-\fill[#1] ( 9.60, \LowerMetal+#2) rectangle (11.30, \UpperMetal);
-\fill[#1] (11.70, \LowerMetal+#2) rectangle (13.30, \UpperMetal);
-\fill[#1] (13.80, \LowerMetal+#2) rectangle (15.20, \UpperMetal);
-\fill[#1] (15.40, \LowerMetal+#2) rectangle (17.00, \UpperMetal);
+\fill[#1] ( 9.60-#3, \LowerMetal+#2) rectangle (11.30+#3, \UpperMetal+#3);
+\fill[#1] (11.70-#3, \LowerMetal+#2) rectangle (13.30+#3, \UpperMetal+#3);
+\fill[#1] (13.80-#3, \LowerMetal+#2) rectangle (15.20+#3, \UpperMetal+#3);
+\fill[#1] (15.40-#3, \LowerMetal+#2) rectangle (17.00+#3, \UpperMetal+#3);
 %sonos
-\fill[#1] (18.80, \LowerMetal+#2) rectangle (20.30, \UpperMetal);
-\fill[#1] (20.50, \LowerMetal+#2) rectangle (21.50, \UpperMetal);
-\fill[#1] (21.80, \LowerMetal+#2) rectangle (23.00, \UpperMetal);
-\fill[#1] (23.30, \LowerMetal+#2) rectangle (25.00, \UpperMetal);
+\fill[#1] (18.80-#3, \LowerMetal+#2) rectangle (20.30+#3, \UpperMetal+#3);
+\fill[#1] (20.50-#3, \LowerMetal+#2) rectangle (21.50+#3, \UpperMetal+#3);
+\fill[#1] (21.80-#3, \LowerMetal+#2) rectangle (23.00+#3, \UpperMetal+#3);
+\fill[#1] (23.30-#3, \LowerMetal+#2) rectangle (25.00+#3, \UpperMetal+#3);
 %npn
-\fill[#1] (26.00, \LowerMetal+#2) rectangle (27.80, \UpperMetal);
-\fill[#1] (28.00, \LowerMetal+#2) rectangle (29.45, \UpperMetal);
-\fill[#1] (29.70, \LowerMetal+#2) rectangle (30.90, \UpperMetal);
-\fill[#1] (31.15, \LowerMetal+#2) rectangle (32.25, \UpperMetal);
-\fill[#1] (32.50, \LowerMetal+#2) rectangle (34.00, \UpperMetal);
+\fill[#1] (26.00-#3, \LowerMetal+#2) rectangle (27.80+#3, \UpperMetal+#3);
+\fill[#1] (28.00-#3, \LowerMetal+#2) rectangle (29.45+#3, \UpperMetal+#3);
+\fill[#1] (29.70-#3, \LowerMetal+#2) rectangle (30.90+#3, \UpperMetal+#3);
+\fill[#1] (31.15-#3, \LowerMetal+#2) rectangle (32.25+#3, \UpperMetal+#3);
+\fill[#1] (32.50-#3, \LowerMetal+#2) rectangle (34.00+#3, \UpperMetal+#3);
 %pnp
-\fill[#1] (35.00, \LowerMetal+#2) rectangle (36.60, \UpperMetal);
-\fill[#1] (36.75, \LowerMetal+#2) rectangle (38.00, \UpperMetal);
-\fill[#1] (38.15, \LowerMetal+#2) rectangle (39.35, \UpperMetal);
-\fill[#1] (39.50, \LowerMetal+#2) rectangle (40.70, \UpperMetal);
-\fill[#1] (40.85, \LowerMetal+#2) rectangle (42.50, \UpperMetal);
+\fill[#1] (35.00-#3, \LowerMetal+#2) rectangle (36.60+#3, \UpperMetal+#3);
+\fill[#1] (36.75-#3, \LowerMetal+#2) rectangle (38.00+#3, \UpperMetal+#3);
+\fill[#1] (38.15-#3, \LowerMetal+#2) rectangle (39.35+#3, \UpperMetal+#3);
+\fill[#1] (39.50-#3, \LowerMetal+#2) rectangle (40.70+#3, \UpperMetal+#3);
+\fill[#1] (40.85-#3, \LowerMetal+#2) rectangle (42.50+#3, \UpperMetal+#3);
 %zener
-\fill[#1] (42.80, \LowerMetal+#2) rectangle (45.50, \UpperMetal);
-\fill[#1] (46.50, \LowerMetal+#2) rectangle (48.10, \UpperMetal);
+\fill[#1] (42.80-#3, \LowerMetal+#2) rectangle (45.50+#3, \UpperMetal+#3);
+\fill[#1] (46.50-#3, \LowerMetal+#2) rectangle (48.10+#3, \UpperMetal+#3);
 %resistor
-\fill[#1] (48.40, \LowerMetal+#2) rectangle (51.00, \UpperMetal);
-\fill[#1] (52.00, \LowerMetal+#2) rectangle (55.00, \UpperMetal);
+\fill[#1] (48.40-#3, \LowerMetal+#2) rectangle (51.00+#3, \UpperMetal+#3);
+\fill[#1] (52.00-#3, \LowerMetal+#2) rectangle (54.50+#3, \UpperMetal+#3);
 }
 
 \newcommand{\paintscaledcontacts}[2]{
@@ -220,10 +220,10 @@
 }
 
 \newcommand{\paintcontacts}[3]{
-\paintscaledmetal{#1}{0}
+\paintscaledmetal{#1}{0}{0}
 \paintscaledcontacts{#1}{0}
-\paintscaledmetal{#2}{0.1}
+\paintscaledmetal{#2}{0.1}{0}
 \paintscaledcontacts{#2}{0.1}
-\paintscaledmetal{#3}{0.35}
+\paintscaledmetal{#3}{0.35}{0}
 \paintscaledcontacts{#3}{0.35}
 }
diff --git a/process_steps/process_hightech/tikz_process_steps/via1.a.tex b/process_steps/process_hightech/tikz_process_steps/via1.a.tex
index 2400e44..e8d9502 100644
--- a/process_steps/process_hightech/tikz_process_steps/via1.a.tex
+++ b/process_steps/process_hightech/tikz_process_steps/via1.a.tex
@@ -1,5 +1,6 @@
 \fill[isolationoxide] (0,\LowerMetal) rectangle (55,\LowerMoreMetal);
 
+\input{tikz_process_steps/metal1.tex}
+
 \paintscaledvias{white}{\UpperMetal}{\LowerMoreMetal}{0}
 
-\input{tikz_process_steps/metal1.tex}
-- 
GitLab