diff --git a/Documentation/LaTeX/GNUmakefile b/Documentation/LaTeX/GNUmakefile new file mode 100644 index 0000000000000000000000000000000000000000..f7768b7ba92b1b2fcdcd6b706835915cf5298431 --- /dev/null +++ b/Documentation/LaTeX/GNUmakefile @@ -0,0 +1,52 @@ +# project name + +PROJECT = ls1u-padcells + +# directory pathes + +DOCUMENTSDIR = . + +# tool variables + +CAT ?= @cat +ECHO ?= @echo # -e +RM ?= rm -f + +# project tools + +LATEX ?= pdflatex # -output-directory $(OUTPUTDIR) + +# ---------------------------------------------------------------- +# DEFAULT TARGETS +# ---------------------------------------------------------------- + +# display help screen if no target is specified + +.PHONY: help +help: + $(ECHO) "-------------------------------------------------------------------" + $(ECHO) " available targets:" + $(ECHO) "-------------------------------------------------------------------" + $(ECHO) "" + $(ECHO) " help - print this help screen" + $(ECHO) " clean - clean up all intermediate files" + $(ECHO) "" + $(ECHO) " doc - compile documentation" + $(ECHO) "" + + +.PHONY: clean +clean: + $(RM) *.aux *.idx *.log *.toc *.out + +# ---------------------------------------------------------------- +# DOCUMENTATION TARGETS +# ---------------------------------------------------------------- + +.PHONY: doc +doc: pdf clean + +.PHONY: pdf +pdf: $(PROJECT).tex + $(LATEX) $< + $(LATEX) $< diff --git a/Documentation/LaTeX/ls1u-padcells.pdf b/Documentation/LaTeX/ls1u-padcells.pdf new file mode 100644 index 0000000000000000000000000000000000000000..cf02ad50bf2efbfe567597e2f123abb795918a4e Binary files /dev/null and b/Documentation/LaTeX/ls1u-padcells.pdf differ diff --git a/Documentation/LaTeX/ls1u-padcells.tex b/Documentation/LaTeX/ls1u-padcells.tex new file mode 100644 index 0000000000000000000000000000000000000000..7799bdfabbd169895a0c8720e23b007346f709d2 --- /dev/null +++ b/Documentation/LaTeX/ls1u-padcells.tex @@ -0,0 +1,213 @@ +\documentclass[10pt,a4paper,twoside]{article} +\usepackage[utf8]{inputenc} +\usepackage[english]{babel} +\usepackage{amssymb} +%\usepackage[digital,srcmeas,semicon]{circdia} +\usepackage{graphicx} +\graphicspath{ {../design_concept/} } % search path for graphicx + +\usepackage[left=2cm,right=2cm,top=2cm,bottom=2cm]{geometry} + +\title{Pad Library design concept for Libresilicon node LS1U} +\author{Ferenc Éger} +\date{2019 October 13} + +\makeindex +\setlength{\parindent}{0pt} % get rid of annoying indents + +\begin{document} +\maketitle + +\begin{abstract} +\begin{quote} + +This process is licensed under the Libre Silicon public license; you can redistribute it and/or modify it under the terms of the Libre Silicon public license as published by the Libre Silicon alliance, either version 1 of the License, or (at your option) any later version. + +This design is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the Libre Silicon Public License for more details. + +This document is part of the specification of the free silicon manufacturing standard for manufacturing the LibreSilicon standard logic cells and related free technology nodes from the LibreSilicon project. + +\end{quote} +\end{abstract} +\clearpage + +\tableofcontents +\clearpage + +\pagestyle{headings} + +\section{Introduction} + +This document is intended to provide an overview of the design concept of the pad cell library for Libresilicon project's LS1U CMOS technology node. This document is a living document: it is expected to change troughout the development process. + +\section{Library contents and derivation of cells} + +The assortment of cells within the library is selected to satisfy most of the needs encountered in solitary digital and basedand mixed-signal applications, while keeping the complexity of the design effort reasonably low. The library is intended to be used for automatic generation of the padring of the chip by a higher-level synthesis or P+R tool, without needing to deal with detailed electrical design and layout considerations at system level. Since pads for applications like high-voltage or RF signals require application-specific and varying design without the possiblity to provide off-the-self solutions, these are excluded from the scope of the library. The following cells are included: + +\begin{itemize} + \item \textbf{PADGND} + \item \textbf{PADVDD} + \item \textbf{PADNC} + \item \textbf{PADIO} + \item \textbf{PADIN} + \item \textbf{PADOUT} + \item \textbf{PADOD} + \item \textbf{PADPT} + \item \textbf{CORNER} +\end{itemize} + +The design effort should be started with designing \textbf{PADIO}, then \textbf{CORNER}, followed by manual derivation of \textbf{PADVDD} and \textbf{PADGND}, and a tapeout and exhaustive test of the testchip. This may require multiple iterations to have the performance and robustness against ESD optimized. Then, manual derivation of \textbf{PADIN}, \textbf{PADOUT}, \textbf{PADOD}, \textbf{PADPT} and \textbf{PADNC} may follow. Due to the one-off nature of the design (it shall not be modified by the user unless extensive validation is performed on its behalf), the approach of creating and distributing an algorithm only, that generates the cells automatically, is not recommended. + +The description of these pad cells are provided in the following sections. + +\subsection{\textbf{CORNER} Corner cell for padring formation} + +This cell does not contain active circuitry. It is intended to form a continuous padring by connecting the ends of the prependicular rows of cells at the outer corners of the chip. + +\begin{center} + \includegraphics[width=\textwidth]{CORNER} + Simplified layout of \textbf{CORNER} cell +\end{center} + +\subsection{\textbf{PADIO} Bidirectional digital pad} + +This cell is a bidirectional digital pad, and also the design basis for most of the other cells. The cell can be subdivided into three parts: the actual bonding pad, the output stage transistors that also double as ESD supressor devices, and the input and control circuitry. + +\begin{center} + \includegraphics[width=\textwidth]{PADIO_cross} + Simplified cross-sectional layout of \textbf{PADIO} cell +\end{center} + +\begin{center} + \includegraphics[width=\textwidth]{PADIO_schematic} + Schematic of \textbf{PADIO} cell +\end{center} + +The bonding pad is implemented as three metal plates on the three metal layers of LS1U. They are connected togerther by an array of vias in a chessboard-like structure. This ensures that the top metal layer is mechanically anchored to the underlying LTO layer, and will not delaminate during bonding and encapsulation. + +The output stage transistors are surrounded by a double guardring to prevent latch-up if the pin is overloaded while the chip is biased. During characteristization, this guardring may be removed. The outer guardrings also act as the substrate connection of the input and control circuitry transistors. + +\subsection{\textbf{PADPT} Pass-trough pad for analog applications} + +This cell is intended to provide transparent connection to the pad for analog signals, while providing ESD protection for the circuits behind it. It is derived from \textbf{PADIO}, by removing input stage, output driver stage, and configuring both ESD transistors as GGNMOS/GGPMOS. + +\begin{center} + \includegraphics[width=\textwidth]{PADPT_schematic} + Schematic of \textbf{PADPT} cell +\end{center} + +\subsection{\textbf{PADNC} Dummy pad} + +This cell does not contain active circuitry. It is intended as a placeholder to avoid interruption of the row of pad cells if no pad is desired at the given location, or if the pad is intended to be left unconnected. It is derived from \textbf{PADPT}, by means of removing ESD transistors. + +\subsection{\textbf{PADGND} Ground (negative supply) connection} + +This cell is intended to provide ground connection for the chip, including connection to the ground buses of the padring. It is derived from \textbf{PADPT} by removing the n-channel GGNMOS and shorting the pad connection to the ground bus via MET1-MET2 vias. + Schematic of \textbf{PADPT} cell + +\begin{center} + \includegraphics[width=\textwidth]{PADGND_schematic} + Schematic of \textbf{PADGND} cell +\end{center} + +\subsection{\textbf{PADVDD} Positive supply connection} + +This cell is intended to provide positive supply connection for the chip, including connection to the supply buses of the padring. It is derived from \textbf{PADPT} by removing the p-channel GGPMOS and shorting the pad connection to the supply bus via MET1-MET2 vias. + +\begin{center} + \includegraphics[width=\textwidth]{PADVDD_schematic} + Schematic of \textbf{PADVDD} cell +\end{center} + +\begin{center} + \includegraphics[width=\textwidth]{PADsupply_cross} + Simplified cross-sectional layout of \textbf{PADVDD} and \textbf{PADGND} cells +\end{center} + +\subsection{\textbf{PADOUT} Digital output} + +This cell is a digital output. It is derived from \textbf{PADIO} by by shorting \textsc{OE} pin to \textsc{VDD} internally. + +\begin{center} + \includegraphics[width=\textwidth]{PADOUT_schematic} + Schematic of \textbf{PADOUT} cell +\end{center} + +\subsection{\textbf{PADIN} Digital input} + +This cell is a digital input. It is derived from \textbf{PADIO} by by shorting \textsc{OE} pin to \textsc{GND} internally. + +\begin{center} + \includegraphics[width=\textwidth]{PADIN_schematic} + Schematic of \textbf{PADIN} cell +\end{center} + +\subsection{\textbf{PADOD} Open-drain output} + +This cell is a digital open-drain output. It is derived from \textbf{PADIO} by by shorting \textsc{DOUT} pin to \textsc{GND} internally. + +\begin{center} + \includegraphics[width=\textwidth]{PADOD_schematic} + Schematic of \textbf{PADOD} cell +\end{center} + +\section{ESD protection concept} + +The basic principle of the ESD design is to provide a sufficiently low impedance path between any two of the pins of the IC. When used correctly, a padring formed from this library implements a chip-level ESD protection network similar to the one described in [1] 5.4.2.. Each electrically connected non-power pad has two ESD supressor devices: one GGNMOS to \textsc{GND} and one GGPMOS to \textsc{VDD}. These provide protection in case of pin-pin, pin-\textsc{GND} and pin-\textsc{VDD} discharges. The \textsc{VDD} and \textsc{GND} rings are designed to have sufficiently low impedance. To provide protection against \textsc{VDD}-\textsc{GND} discharges, a power clamp implemented as parallel-connected GGPMOS and GGNMOS devices is distributed along all \textbf{PADVDD} and \textbf{PADGND} cells. The current design goal for the ESD protection is to withstand a load equivalent to a 1KV HBM event. According to experience, this rating, altrough low, is sufficient to survive handling in both industrial mass-production and hobbyist environments with reasonable safety when sufficient ESD protection measures are in place. In later design iterations of the library, this rating may be increased as needed or possible. + +\begin{center} + \includegraphics[width=\textwidth]{ESD_concept} + Chip-level ESD protection concept +\end{center} + +The core part of pin-level ESD protection design is the low-side GGNMOS device that is also used as output transistor where needed. The high-side GGPMOS is derived from it by inverting the doping of the respective regions. The GGNMOS is implemented as a multi-finger structure, with individual fingers having an artificially increased resistance in the drain in order to ensure that the lowest voltage drop yielding to sufficiently high current to cause thermal failure is higher than the highest triggering voltage within the array. This increased impedance is then compensated by connecting multiple fingers in parallel, thus reducing the current trough individual fingers, and consequentially, the overall voltage drop. In the initial design, the resistance is increased by lenghtening the drain diffusion and introducing a portion that is masked by a nitride strip during silicide formation. In the possession of detailed fault analysis results after ESD zapping tests, the dimensioning of these geometries may be optimized in an iterative process. A feature of the GGNMOS structure is that it is formed using the same layers and doping concentrations that are used to form the core logic, ensuring the correlation between the triggering voltage of the GGNMOS and the junction breakdown voltage of core logic transistors. + +It is assumed that the n+/pwell and p+/nwell breakdown voltages are lower than the gate oxide breakdown voltage (design target for oxide is 40V), therefore no secondary protection stage is neccessary at CMOS inputs. + +\section{Validation and characteristization plan} + +In order to validate the pad design from functional and ESD point of view, an 8-pin test chip layout is suggested. This chip is expected to be processed as an ordinary chip (sawn, mounted and bonded to a carrier, either CERDIP, PDIP or PCB). For samples intended for ESD stress test, CERDIP or uncoated PCB is recommended to enable post-test failure analysis. The chip schematic and layout is shown below: + +\begin{center} + \includegraphics[width=\textwidth]{test_chip} + Test chip for validation +\end{center} + +Pins 4 and 8 are the power supply and ground connections, respectively. The \textbf{PADIO} cell of pin 3 is the DUT (device under test) for most of the tests, with all signals accessible. Pads 5,6 and 7 are used to connect to \textsc{OE}, \textsc{DOUT} and \textsc{DIN} signals of the DUT. Pins 1 and 2 are intended solely for the injection coupling test. It is recommended to carry out the tests on as many samples as possible, and process th results statistically. + +\section{Characteristization, functional validation} + +The DUT is intended to perform the functional verification of the design (input, output, tristate functions), and parameter characteristization for the most important attributes, like supply voltage range, input levels, output levels under various loads, propagation delays, dynamic power consumption, input capacitance and leakage, output leakage, etc. In order to take into accoutnt the changes made to the library and testing concept during development, the actual test specification shall be written after the first samples are available and the scope of validation is defined. + +\section{Injection coupling test} + +Injection coupling is a parasitic effect in which, when a current is injected into a pin of a chip with a regular pad layout, the leakage of the physically adjacent pins increase significantly. This can occour, for example, when a digital signal is coupled from an off-chip 5V domain into an on-chip 3V domain using a resistor, relying on the parasitic diode of the pin to clamp the voltage. Another situation of concern is in safety-critical automotive applications, where a controlled functional state must be maintained even in the event of a catastrophic failure, that may result in the 12V supply network being coupled to a low-voltage signal on the PCB. This test is intended to verify the susceptibility of the DUT for this condition. The proposed test setup is shown on the figure below: + +\begin{center} + \includegraphics[width=\textwidth]{injection} + Scheme of injection coupling test +\end{center} + +Pin 3 is set up as an input and it is pulled low via a high resistance (min. 100K). A disturber current of up to 10mA is injected into pin 2, and the level on pin 7 is monitored. The leakage of pin 3 is also monitored. Then, the test is repeated by pulling pin 3 high and injecting negative current into pin 2. It is also recommended to repeat the test with pins 2 and 3 swapping roles. As pass/fail criteria, the level at the DIN signal of the disturbed (non-injected) cell shall not change from the level set by the pullup/pulldown resistor. + +\section{ESD characteristization} + +In order to assess the effectiveness of the ESD protection network, multiple test chips shall be subjected to ESD zapping tests. The target is to reach at least 1KV ESDV rating for HBM. After the zapping tests, units failing under the targeted rating shall be subjected to extensive failure analysis to determine the root cause of the failures, and optimize the ESD design based on the results. In order to take into accoutnt the availablity of analysis methods and changes made to the library and testing concept during development, the actual test specification shall be written after the first samples are available and the infrastructure to be used for ESD testing and failure analysis is known. + +\section{Further improvements} + +Currently, the following possible but unadressed feature additions are considered: + +\begin{itemize} + \item Schmitt-triggers at input stages + \item Switchable weak pullup/pulldown transistors for input and bi-directional pads + \item Examine the possiblity of locating ESD transistors directly under the bonding pad, thus saving space + \item Add level shifters and more sophisticated supply and ESD protection schemes to allow for using multiple voltage domains + \item Integrate sealring into pad and corner layouts +\end{itemize} + +\section{References} + +[1]: Albert Z. H. Wang: On-chip ESD Protection for Integrated Circuits: An IC Design Perspective + +\end{document} diff --git a/Documentation/design_concept/CORNER.png b/Documentation/design_concept/CORNER.png new file mode 100644 index 0000000000000000000000000000000000000000..a8612d40d5ac02b51c3dec9e487db4324888ba5d Binary files /dev/null and b/Documentation/design_concept/CORNER.png differ diff --git a/Documentation/design_concept/ESD_concept.png b/Documentation/design_concept/ESD_concept.png new file mode 100644 index 0000000000000000000000000000000000000000..384455692b549b1dc3863af808c1602d9260ed9c Binary files /dev/null and b/Documentation/design_concept/ESD_concept.png differ diff --git a/Documentation/design_concept/PADGND_schematic.png b/Documentation/design_concept/PADGND_schematic.png new file mode 100644 index 0000000000000000000000000000000000000000..d11fd4a491213e9595b9ea791728f53435a6a320 Binary files /dev/null and b/Documentation/design_concept/PADGND_schematic.png differ diff --git a/Documentation/design_concept/PADIN_schematic.png b/Documentation/design_concept/PADIN_schematic.png new file mode 100644 index 0000000000000000000000000000000000000000..0085d27eb2d83713baebe068bbae7e502500632c Binary files /dev/null and b/Documentation/design_concept/PADIN_schematic.png differ diff --git a/Documentation/design_concept/PADIO_cross.png b/Documentation/design_concept/PADIO_cross.png new file mode 100644 index 0000000000000000000000000000000000000000..01edb9e31ddc35f282d06483f2de3a08cad90035 Binary files /dev/null and b/Documentation/design_concept/PADIO_cross.png differ diff --git a/Documentation/design_concept/PADIO_schematic.png b/Documentation/design_concept/PADIO_schematic.png new file mode 100644 index 0000000000000000000000000000000000000000..91e8dc19ab865d58b9e4ce67edb65c7634f0c249 Binary files /dev/null and b/Documentation/design_concept/PADIO_schematic.png differ diff --git a/Documentation/design_concept/PADOD_schematic.png b/Documentation/design_concept/PADOD_schematic.png new file mode 100644 index 0000000000000000000000000000000000000000..2a098ea0d08822ef0239f975f80d3c3641876bc7 Binary files /dev/null and b/Documentation/design_concept/PADOD_schematic.png differ diff --git a/Documentation/design_concept/PADOUT_schematic.png b/Documentation/design_concept/PADOUT_schematic.png new file mode 100644 index 0000000000000000000000000000000000000000..c4bc27d32636eed13afc5c4ef547884384be308a Binary files /dev/null and b/Documentation/design_concept/PADOUT_schematic.png differ diff --git a/Documentation/design_concept/PADPT_schematic.png b/Documentation/design_concept/PADPT_schematic.png new file mode 100644 index 0000000000000000000000000000000000000000..f25df76951a2bf590feb7a067a956355a7c9d25e Binary files /dev/null and b/Documentation/design_concept/PADPT_schematic.png differ diff --git a/Documentation/design_concept/PADTP_schematic.png b/Documentation/design_concept/PADTP_schematic.png new file mode 100644 index 0000000000000000000000000000000000000000..f25df76951a2bf590feb7a067a956355a7c9d25e Binary files /dev/null and b/Documentation/design_concept/PADTP_schematic.png differ diff --git a/Documentation/design_concept/PADVDD_schematic.png b/Documentation/design_concept/PADVDD_schematic.png new file mode 100644 index 0000000000000000000000000000000000000000..541e675a52248a641f02eaf567578149b0d9e9fb Binary files /dev/null and b/Documentation/design_concept/PADVDD_schematic.png differ diff --git a/Documentation/design_concept/PADsupply_cross.png b/Documentation/design_concept/PADsupply_cross.png new file mode 100644 index 0000000000000000000000000000000000000000..4c3decc3fdea0de11821c25f48a65a8466413413 Binary files /dev/null and b/Documentation/design_concept/PADsupply_cross.png differ diff --git a/Documentation/design_concept/injection.png b/Documentation/design_concept/injection.png new file mode 100644 index 0000000000000000000000000000000000000000..e4f1ef89ceb630e1b5cf6107fe5f67c152b7d145 Binary files /dev/null and b/Documentation/design_concept/injection.png differ diff --git a/Documentation/design_concept/test_chip.png b/Documentation/design_concept/test_chip.png new file mode 100644 index 0000000000000000000000000000000000000000..4baacbe6ee440fa33cdb362053a87f0c5d072d3a Binary files /dev/null and b/Documentation/design_concept/test_chip.png differ