diff --git a/process_design_rules/process_design_rules.pdf b/process_design_rules/process_design_rules.pdf index 20ba4fb10a3fcc7f7ff00a7567fae34116f115c6..c85ea15db3dbf906c0d7debd4517040c3a820db0 100644 Binary files a/process_design_rules/process_design_rules.pdf and b/process_design_rules/process_design_rules.pdf differ diff --git a/process_design_rules/process_design_rules.tex b/process_design_rules/process_design_rules.tex index ba273a3b22fd998fae1679a533da5ffbc50e592a..7e8db1d34b9d21ab4e6d398bccf8f684566e534d 100644 --- a/process_design_rules/process_design_rules.tex +++ b/process_design_rules/process_design_rules.tex @@ -238,13 +238,36 @@ \subsection{ACTIVE Rules}\label{design_rules_active_rules} +\begin{center} + \begin{tikzpicture}[scale=(.33)] + \filldraw[fill=pwell] (0, 0) rectangle (10, 10); + \filldraw[fill=nwell] (20, 0) rectangle (30, 10); + + \filldraw[fill=gray] (2,2) rectangle (4,5); + \filldraw[fill=gray] (6,2) rectangle (8,8); + \filldraw[fill=gray] (22,2) rectangle (24,8); + \filldraw[fill=gray] (26,2) rectangle (28,5); + + \node at(2,10.5) {PWELL}; + \node at(22,10.5) {NWELL}; + \node at(7,8.5) {ACTIVE}; + \draw[<->] (0, 4) -- ( 2, 4) node[near start, below] {2.3.3}; + \draw[<->] (4, 4) -- ( 6, 4) node[near start, below] {2.3.2}; + \draw[<->] (8, 4) -- (10, 4) node[near start, below] {2.3.3}; + + \draw[<->] (2, 0) -- ( 2, 2) node[near start, below] {2.3.3}; + \draw[<->] (6, 0) -- ( 6, 2) node[near start, below] {2.3.3}; + + \draw[<->] (22, 3) -- (24, 3) node[near start, below] {2.3.1}; + \draw[<->] (27, 2) -- (27, 5) node[near start, below] {2.3.1}; + \end{tikzpicture} +\end{center} + \begin{flushleft} \begin{tabular}{c l c} - 2.3.1 & Minimum Width of ACTIVE is & $3 \lambda$. \\ + 2.3.1 & Minimum Width/Height of ACTIVE is & $3 \lambda$. \\ 2.3.2 & Minimum Spacing to ACTIVE is & $3 \lambda$. \\ - 2.3.3 & Minimum Source/Drain surround by PWELL/NWELL is & $6 \lambda$. \\ - 2.3.4 & Minimum Substrate/NWELL contact sourround by PWELL/NWELL is & $3 \lambda$. \\ - 2.3.5 & Minimum Spacing to ACTIVE of opposite type is & $4 \lambda$. \\ + 2.3.3 & Minimum ACTIVE surround by PWELL/NWELL/PBASE/NBASE is & $6 \lambda$. \\ \end{tabular} \end{flushleft} @@ -255,7 +278,7 @@ \filldraw[fill=poly] (0, 0) rectangle ++(2, 12); \draw[<->] (0, 6) -- (2, 6) node[near start, above] {2.4.1}; \draw[<->] (2, 4) -- (4, 4) node[near start, above] {2.4.3}; - \filldraw[fill=nitride] (7, 0) rectangle ++(5, 12); + \filldraw[fill=gray] (7, 0) rectangle ++(5, 12); \draw[<->] (10, 5) -- (10, 7) node[near start, left] {2.4.2}; \draw[<->] (9, 0) -- (9, 3) node[near start, left] {2.4.5}; \filldraw[fill=poly] (4, 5) -- ++(10, 0) -- ++(0, -2) -- ++(-8, 0) -- ++(0, -3) -- ++(-2, 0) -- ++(0, 5); @@ -278,18 +301,65 @@ \end{tabular} \end{flushleft} -\subsection{NPLUS/PPLUS Rules}\label{design_rules_plus_rules} +\subsection{NPLUS/PPLUS (nimplant/pimplant) Rules}\label{design_rules_plus_rules} + +\begin{center} + \begin{tikzpicture}[scale=(.33)] + \filldraw[fill=pwell] (0, 0) rectangle (10, 10); + \filldraw[fill=nwell] (20, 0) rectangle (30, 10); + + \filldraw[fill=gray, opacity=0.5] (2,2) rectangle (4,5); + \filldraw[fill=gray, opacity=0.5] (6,2) rectangle (8,8); + \filldraw[fill=gray, opacity=0.5] (22,2) rectangle (24,8); + \filldraw[fill=gray, opacity=0.5] (26,2) rectangle (28,5); + + \filldraw[fill=poly] (5,4) rectangle (11,6); + \filldraw[fill=poly] (19,4) rectangle (25,6); + + \filldraw[fill=red, opacity=0.5] (1.75,1.75) rectangle (4.25,5.25); + \filldraw[fill=blue, opacity=0.5] (5.75,1.75) rectangle (8.25,8.25); + \filldraw[fill=red, opacity=0.5] (21.75,1.75) rectangle (24.25,8.25); + \filldraw[fill=blue, opacity=0.5] (25.75,1.75) rectangle (28.25,5.25); + + \node at(2,10.5) {PWELL}; + \node at(22,10.5) {NWELL}; + + \node at(7,8.75) {NPLUS}; + \node at(23,8.75) {PPLUS}; + + \draw[<->] (4.25,2) -- (5.75,2) node[near start, below] {2.5.3}; + \draw[<->] (8.25,2) -- (21.75,2) node[near start, above] {2.5.3}; + \draw[<->] (8.25,6) -- (8.25,8.25) node[near start, right] {2.5.1}; + \draw[<->] (24,2) -- (24.25,2) node[near start, below] {2.5.2}; + \end{tikzpicture} +\end{center} \begin{flushleft} \begin{tabular}{c l c} 2.5.1 & Minimum Spacing to POLY is & $3 \lambda$. \\ 2.5.2 & Minimum Overlap to ACTIVE is & $2 \lambda$. \\ - 2.5.3 & Minimum Overlap to CONTACT is & $1 \lambda$. \\ + 2.5.3 & Minimum Spacing to NPLUS/PPLUS of opposite type is & $4 \lambda$. \\ \end{tabular} \end{flushleft} \subsection{CONTACT Rules}\label{design_rules_contact_rules} +\begin{center} + \begin{tikzpicture}[scale=(.33)] + \filldraw[fill=nwell] (0, 0) rectangle (10, 10); + \filldraw[fill=gray, opacity=0.5] (2,2) rectangle (4,5); + \filldraw[fill=gray, opacity=0.5] (6,2) rectangle (8,8); + \filldraw[fill=poly] (5,4) rectangle (11,6); + \filldraw[fill=blue, opacity=0.5] (1.75,1.75) rectangle (4.25,5.25); + \filldraw[fill=red, opacity=0.5] (5.75,1.75) rectangle (8.25,8.25); + \filldraw[fill=gray] (2.5, 3) rectangle ++(1, 1); + \filldraw[fill=gray] (6.5, 2.5) rectangle ++(1, 1); + \filldraw[fill=gray] (6.5, 6.5) rectangle ++(1, 1); + \filldraw[fill=gray] (9.5, 4.5) rectangle ++(1, 1); + \end{tikzpicture} +\end{center} + + \begin{flushleft} \begin{tabular}{c l c} 2.6.1 & Exact Width/Height of CONTACT is & $ 2 \lambda \times 2 \lambda$. \\