Skip to content
Snippets Groups Projects
Commit 780e5010 authored by David Lanzendörfer's avatar David Lanzendörfer
Browse files

Now in top

parent 99fbcf6a
No related branches found
No related tags found
No related merge requests found
\section{Layer Definitions}\label{design_rules_layer_definitions}
\begin{center}
% \captionof{table}{Mask Layers (for Production)}
\begin{tabular}{|l|c|c|p{7.5cm}|}
\hline
\textbf{Name} & \textbf{GDSII} & \textbf{CIF} & \textbf{Description} \\
\hline
PWELL & 41 & CWP & p-well \\
NWELL & 42 & CWN & n-well \\
ACTIVE & 43 & CAA & active area \\
PPLUS & 44 & CSP & $p^{+}$ implant \\
NPLUS & 45 & CSN & $n^{+}$ implant \\
POLY & 46 & CPG & poly silicium \\
CONTACT & 25 & CCC & contact (connects METAL1 to POLY) \\
METAL1 & 49 & CM1 & lowest metal layer \\
VIA1 & 50 & CV1 & via layer (connects METAL2 to METAL1) \\
METAL2 & 51 & CM2 & second metal layer \\
VIA2 & 61 & CV2 & via layer (connects METAL3 to METAL2) \\
METAL3 & 62 & CM3 & third metal layer \\
GLASS & 52 & COG & passivation / isolation \\
\hline
\end{tabular}
\end{center}
\section{General Requirements}\label{design_rules_general_requirements}
\begin{flushleft}
\begin{tabular}{c p{9cm} c}
1.1 & All scaled dimensions are specified in Lambda & $\lambda$. \\
1.2 & All fixed dimensions are specified in Microns & $\mu m$. \\
1.3 & All geometries must be drawn on grid. The grid size is & $1 \lambda$. \\
1.4 & Polygones should be rectangles with 90 degree angles only. \\
1.5 & The die size should be an integer multiple of & $10 \mu m$. \\
\end{tabular}
\end{flushleft}
\begin{center}
\begin{tabular}{|l|c|c|}
\hline
\textbf{Node} & \textbf{$\lambda$} & \textbf{$2 \lambda$} \\
\hline
1 micron & 500nm & 1$\mu$m \\
0.5 micron & 250nm & 500nm \\
0.25 micron & 125nm & 250nm \\
\hline
\end{tabular}
\end{center}
\section{Process Layer Overview}\label{design_rules_process_layer_overview}
\begin{center}
% \captionof{table}{Mask Layer Minimum Values}
\begin{tabular}{|l|c|c|}
\hline
\textbf{Name} & \textbf{Minimum Width} & \textbf{Minimum Spacing} \\
\hline
PWELL & 10 $\lambda$ & 10 $\lambda$ \\
NWELL & 10 $\lambda$ & 10 $\lambda$ \\
ACTIVE & 3 $\lambda$ & 3 $\lambda$ \\
POLY & 2 $\lambda$ & 2 $\lambda$ \\
CONTACT & 2 $\lambda$ & 2 $\lambda$ \\
METAL1 & 4 $\lambda$ & 4 $\lambda$ \\
VIA1 & 2 $\lambda$ & 3 $\lambda$ \\
METAL2 & 4 $\lambda$ & 4 $\lambda$ \\
VIA2 & 2 $\lambda$ & 3 $\lambda$ \\
METAL3 & 6 $\lambda$ & 4 $\lambda$ \\
\hline
\end{tabular}
\end{center}
\section{Structure Rules}\label{design_rules_structure_rules}
\subsection{PWELL Rules}\label{design_rules_pwell_rules}
\begin{center}
\begin{tikzpicture}[scale=(.33)]
\filldraw[fill=pwell] (0, 0) rectangle ++(10, 10) node[near end] {PWELL};
\draw[<->] (0, 1) -- (10, 1) node[near start, above] {2.2.1};
\draw[<->] (1, 0) -- (1, 10) node[near start, left] {2.2.1};
\draw[<->] (10, 5) -- (19, 5) node[near start, above] {2.2.2};
\filldraw[fill=pwell] (19, 0) rectangle ++(10, 10) node[near end] {PWELL};
\draw[<->] (29, 5) -- (35, 5) node[near start, above] {2.2.3};
\filldraw[fill=pwell] (35, 0) rectangle ++(10, 10) node[near end] {PWELL};
\end{tikzpicture}
\end{center}
\begin{flushleft}
\begin{tabular}{c l c}
2.1.1 & Minimum Width of PWELL is & $ 10 \lambda $. \\
2.1.2 & Minimum Spacing to PWELL at different potential is & $ 10 \lambda $. \\
2.1.3 & Minimum Spacing to PWELL at same potential is & $ 0 \lambda $. \\
2.1.4 & Minimum Spacing to NWELL is & $ 12 \lambda $. \\
\end{tabular}
\end{flushleft}
\subsection{NWELL Rules}\label{design_rules_nwell_rules}
\begin{center}
\begin{tikzpicture}[scale=(.33)]
\filldraw[fill=nwell] (0, 0) rectangle ++(10, 10) node[near end] {NWELL};
\draw[<->] (0, 1) -- (10, 1) node[near start, above] {2.2.1};
\draw[<->] (1, 0) -- (1, 10) node[near start, left] {2.2.1};
\draw[<->] (10, 5) -- (19, 5) node[near start, above] {2.2.2};
\filldraw[fill=nwell] (19, 0) rectangle ++(10, 10) node[near end] {NWELL};
\draw[<->] (29, 5) -- (35, 5) node[near start, above] {2.2.3};
\filldraw[fill=nwell] (35, 0) rectangle ++(10, 10) node[near end] {NWELL};
\end{tikzpicture}
\end{center}
\begin{flushleft}
\begin{tabular}{c l c}
2.2.1 & Minimum Width of NWELL is & $ 10 \lambda $. \\
2.2.2 & Minimum Spacing to NWELL at different potential is & $ 10 \lambda $. \\
2.2.3 & Minimum Spacing to NWELL at same potential is & $ 0 \lambda $. \\
2.2.4 & Minimum Spacing to PWELL is & $ 12 \lambda $. \\
\end{tabular}
\end{flushleft}
\subsection{PBASE Rules}\label{design_rules_pbase_rules}
\begin{center}
\begin{tikzpicture}[scale=(.33)]
\filldraw[fill=nwell] (0, 0) rectangle (10, 10);
\filldraw[fill=pbase] (1, 1) rectangle ( 9, 9);
\node at (5,0.5) {NWELL};
\node at (5,1.5) {PBASE};
% overlap
\draw[<->] (0, 1) -- ( 1, 1) node[near start, above] {2.2.6};
\draw[<->] (9, 9) -- (10, 9) node[near start, above] {2.2.6};
\draw[<->] (1, 9) -- ( 1, 10) node[near start, left] {2.2.6};
\draw[<->] (9, 0) -- ( 9, 1) node[near start, right] {2.2.6};
% width
\draw[<->] (1, 5) -- ( 9, 5) node[near start, above] {2.2.5};
\end{tikzpicture}
\end{center}
\begin{flushleft}
\begin{tabular}{c l c}
2.2.5 & Minimum Width of PBASE is & $ 10 \lambda $. \\
2.2.6 & Minimum Overlap of PBASE to NWELL is & $ 5 \lambda $. \\
\end{tabular}
\end{flushleft}
\subsection{NBASE Rules}\label{design_rules_nbase_rules}
\begin{center}
\begin{tikzpicture}[scale=(.33)]
\filldraw[fill=nwell] (0, 0) rectangle (10, 10);
\filldraw[fill=pbase] (1, 1) rectangle ( 9, 9);
\filldraw[fill=nbase] (2, 2) rectangle ( 8, 8);
\node at (5,0.5) {NWELL};
\node at (5,1.5) {PBASE};
\node at (5,2.5) {NBASE};
% overlap
\draw[<->] (1, 2) -- ( 2, 2) node[near start, above] {2.2.8};
\draw[<->] (8, 8) -- ( 9, 8) node[near start, above] {2.2.8};
\draw[<->] (2, 8) -- ( 2, 9) node[near start, left] {2.2.8};
\draw[<->] (8, 1) -- ( 8, 2) node[near start, right] {2.2.8};
% width
\draw[<->] (2, 5) -- ( 8, 5) node[near start, above] {2.2.7};
\end{tikzpicture}
\end{center}
\begin{flushleft}
\begin{tabular}{c l c}
2.2.7 & Minimum Width of NBASE is & $ 10 \lambda $. \\
2.2.8 & Minimum Overlap of NBASE to PBASE is & $ 5 \lambda $. \\
\end{tabular}
\end{flushleft}
\subsection{ACTIVE Rules}\label{design_rules_active_rules}
\begin{flushleft}
\begin{tabular}{c l c}
2.3.1 & Minimum Width 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$. \\
\end{tabular}
\end{flushleft}
\subsection{POLY Rules}\label{design_rules_poly_rules}
\begin{center}
\begin{tikzpicture}[scale=(.4)]
\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);
\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);
\filldraw[fill=poly] (4, 7) -- ++(0, 5) -- ++(2, 0) -- ++(0, -3) -- ++(8, 0) -- ++(0, -2) -- ++(-10, 0);
\draw[<->] (12, 8) -- (14, 8) node[near start, above] {2.4.4};
\draw[<->] (6, 10) -- (7, 10) node[near start, above] {2.4.6};
\node at(1,12.5) {POLY};
\node at(9,12.5) {ACTIVE};
\end{tikzpicture}
\end{center}
\begin{flushleft}
\begin{tabular}{c l c}
2.4.1 & Minimum Width of POLY is & $2 \lambda$. \\
2.4.2 & Minimum Spacing to POLY over ACTIVE is & $2 \lambda$. \\
2.4.3 & Minimum Spacing to POLY over others is & $2 \lambda$. \\
2.4.4 & Minimum Gate extension beyond ACTIVE is & $2 \lambda$. \\
2.4.5 & Minimum ACTIVE extension beyond POLY is & $3 \lambda$. \\
2.4.6 & Minimum Spacing of POLY to ACTIVE is & $1 \lambda$. \\
\end{tabular}
\end{flushleft}
\subsection{NPLUS/PPLUS Rules}\label{design_rules_plus_rules}
\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$. \\
\end{tabular}
\end{flushleft}
\subsection{CONTACT Rules}\label{design_rules_contact_rules}
\begin{flushleft}
\begin{tabular}{c l c}
2.6.1 & Exact Width/Height of CONTACT is & $ 2 \lambda \times 2 \lambda$. \\
2.6.2 & Minimum Overlap by POLY or ACTIVE is & $1 \lambda$. \\
2.6.3 & Minimum Spacing to CONTACT is & $2 \lambda$. \\
2.6.4 & Minimum Spacing to Gate is & $2 \lambda$. \\
2.6.5 & Minimum Spacing of POLY CONTACT to other POLY is & $4 \lambda$. \\
2.6.6 & Minimum Spacing of ACTIVE CONTACT to POLY CONTACT is & $4 \lambda$. \\
\end{tabular}
\end{flushleft}
\subsection{METAL1 Rules}\label{design_rules_metal1_rules}
\begin{center}
\begin{tikzpicture}[scale=(.33)]
\filldraw[fill=metal1] (0, 0) rectangle ++(4, 10) node[near end] {METAL1};
\draw[<->] (0, 1) -- (4, 1) node[near start, above] {2.7.1};
\draw[<->] (4, 5) -- (8, 5) node[near start, above] {2.7.2};
\filldraw[fill=metal1] (8, 0) rectangle ++(4, 10) node[near end] {METAL1};
\filldraw[fill=titanium] (9, 1) rectangle ++(2, 2); % !! color code
\draw[<->] (8, 2) -- (9, 2) node[near start, above] {2.7.3};
\draw[<->] (12, 5) -- (18, 5) node[near start, above] {2.7.4};
\filldraw[fill=metal1] (18, 0) rectangle ++(20, 10) node[near end] {(Big-)METAL1};
\draw[<->] (18, 1) -- (38, 1) node[near start, above] {$ \geq 10 \mu m$};
\end{tikzpicture}
\end{center}
\begin{flushleft}
\begin{tabular}{c l c}
2.7.1 & Minimum Width of METAL1 is & $4 \lambda$. \\
2.7.2 & Minimum Spacing of METAL1 is & $4 \lambda$. \\
2.7.3 & Minimum Overlap of CONTACT or VIA is & $1 \lambda$. \\
2.7.4 & Minimum Spacing to METAL1 for lines wider than $10 \mu m$ is & $6 \lambda$. \\
\end{tabular}
\end{flushleft}
\subsection{VIA1 Rules}\label{design_rules_via1_rules}
\begin{flushleft}
\begin{tabular}{c l c}
2.8.1 & Exact Width/Height of VIA1 is & $ 2 \lambda \times 2 \lambda$. \\
2.8.2 & Minimum Spacing to VIA1 is & $3 \lambda$. \\
2.8.3 & Minimum Spacing to CONTACT is & $2 \lambda$. \\
2.8.4 & Minimum Spacing to POLY or ACTIVE is & $2 \lambda$. \\
\end{tabular}
\end{flushleft}
\subsection{METAL2 Rules}\label{design_rules_metal2_rules}
\begin{center}
\begin{tikzpicture}[scale=(.33)]
\filldraw[fill=metal2] (0, 0) rectangle ++(4, 10) node[near end] {METAL2};
\draw[<->] (0, 1) -- (4, 1) node[near start, above] {2.9.1};
\draw[<->] (4, 5) -- (8, 5) node[near start, above] {2.9.2};
\filldraw[fill=metal2] (8, 0) rectangle ++(4, 10) node[near end] {METAL2};
\filldraw[fill=via1] (9, 1) rectangle ++(2, 2); % !! color code
\draw[<->] (8, 2) -- (9, 2) node[near start, above] {2.9.3};
\draw[<->] (12, 5) -- (18, 5) node[near start, above] {2.9.4};
\filldraw[fill=metal2] (18, 0) rectangle ++(20, 10) node[near end] {(Big-)METAL2};
\draw[<->] (18, 1) -- (38, 1) node[near start, above] {$ \geq 10 \mu m$};
\end{tikzpicture}
\end{center}
\begin{flushleft}
\begin{tabular}{c l c}
2.9.1 & Minimum Width of METAL2 is & $4 \lambda$. \\
2.9.2 & Minimum Spacing to METAL2 is & $4 \lambda$. \\
2.9.3 & Minimum Overlap to VIA1 is & $1 \lambda$. \\
2.9.4 & Minimum Spacing to METAL2 for lines wider than $10 \mu m$ is & $6 \lambda$. \\
\end{tabular}
\end{flushleft}
\subsection{VIA2 Rules}\label{design_rules_via2_rules}
\begin{flushleft}
\begin{tabular}{c l c}
2.10.1 & Exact Width/Height of VIA2 is & $ 2 \lambda \times 2 \lambda$. \\
2.10.2 & Minimum Spacing to VIA2 is & $3 \lambda$. \\
\end{tabular}
\end{flushleft}
\subsection{METAL3 Rules}\label{design_rules_metal3_rules}
\begin{center}
\begin{tikzpicture}[scale=(.33)]
\filldraw[fill=metal2] (0, 0) rectangle ++(4, 10) node[near end] {METAL3}; % !! color code
\draw[<->] (0, 1) -- (4, 1) node[near start, above] {2.11.1};
\draw[<->] (4, 5) -- (8, 5) node[near start, above] {2.11.2};
\filldraw[fill=metal2] (8, 0) rectangle ++(4, 10) node[near end] {METAL3}; % !! color code
\filldraw[fill=via2] (9, 1) rectangle ++(2, 2); % !! color code
\draw[<->] (8, 2) -- (9, 2) node[near start, above] {2.11.3};
\draw[<->] (12, 5) -- (18, 5) node[near start, above] {2.11.4};
\filldraw[fill=metal2] (18, 0) rectangle ++(20, 10) node[near end] {(Big-)METAL3}; % !! color code
\draw[<->] (18, 1) -- (38, 1) node[near start, above] {$ \geq 10 \mu m$};
\end{tikzpicture}
\end{center}
\begin{flushleft}
\begin{tabular}{c l c}
4.11.1 & Minimum Width of METAL3 is & $6 \lambda$. \\
2.11.2 & Minimum Spacing to METAL3 is & $4 \lambda$. \\
2.11.3 & Minimum Overlap to VIA2 is & $1 \lambda$. \\
2.11.4 & Minimum Spacing to METAL3 for lines wider than $10 \mu m$ is & $6 \lambda$. \\
\end{tabular}
\end{flushleft}
\subsection{GLASS Rules}\label{design_rules_glass_rules}
\begin{flushleft}
\begin{tabular}{c l c}
2.12.1 & Exact Width/Height of GLASS is & $ 120 \lambda \times 120 \lambda$. \\
2.12.2 & Minimum METAL3 Overlap of GLASS opening is & $ 12 \lambda $. \\
2.12.3 & Minimum Spacing of pad METAL3 to unrelated METAL is & $30 \mu m$. \\
2.12.4 & Minimum Spacing of pad METAL3 to ACTIVE or POLY is & $15 \mu m$. \\
\end{tabular}
\end{flushleft}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment