\documentclass[pdf]{prosper}
\usepackage[toc,highlight,clifford,notes,hlsections]{HA-prosper}
\usepackage{graphicx}

\usepackage{svn}
\SVNdate $Date: 2008-09-15 20:56:58 +0200 (Mon, 15 Sep 2008) $

\title{Vom Transistor zum Gatter}
\subtitle{Einf\"uhrung in die CMOS-Elektronik}
\author{Clifford Wolf\\
\institution{ROCK Linux - \href{http://www.rocklinux.org/}{http://www.rocklinux.org/}}\\
\institution{Csync2 - \href{http://oss.linbit.com/csync2/}{http://oss.linbit.com/csync2/}}\\
\institution{STFL - \href{http://www.clifford.at/stfl/}{http://www.clifford.at/stfl/}} \\
\institution{SPL - \href{http://www.clifford.at/spl/}{http://www.clifford.at/spl/}}}

\DefaultTransition{Wipe}
\TitleSlideNav{FullScreen}
\NormalSlideNav{ShowBookmarks}
\LeftFoot{\href{http://www.clifford.at}{Clifford Wolf}, \today}
\RightFoot{\href{http://www.clifford.at/}{http://www.clifford.at/}}

\begin{document}

\maketitle

% ============================================================================

\tsectionandpart{Einleitung}

\begin{slide}{Analog vs. Digital}
\begin{itemize}

\item Digitalschaltungen kennen nur die Zust\"ande `0' und `1'.

\vspace*{0.5cm}

\item Diese Schaltungen bestehen aus Gattern und Speicherelementen.

\vspace*{0.5cm}

\item Diese Komponenten haben sehr einfache und \"uberschaubare Aufgaben.

\vspace*{0.5cm}

\item In einem sp\"ateren Vortrag wird gezeigt wie man aus diesen Komponenten
komplexe Schaltungen (CPUs, etc.) aufbauen kann.

\vspace*{0.5cm}

\item Die fundamentalen Digitalkomponenten bestehen aus analogen Schaltteilen.

\vspace*{0.5cm}

\item Wie das funktioniert behandelt dieser Vortrag.

\end{itemize}
\end{slide}


\begin{slide}{Gatter}
\begin{itemize}

\item Gatter haben mehrere Eing\"ange und einen Ausgang.

\vspace*{0.5cm}

\item Der Wert des Ausgangs h\"angt von den Werten der Eing\"ange ab.

\vspace*{0.5cm}

\item Die Gatter-Typen mit einem Eingang sind:
\begin{itemize}
\item NOT: liefert `1' wenn der Eingang `0' ist
\item Buffer: liefert `1' wenn der Eingang `1' ist
\end{itemize}

\vspace*{0.5cm}

\item Die wichtigsten Gatter-Typen mit mehreren Eing\"angen sind:
\begin{itemize}
\item AND: liefert `1' wenn alle Eing\"ange `1' sind
\item NAND: liefert `0' wenn alle Eing\"ange `1' sind
\item OR: liefert `1' wenn mindestens ein Eingang `1' ist
\item NOR: liefert `0' wenn mindestens ein Eingang `1' ist
\item XOR: liefert `1' wenn eine ungerade Anzahl von Eing\"angen `1' ist
\end{itemize}

\end{itemize}
\end{slide}


\begin{slide}{Gattersymbole}
\includegraphics[scale=0.8]{gatesymbols.eps}
\end{slide}


\begin{slide}{Speicher}
\begin{itemize}

\item Speicherelemente (aka Register) speichern Werte.

\vspace*{0.5cm}

\item D-Latches haben einen Daten- und einen Enable-Eingang.
\begin{itemize}
\item Der Wert vom Daten-Eingang wird \"ubernommen wenn der
Enable-Eingang auf `1' ist.
\end{itemize}

\vspace*{0.5cm}

\item D-FlipFlops haben einen Daten- und einen Clock-Eingang.
\begin{itemize}
\item Der Wert vom Daten-Eingang wird \"ubernommen wenn der
Clock-Eingang von `0' auf `1' geht.
\end{itemize}

\vspace*{0.5cm}

\item SR-Latches haben einen Set- und einen Reset-Eingang.
\begin{itemize}
\item Der Wert vom Daten-Eingang wird auf `1' gesetzt wenn der
Set-Eingang auf `1' ist.
\item Der Wert vom Daten-Eingang wird auf `0' gesetzt wenn der
Reset-Eingang auf `1' ist.
\end{itemize}

\end{itemize}
\end{slide}


\begin{slide}{Speichersymbole}
\includegraphics[scale=0.8]{regsymbols.eps}
\end{slide}

% ============================================================================

\tsectionandpart{Elektrische Grundlagen}


\begin{slide}{Kraft und Energie}
\begin{itemize}

\item Kraft (engl. {\it force}, Formelzeichen: $F$)
\begin{itemize}
\item Einheit: Newton ($N$)
\item $1N$ entspricht etwa der Gewichtskraft von $102g$ auf Meeresh\"ohe
\end{itemize}

\vspace*{0.5cm}

\item Energie (engl. {\it energy}, Formelzeichen: $E$)
\begin{itemize}
\item Einheit: Joule ($J$)
\item $1J = 1Nm$
\end{itemize}

\end{itemize}
\end{slide}


\begin{slide}{Ladung}
\begin{itemize}

\item Ladung (engl. {\it charge}, Formelzeichen: $Q$)
\begin{itemize}
\item Einheit: Coulomb ($C$)
\item Ladung eines Elektrons: $-1.60219 \cdot 10^{-19} C$
\item $1C = 1As = 1FV$
\end{itemize}

\vspace*{0.5cm}

\item Alle anderen elektrischen Gr\"ossen lassen sich als Beziehungen
von Ladung, Energie und Zeit ausdr\"ucken.

\end{itemize}
\end{slide}


\begin{slide}{Stromst\"arke}
\begin{itemize}

\item Stromst\"arke (engl. {\it current}, Formelzeichen: $I$)
\begin{itemize}
\item Einheit: Ampere ($A$)
\item $1A = 1C/s$
\end{itemize}

\vspace*{0.5cm}

\item Die Stromst\"arke gibt an wie viel Ladung sich jede Sekunde durch
einen Leiter bewegt.
\item Fliesst kein Strom betr\"agt die Stromst\"arke also 0 Ampere.

\end{itemize}
\end{slide}


\begin{slide}{Potential und Spannung}
\begin{itemize}

\item Spannung (engl. {\it voltage}, Formelzeichen: $U$ bzw. $V$)
\item Spannung = Potentialdifferenz
\begin{itemize}
\item Einheit: Volt ($V$)
\item $1V = 1 J/C$
\end{itemize}

\vspace*{0.5cm}

\item Vergleich: Wenn die Ladung der Menge eines Gases entspricht, so
entspricht das Potential dem Druck, unter dem dieses Gas steht.

\vspace*{0.5cm}

\item Wo Ladung ist gibt es auch ein Potential.
\item Zwischen zwei unterschiedlichen Potentialen liegt Spannung.
\item Es muss kein Strom fliessen damit diese Spannung da ist.
\item Je gr\"osser die Spannung desto mehr Energie tr\"agt jedes Coulomb der Ladungen.

\end{itemize}
\end{slide}


\begin{slide}{Pole und Masse}
\begin{itemize}

\item Zwei Orte zwischen denen eine Potentialdifferenz herrscht (Spannung
liegt) heissen Pole.

\vspace*{0.5cm}

\item Der relativ zum anderen positiver geladene Pol heisst
Plus-Pol ($+$-Pol), der andere Minus-Pol ($-$-Pol).

\vspace*{0.5cm}

\item Da sich Potential alleine nicht bemerkbar macht und nicht messbar ist, sondern man immer eine Potentialdifferenz braucht, ist ein Bezugspunkt notwendig.
\item Dieser Bezugspunkt wird Masse genannt.

\vspace*{0.5cm}

\item In den meisten Schaltungen wird der Minus-Pol als Masse benutzt.
\item Das ist aber nur Konvention und es gibt auch Schaltungen in denen der
Plus-Pol als Masse verwendet wird.

\end{itemize}
\end{slide}


\begin{slide}{Leistung}
\begin{itemize}

\item Leistung (engl. {\it power}, Formelzeichen: $P$)
\begin{itemize}
\item Einheit: Watt ($W$)
\item $1W = 1 VA$
\end{itemize}

\vspace*{0.5cm}

\item Leistung \"uber einen Zeitraum ist Energie.
\item Eine Wattsekunde entspricht einem Joule.

\end{itemize}
\end{slide}


\begin{slide}{Widerstand und Leitwert}
\begin{itemize}

\item Widerstand (engl. {\it impedance}, Formelzeichen: $R$)
\begin{itemize}
\item Einheit: Ohm ($\Omega$)
\item $1\Omega = 1V/A$
\end{itemize}

\vspace*{0.5cm}

\item Leitwert (engl. {\it conductance}, Formelzeichen: $G$)
\item Der Leitwert ist der Kehrwert des Widerstandes
\begin{itemize}
\item Einheit: Siemens ($S$)
\item $1S = 1A/V$
\end{itemize}

\vspace*{0.5cm}

\item Der Widerstand gibt an wie viel Strom bei einer gewissen Spannung durch
einen Leiter fliessen kann.

\vspace*{0.5cm}

\item Je mehr Spannung desto mehr Strom kann ``gegen den Wiederstand'' durch
den Leiter ``gepresst'' werden.

\vspace*{0.5cm}

\item Jedes elektrische Bauteil besitzt einen Widerstand.

\end{itemize}
\end{slide}


\begin{slide}{Widerst\"ande in Reihe und Parallel}
\begin{itemize}

\item Hintereinander (``in Reihe'' oder auch ``in Serie'') geschaltete Bauteile addieren ihre Widerst\"ande auf:

\vspace*{0.3cm}
\item $R_{\rm ges} = R_1 + R_2 + \dots + R_n$

\vspace*{1.5cm}

\item Parallel geschaltete Bauteile addieren ihre Leitwerte auf:

\vspace*{0.3cm}
\item $G_{\rm ges} = G_1 + G_2 + \dots + G_n$

\vspace*{0.3cm}
\item $R_{\rm ges}=R_1 \Vert R_2 \Vert \dots \Vert R_n$

\vspace*{0.3cm}
\item ${1\over R_{\rm ges}} = {1\over R_1} + {1\over R_2} + \dots + {1\over R_n}$

\vspace*{0.3cm}
\item $R_{\rm ges} = {1\over {1\over R_1} + {1\over R_2} + \dots + {1\over R_n}}$

\end{itemize}
\end{slide}


\begin{slide}{Potential in einer Widerstandskette}
\begin{itemize}

\item Eine Schaltung besteht aus parallel und/oder in Serie geschalteten
Bauteilen, die die Pole einer Spannungsquelle miteinander verbinden.

\vspace*{0.3cm}
\item Jedes dieser Bauteile hat einen Widerstand.

\vspace*{0.3cm}
\item Entlang jedes Pfades in der Schaltung vom Plus-Pol der Spannungsquelle
zum Minus-Pol der Spannungsquelle nimmt das Potential direkt proportional
zum zur\"uckgelegten Widerstand ab.

\vspace*{0.5cm}
\item F\"ur jede Schaltung mit der Spannung $U_{\rm e}$ zwischen den Polen der
Spannungsquelle gilt f\"ur jeden Punkt in der Schaltung mit dem Widerstand
$R_1$ zum Plus-Pol sowie dem Widerstand $R_2$ zum Minus-Pol f\"ur die Spannung
$U_{\rm a}$ zum Minus-Pol:

\vspace*{0.3cm}
$U_{\rm a} = U_{\rm e} \cdot {{R_2}\over{R_1+R_2}}$

\end{itemize}
\end{slide}


\begin{slide}{Kapazit\"at}
\begin{itemize}

\item Kapazit\"at (engl. {\it capacitance}, Formelzeichen: $C$)
\begin{itemize}
\item Einheit: Farad ($F$)
\item $1F = 1C/V$
\end{itemize}

\vspace*{0.5cm}

\item Manche Bauteile k\"onnen Ladung speichern.
\item Das ``Speichervolumen'' wird Kapazit\"at genannt.

\vspace*{0.5cm}

\item Bei gleicher Kapazit\"at kann bei doppelter Spannung doppelt so viel
Ladung gespeichert werden.

\end{itemize}
\end{slide}


\begin{slide}{Schaltsymbole}
\includegraphics[scale=0.8]{schem_basic.eps}
\end{slide}

% ============================================================================

\tsectionandpart{Halbleiter}


\begin{slide}{Leiter und Halbleiter}
\begin{itemize}

\item Ein Leiter ist ein Material in dem Strom fliessen kann.

\vspace*{0.5cm}

\item D. h. eine Gitterstruktur aufweist in der sich Ladungstr\"ager frei bewegen k\"onnen.

\vspace*{0.5cm}

\item Diese Ladungstr\"ager k\"onnen sein:
\begin{itemize}
\item {\it Elektronen}: Die negativ geladenen Elementarteilchen.
\item {\it L\"ocher}: Freie Pl\"atze in den ausseren Elektronenschalen der Atome des Leiters.
\end{itemize}

\vspace*{0.5cm}

\item Ein Material in dem grunds\"atzlich Strom fliessen k\"onnte, in dem aber
keine freien Ladungstr\"ager vorhanden sind, nennt man Halbleiter.

\vspace*{0.2cm}

\item Ohne zus\"atzliche Ver\"anderungen sind Halbleiter bei Zimmertemperatur
Nichtleiter.

\end{itemize}
\end{slide}


\begin{slide}{Stromrichtung}
\begin{itemize}

\item Wenn Strom fliesst tauschen st\"andig Elektronen und L\"ocher Platz.

\vspace*{0.5cm}

\item So gesehen fliesst Strom nicht von einer zur anderen Richtung.
\item Sondern:
\begin{itemize}
\item Elektronen fliessen vom Minus-Pol zum Plus-Pol.
\item L\"ocher fliessen vom Plus-Pol zum Minus-Pol.
\end{itemize}

\vspace*{0.5cm}

\item Der Fluss der L\"ocher wird ``Technische Stromrichtung'' genannt.
\item Der Fluss der Elektronen wird ``Physikalische Stromrichtung'' genannt.

\vspace*{0.5cm}

\item Elektronische Schaltsymbole orientieren sich meistens an der technischen Stromrichtung.

\end{itemize}
\end{slide}


\begin{slide}{P- und N-Dotierungen (1/2)}
\begin{itemize}

\item Halbleiter k\"onnen leitend gemacht werden indem man andere Elemente in
sie einbringt die freie Ladungstr\"ager mitbringen.

\item Diesen Vorgang nennt man ``dotieren''.

\vspace*{0.5cm}

\item Werden Elemente mit freien Elektronen eingebracht nennt man den
Halbleiter N-dotiert.
\item ``N'' da die Elektronen negative Ladungstr\"ager sind.
\item Elemente mit freien Elektronen werden ``Donatoren'' genannt.

\vspace*{0.5cm}

\item Werden Elemente mit freien L\"ochern eingebracht nennt man den
Halbleiter P-dotiert.
\item ``P'' da die L\"ocher positive Ladungstr\"ager sind.
\item Elemente mit freien L\"ochern werden ``Akzeptoren'' genannt.

\end{itemize}
\end{slide}


\begin{slide}{P- und N-Dotierungen (2/2)}
\begin{itemize}

\item F\"ur die Dotierung werden nur sehr wenige Donatoren bzw. Akzeptoren
eingebracht:
\begin{itemize}
\item N-dotiert: 1 Donator auf $10^7$ Si-Atome
\item P-dotiert: 1 Akzeptor auf $10^6$ Si-Atome
\end{itemize}

\vspace*{0.5cm}

\item Neben den ``normal'' dotierten Halbleitern gibt es auch noch
besonders stark dotierte Halbleiter:
\begin{itemize}
\item N+-dotiert: 1 Donator auf $10^4$ Si-Atome
\item P+-dotiert: 1 Akzeptor auf $10^4$ Si-Atome
\end{itemize}

\vspace*{0.5cm}

\item Auch dotierte Halbleiter sind elektrisch neutral geladen.
\item Der Buchstabe gibt lediglich den Typ der freien Ladungstr\"ager an.

\end{itemize}
\end{slide}


\begin{slide}{P-N-\"Ubergang}
\begin{itemize}

\item Liegen in einem Halbleiter P- und N-dotierte Bereiche nebeneinander
so entsteht ein P-N-\"Ubergang.

\vspace*{0.5cm}

\item In der direkten N\"ahe eines solchen P-N-\"Ubergangs wandern die
L\"ocher aus dem P-Bereich in den N-Bereich und die Elektronen aus dem
N-Bereich in den P-Bereich.
\item Dieser Effekt wird Diffusion genannt.

\vspace*{0.5cm}

\item Dieser Vorgang endet automatisch wenn eine bestimmte Spannung erreicht ist.
\item Bei Silizium mit typischen Dotierungen: bei 0.6-0.7 Volt

\vspace*{0.5cm}

\item Damit heben sich entlang des P-N-\"Ubergangs die leitende Effekte der
Dotierungen gegenseitig auf.
\item Den entstandenen nichtleitenden Bereich nennt man Verarmungszone,
Raumladungszone oder Sperrschicht.

\end{itemize}
\end{slide}


\begin{slide}{Dioden}
\begin{itemize}

\item Dioden sind Bauelemente die Strom nur in einer Richtung durchlassen.
\item Dioden bestehen im Wesentlichen aus einem P-N-\"Ubergang.

\vspace*{0.5cm}

\item Wenn Plus an der P-Seite und Minus an der N-Seite anliegen:
\begin{itemize}
\item transportiert der Strom freie Ladungstr\"ager in die Sperrschicht.
\item Die Sperrschicht wird kleiner und verschwindet.
\item Die Diode ist leitend.
\end{itemize}

\vspace*{0.5cm}

\item Wenn Plus and der N-Seite und Minus an der P-Seite anliegen:
\begin{itemize}
\item transportiert der Strom freie Ladungstr\"ager aus der Sperrschicht
heraus und vergr\"ossert diese.
\item Die Diode sperrt.
\end{itemize}

\end{itemize}
\end{slide}


\begin{slide}{BiPolar-Transistoren}
\begin{itemize}

\item Bipolartransistoren haben drei Anschl\"usse: Emitter, Basis und Kollektor


\vspace*{0.5cm}

\item NPN Transistoren leiten Strom vom Kollektor zum Emitter wenn ein
Steuerstrom von der Basis zum Emitter fliesst.

\vspace*{0.5cm}

\item PNP Transistoren leiten Strom vom Emitter zum Kollektor wenn ein
Steuerstrom vom Emitter zur Basis fliesst.

\vspace*{0.5cm}

\item Schematischer Aufbau eines NPN Transistors: \\
\includegraphics[scale=0.5]{npnbipol.eps}

\end{itemize}
\end{slide}


\begin{slide}{Feldeffekt-Transistoren (1/2)}
\begin{itemize}

\item Feldeffekt Transistoren (FET, MOSFET, manchmal auch nur kurz MOS) haben
vier Anschl\"usse: Source, Drain, Gate und Bulk
\item Die Anschl\"usse Source und Drain sind im Grunde austauschbar.
\item Oft werden Bulk und Source intern miteinander verbunden und als ein
Anschluss behandelt.

\vspace*{0.5cm}

\item nMOSFET (n-Kanal-MOSFET):
\begin{itemize}
\item Leitet ein niedriges Potential zwischen Source und Drain
\item wenn am Gate ein hohes Potential anliegt
\end{itemize}

\vspace*{0.5cm}

\item pMOSFET (p-Kanal-MOSFET):
\begin{itemize}
\item Leitet ein hohes Potential zwischen Source und Drain
\item wenn am Gate ein niedriges Potential anliegt
\end{itemize}

\end{itemize}
\end{slide}


\begin{slide}{Feldeffekt-Transistoren (2/2)}
\begin{itemize}

\item Gate und Bulk eines MOSFETs bilden einen Kondensator.

\vspace*{0.5cm}

\item Daher fliesst \"uber Gate nur Strom wenn der MOSFET schaltet und
der Kondensator ge- oder entladen wird.

\vspace*{0.5cm}

\item Schematischer Aufbau eines nMOS-Transistors: \\
\includegraphics[scale=0.5]{nmosfet.eps}

\end{itemize}
\end{slide}


\begin{slide}{Schaltsymbole}
\includegraphics[scale=0.7]{schem_halbleiter.eps}
\end{slide}

% ============================================================================

\tsectionandpart{CMOS Grundlagen}

\begin{slide}{Transfer Gates}
\begin{itemize}

\item MOSFETs sind keine ``echten Schalter'' denn:
\begin{itemize}
\item nMOSFETs k\"onnen nur niedriges Potential leiten
\item pMOSFETs k\"onnen nur hohes Potential leiten
\end{itemize}

\vspace*{0.5cm}

\item Aus der Kombination von nMOSFET und pMOSFET kann man einen
``echten Schalter'' bauen.

\vspace*{0.5cm}

\item Dabei braucht man das Steuersignal zus\"atzlich auch invertiert
f\"ur den nMOSFET.

\vspace*{0.5cm}

\item Eine solche Konstruktion nennt man ``Transfer Gate''.

\end{itemize}
\end{slide}


\begin{slide}{Pull-Up/Pull-Down}
\begin{itemize}

\item Ein CMOS-Logikelement erzeugt in Abh\"angigkeit seiner Eingangssignale ein
Ausgangssignal mit hohem oder niedrigem Potential. 

\vspace*{0.5cm}

\item Dazu wird mit pMOSFETs ein ``Pull-Up-Pfad'' konstruiert der bei
entsprechenden Eingangssignalen das hohe Versorgungspotential (Vdd) mit dem
Ausgang kurzschliesst.

\vspace*{0.5cm}

\item Und mit nMOSFETs wird ein ``Pull-Down-Pfad'' konstruiert der bei
ensprechenden Eingangssignalen das niedrige Versorgungspotential (Masse)
mit dem Ausgang kurzschliesst.

\vspace*{0.5cm}

\item Manchmal m\"ussen daf\"ur Eingangssignale erst invertiert werden.

\end{itemize}
\end{slide}


\begin{slide}{nMOS und Pseudo-nMOS}
\begin{itemize}

\item In der sogenannten ``nMOS-Technologie'' wird statt eines
Pull-Up-Pfades ein Widerstand gegen Vdd verwendet.

\vspace*{0.5cm}

\item Dadurch werden weniger Transistoren f\"ur die Realisierung eines Gatters
ben\"otigt.

\vspace*{0.5cm}

\item Daf\"ur fliesst bei aktivem Pull-Down-Pfad st\"andig Strom durch die
Schaltung.

\vspace*{0.5cm}

\item nMOS-Technologie wird heute nur in speziellen Einzelf\"allen angewandt.

\vspace*{0.5cm}

\item In ``Pseudo-nMOS-Technologie'' wird der Widerstand durch ein st\"andig
offenes pMOSFET mit besonders langem Gate realisiert.

\end{itemize}
\end{slide}


\begin{slide}{Inverting Buffer}
\begin{itemize}

\item Der Inverting Buffer ist die einfachste CMOS Schaltung.
\item Einen nicht-invertierenden CMOS Buffer gibt es nicht.

\vspace*{0.5cm}

\item Viele komplexere Logikschaltungen benutzen Inverter an den Ein-
beziehungsweise Ausg\"angen (z.Bsp. XOR).

\end{itemize}

\vspace*{0.5cm}
\includegraphics[scale=0.5]{cmos_inv.eps}
\end{slide}

\begin{slide}{NAND Gatter}
\includegraphics[scale=0.5]{cmos_nand.eps}
\end{slide}

\begin{slide}{XOR Gatter}
\includegraphics[scale=0.4]{cmos_xor.eps}
\end{slide}

\begin{slide}{Dual-Rail Logic}
\begin{itemize}

\item Manche Schaltungen (z.Bsp. Latches und FlipFlops) liefern automatisch
auch ein invertiertes Ausgangssignal.

\vspace*{0.5cm}

\item Oft wird der invertierte Wert eines Signals von mehreren Schaltungen
als Eingangssignal ben\"otigt.

\vspace*{0.5cm}

\item In diesen F\"allen kann es sinnvoll sein statt einer Signalleitung
zwei zu verwenden. \\
(Mit dem invertierten Signal auf der zweiten Leitung.)

\vspace*{0.5cm}

\item Das nennt man dann ``Dual-Rail Logic''.

\vspace*{1cm}

\item Daher kann z.Bsp. ein XOR Gatter manchmal 8, manchmal 10 und
manchmal 12 Transistoren in der Implementierung ben\"otigen.

\end{itemize}
\end{slide}

% ============================================================================

\tsectionandpart{Busse und Multiplexer}

\begin{slide}{Multiplexer}
\begin{itemize}

\item Multiplexer \"ubernehmen in Abh\"angigkeit von ihrem ``Select''-Eingang
den Wert eines ihrer Daten-Eing\"ange auf ihren Ausgang.

\vspace*{0.5cm}

\item Multiplexer k\"onnen aus kombinatorischer Logik oder aus Transfer-Gates
aufgebaut werden.

\end{itemize}

\vspace*{0.5cm}
\includegraphics[scale=0.4]{mux2to1.eps}
\end{slide}


\begin{slide}{Busse}
\begin{itemize}

\item Ein Bus ist eine Datenleitung auf die von mehreren Seiten
aus ``geschrieben'' werden kann.

\vspace*{0.5cm}

\item Dabei darf zu einem Zeitpunkt maximal ein Busteilnehmer gleichzeitig
auf den Bus ``schreiben''.

\vspace*{0.5cm}

\item Es k\"onnen zu jeden Zeitpunkt beliebig viele Busteilnehmer
gleichzeitig von dem Bus ``lesen''.

\end{itemize}
\end{slide}


\begin{slide}{Tristate-Treiber}
\begin{itemize}

\item Zum ``Schreiben'' auf Busse werden Tristate-Treiber verwendet.

\vspace*{0.5cm}

\item Ein Tristate-Treiber kennt drei verschiedene Zust\"ande:
\begin{itemize}
\item High: Der Bus wird mit Vdd kurzgeschlossen
\item Low: Der Bus wird mit Masse kurzgeschlossen
\item Hochohmig: Der Bus wird von Vdd und Masse isoliert
\end{itemize}

\vspace*{0.5cm}

\item Zu jedem Zeitpunkt darf sich maximal ein an einen Bus angeschlossener
Tristate-Treiber in einem nicht-hochohmigen Zustand befinden.

\end{itemize}
\end{slide}


\begin{slide}{Pros und Kontras}
\begin{itemize}

\item Busse brauchen weniger Logik und weniger Routingressourcen als
Multiplexer.

\vspace*{0.5cm}

\item Multiplexer besitzen keine verbotenen Zust\"ande.
\item Busse sind anf\"allig f\"ur Clock-Raceconditions.
\item Busse k\"onnen nicht mit Buffer verst\"arkt werden.

\vspace*{0.5cm}

\item Speziell im SoC Bereich mit hohen Taktraten werden h\"aufiger Multiplexer
eingesetzt.

\vspace*{0.5cm}

\item Ausserhalb von Chips und im niedriger getakteten Bereich \"uberwiegen
h\"aufig die Vorteile von Bussen.

\end{itemize}
\end{slide}

% ============================================================================

\tsectionandpart{Speicherschaltungen}

\begin{slide}{D-Latch}
\begin{itemize}

\item Das D-Latch ist die einfachste CMOS Speicherschaltung.

\vspace*{0.5cm}

\item Es hat einen Daten- und einen Enable-Eingang sowie einen Daten-Ausgang.

\vspace*{0.5cm}

\item Solang Enable auf High ist wird der Wert vom Daten-Eingang auf den
Ausgang durchgeschleift.

\vspace*{0.5cm}

\item Geht Enable auf Low wird der letzte Wert des Daten-Eingangs in der
stabilen R\"uckkopplung zweier Inverter gespeichert und der Zustand des
Daten-Ausgangs bleibt unver\"andert.

\end{itemize}
\end{slide}


\begin{slide}{D-FlipFlop}
\begin{itemize}

\item Ein Latch ist pegelgesteuert und \"ubernimmt den Eingangswert solange
der Enable-Eingang auf High ist.

\vspace*{0.5cm}

\item Ein FlipFlop ist flankengesteuert und \"ubernimmt den Eingangswert in
dem Augenblick in dem der Takteingang von Low auf High wechselt.

\vspace*{0.5cm}

\item Ein FlipFlop wird \"uber die Kaskade von zwei Latches realisiert.

\end{itemize}
\end{slide}


\begin{slide}{SRAM und DRAM}
\begin{itemize}

\item SRAM und DRAM sind Speichertechnologien f\"ur grosse Arrays von
Speicherzellen.

\vspace*{0.2cm}

\item Bei SRAM und DRAM ist der Ressourcenverbrauch pro Bit geringer als bei
Latches, daf\"ur ben\"otigen sie eine komplexere Peripherie zur Ansteuerung.

\vspace*{0.2cm}

\item Damit sind sie f\"ur die Implementierung einzelner Speicherbits
ungeeignet.

\vspace*{0.5cm}

\item SRAM-Zellen benutzen wie Latches eine stabile R\"uckkopplung und ben\"otigen
lediglich zum Lesen und Schreiben eine besondere Peripherie.

\vspace*{0.5cm}

\item DRAM-Zellen benutzen Kondensatoren zum Speichern der Information in Form von Ladung und ben\"otigen regelm\"assige Refreshes.

\end{itemize}
\end{slide}


\begin{slide}{FLASH}
\begin{itemize}

\item FLASH ist eine nicht-fl\"uchtige Speichertechnologie.

\vspace*{0.4cm}

\item FLASH-Speicher werden \"uber ein in $SiO_2$ eingeschlossenes ``Floating
Gate'' implementiert in dem eine Ladung f\"ur lange Zeit ``eingeschlossen''
bleibt.

\vspace*{0.4cm}

\item Bei geladenem Floating Gate wird der entsprechende MOSFET leitend.
Dieser Zustand bleibt dauerhaft (bis zum Entladen des Floating Gates)
erhalten.

\vspace*{0.4cm}

\item Zum Programmieren und L\"oschen werden Spannungen von etwa 20 Volt
verwendet, die ausreichen um durch die $SiO_2$ H\"ulle durchzutunneln.

\vspace*{0.4cm}

\item Da zum L\"oschen der Bulk-Anschluss verwendet wird, den sich viele
Transistoren teilen, kann nur blockweise gel\"oscht werden.

\end{itemize}
\end{slide}

% ============================================================================

\tsectionandpart{Clocks und Clock-Routing}

\begin{slide}{Buffering (1/2)}
\begin{itemize}

\item Es gibt kaum ein Signal mit so vielen Readern wie es bei der Clock der
Fall ist.

\vspace*{0.5cm}

\item Da jedes MOSFET-Gate ein kleiner Kondensator ist ist sehr viel Strom in
der Clock notwendig um sie alle gleichzeitig mit steilen Flanken zu schalten.

\vspace*{0.5cm}

\item Deshalb ist die Clock technisch auch nicht ein Signal sondern wird sehr
oft mit Buffern (zwei Invertern hintereinander) aufgefrischt.

\end{itemize}
\end{slide}


\begin{slide}{Buffering (2/2)}
\includegraphics[bb=60 40 100 100,scale=0.45,angle=-90]{qucs_buffer.ps}
\end{slide}


\begin{slide}{Race Conditions}
\begin{itemize}

\item Wegen des Bufferings und des komplexen Signalrouting kommt die Clock
nicht \"uberall gleichzeitig an.

\vspace*{0.5cm}

\item \"Ahnlich wie in der Programmierung mit mehreren Threads kann es zu
Race-Conditions kommen.

\vspace*{0.5cm}

\item Also Umst\"ande unter denen zwei Signale ``um die Wette rennen''.

\vspace*{0.5cm}

\item Je nachdem welches Signal schneller ist zeigt die Schaltung
unterschiedliches Verhalten.

\vspace*{0.5cm}

\item Das ist sehr schlecht und meistens extrem schwierig zu debuggen.

\end{itemize}
\end{slide}


\begin{slide}{Clock vs. Signal}
\begin{itemize}

\item Um Race-Conditions zu vermeiden wird die Clock meistens gegen die
Signalrichtung geroutet.

\vspace*{0.5cm}

\item Da sich dann Datensignale und Clock entgegengesetzt ausbreiten sind
Race-Conditions unm\"oglich.

\vspace*{0.5cm}

\item Daf\"ur ist aber eine eingehende Analyse der Richtung des Signalflusses
notwendig.

\vspace*{0.5cm}

\item Eine solche Analyse geht meistens nicht vollautomatisiert und oft sind
nicht genug Design-Ressourcen daf\"ur vorhanden.

\end{itemize}
\end{slide}

\begin{slide}{Clock-Distribution-Netze}
\begin{itemize}

\item Clock-Distribution Netze stellen durch raffiniertes Routing sicher,
dass die Signallaufzeit vom Takteingang am Chip-Geh\"ause zu allen
``Verbrauchern'' exakt gleich lang ist.

\vspace*{0.5cm}

\item Diese Anforderung kann zum Beispiel mit fraktalen B\"aumen mit den
``Verbrauchern'' an den Bl\"attern erf\"ullt werden.

\vspace*{0.5cm}

\item Eine Delay-Schaltung am Takteingang verschiebt die Phase des Taktes so,
dass bei den ``Verbrauchern'' der Takt synchron mit dem Takteingang am
Chip-Geh\"ause ankommt.

\vspace*{0.5cm}

\item Clock-Distribution-Netze sind ressourcenintensiv aber erleichtern die
Designphase erheblich. Daher sind sie vor allem in FPGAs sehr beliebt.

\end{itemize}
\end{slide}


\begin{slide}{Zweiphasen-Clock}
\begin{itemize}

\item Bei der Zweiphasen-Clock werden statt einer Clock-Leitung zwei
Clock-Leitungen benutzt.

\vspace*{0.5cm}

\item Bei den FlipFlops steuert eine Clock-Leitung das erste und die andere
Clock-Leitung das zweite Latch.

\vspace*{0.5cm}

\item Ein Store wir statt mit einer Aufw\"artsflanke \"uber zwei Pulse
implementiert.

\vspace*{0.5cm}

\item Beim ersten Puls \"ubernimmt das FlipFlop intern den neuen Wert und beim
zweiten Puls schaltet das Flipflop den neuen Wert durch.

\end{itemize}
\end{slide}

% ============================================================================

\tsectionandpart{CMOS-Fertigungsprozess}

\begin{slide}{Gr\"ossenordungen}
\begin{itemize}

\item Allein 2002 wurden weltweit etwa 1 Trillion \\
($1.000.000.000.000.000.000 = 10^{18}$) Transistoren hergestellt.

\vspace*{0.5cm}

\item Der Intel Itanium 2 Montecito hat $1,72$ Milliarden
Transistoren auf $596 {\rm mm}^2$.

\vspace*{0.5cm}

\item SRAM hat 6 Transistoren pro Bit plus der Lookup-Logik. \\
\item $1$ Gigabyte SRAM $=$ \"uber $50$ Milliarden Transistoren

\vspace*{0.5cm}

\item So viele Transistoren werden nicht ``einer nach dem anderen''
hergestellt.

\vspace*{1.0cm}

\item Q\"ullen: \\
http://www.heise.de/newsticker/meldung/34415 \\
http://de.wikipedia.org/wiki/Intel\_Itanium\_2

\end{itemize}
\end{slide}


\begin{slide}{Photolithographie}
\begin{itemize}

\item Photolithographie = ``Mit Licht in Stein schreiben''

\vspace*{0.5cm}

\item Ein Photolack wird aufgetragen und durch Belichtung
teilweise wieder entfernt.

\vspace*{0.5cm}

\item Danach wird ein Bearbeitungsschritt angewendet der nur auf dem nicht durch
den Lack gesch\"utzten Bereich wirksam ist.

\vspace*{0.5cm}

\item Meistens ist das ein Weg\"atzen der unter dem Lack liegenden Schicht.

\vspace*{0.5cm}

\item Am Schluss wird der Lack wieder vollst\"andig entfernt.

\end{itemize}
\end{slide}


\begin{slide}{Maskentechnik}
\begin{itemize}

\item F\"ur die Photolithographie werden Photomasken im
Masstab 5:1 oder 10:1 benutzt.

\vspace*{0.5cm}

\item Eine Maske belichtet in der Regel nur wenige ${\rm cm}^2$ und der Waver
wird beim Belichten in einem Raster abgefahren.

\vspace*{0.5cm}

\item F\"ur jeden Bearbeitungsschritt gibt es eine eigene Maske.

\vspace*{0.5cm}

\item Moderne CMOS-Prozesse erfordern gut 10 Masken und mehr in einem Set.

\vspace*{0.5cm}

\item Manche High-End Prozesse kommen auf \"uber 30 Masken in einem Set.

\vspace*{0.5cm}

\item Die Herstellung dieser Masken ist extrem teuer. \\
Gr\"ossenordnung: $100.000,-$ USD pro Maske

\end{itemize}
\end{slide}


\begin{slide}{Schichtenaufbau}
\begin{itemize}

\item Ein Microchip ist aus mehreren Schichten aufgebaut:

\vspace*{0.5cm}

\item P-Substrat
\begin{itemize}
\item N-Wannen
\item P+-Diffusionen
\item N+-Diffusionen
\end{itemize}

\vspace*{0.5cm}

\item $SiO_2$-Schicht
\begin{itemize}
\item Besonders f\"ur MOSFET-Gates
\item L\"ocher mit Metallf\"ullung f\"ur Durchkontaktierungen
\end{itemize}

\vspace*{0.5cm}

\item Polysilizium-Leiterbahnen (dazwischen $SiO_2$)

\vspace*{0.5cm}

\item F\"ur jede Metallebene:
\begin{itemize}
\item $SiO_2$-Schicht mit Durchkontaktierungen
\item Metall-Leiterbahnen (dazwischen $SiO_2$)
\end{itemize}


\end{itemize}
\end{slide}


\begin{slide}{Dotieren der Wannen}
\begin{itemize}

\item Erstellen einer $SiO_2$-Schicht.

\vspace*{0.5cm}

\item Auftragen und Belichten von Photolack.

\vspace*{0.5cm}

\item Weg\"atzen des nicht durch Lack gesch\"utzten $SiO_2$.

\vspace*{0.5cm}

\item Entfernen des verbleibenden Photolacks.

\vspace*{0.5cm}

\item Dotieren durch Ionenimplantation. \\
(Nur auf Bereichen die nicht von $SiO_2$ verdeckt sind.)

\vspace*{0.5cm}

\item Weg\"atzen der $SiO_2$ Schicht.

\end{itemize}
\end{slide}


\begin{slide}{Poly-Ebene}
\begin{itemize}

\item Erzeugen einer d\"unnen $SiO_2$-Schicht.

\vspace*{0.5cm}

\item Erzeugen einer Schicht aus polychristallinem Silizium.

\vspace*{0.5cm}

\item Mittels Photolithographie und \"Atztechnik:
\begin{itemize}
\item Entfernen der Stellen die nicht Poly-Leiterbahnen sind.
\end{itemize}

\vspace*{1.0cm}

\item Polychristallines Silizium \"uberlebt die Hitze beim Dotieren
der N+ und P+ Diffusionen.

\vspace*{0.5cm}

\item Metall (Aluminium, Kupfer) hat diese Eigenschaft nicht.

\end{itemize}
\end{slide}


\begin{slide}{N+- und P+-Diffusionen}
\begin{itemize}

\item Erzeugen einer dicken $SiO_2$-Schicht.

\vspace*{0.5cm}

\item Mittels Photolithographie und \"Atztechnik:
\begin{itemize}
\item Entfernen der Stellen f\"ur Diffusionen inklusive Gates.
\item Dadurch gibt es einen nahtlosen \"Ubergang zwischen Gate und Source/Drain.
\end{itemize}

\vspace*{0.5cm}

\item Dotieren durch Ionenimplantation. \\
(Nur auf Bereichen die nicht von $SiO_2$ verdeckt sind.)

\vspace*{0.5cm}

\item Entfernen der verbleibenden $SiO_2$ Schicht.

\vspace*{1.0cm}

\item Der Name ``Diffusionen'' ist historisch bedingt da fr\"uher Diffusion zum
Dotieren benutzt wurde. Heute wird praktisch nur noch mit Ionenimplantation
gearbeitet.

\end{itemize}
\end{slide}


\begin{slide}{Metallebenen}
\begin{itemize}

\item Erzeugen einer dicken $SiO_2$-Schicht.

\vspace*{0.5cm}

\item Mittels Photolithographie und \"Atztechnik:
\begin{itemize}
\item Entfernen der Stellen f\"ur Durchkontaktierungen
\end{itemize}

\vspace*{0.5cm}

\item Auff\"ullen mit Metall

\vspace*{0.5cm}

\item Wiederholung f\"ur die eigentlichen Leiterbahnen.

\vspace*{0.5cm}

\item Weiter mit der n\"achsten Metallebene.

\end{itemize}
\end{slide}


\begin{slide}{CMP}
\begin{itemize}

\item CMP = ``Chemisch-mechanisches Polieren''

\vspace*{0.5cm}

\item Wird nach jedem Bearbeitungsschritt angewendet nach dem die
Waferoberfl\"ache theoretisch glatt sein m\"usste.

\vspace*{0.5cm}

\item Bei CMP wird ein Teil der Oberfl\"ache abgetragen und so die
Waferoberfl\"ache tats\"achlich glatt gemacht.

\vspace*{0.5cm}

\item Erst durch CMP sind die vielen Metallschichten moderner
CMOS-Prozesse m\"oglich.

\end{itemize}
\end{slide}


\begin{slide}{Kupfer}
\begin{itemize}

\item Fr\"uher sind die Metallebenen mit Aluminium implementiert worden.

\vspace*{0.5cm}

\item Heute wird immer \"ofter Kupfer eingesetzt.

\vspace*{0.5cm}

\item Kupfer ist ein viel besserer Leiter als Aluminium.

\vspace*{0.5cm}

\item Daf\"ur ist die Bearbeitung deutlich schwieriger.

\vspace*{0.5cm}

\item Im Kupferprozess werden die Oberfl\"achen der Leiterbahnen immer noch in
Aluminium ausgef\"uhrt.

\end{itemize}
\end{slide}

% ============================================================================

\tsectionandpart{CMOS-Design}

\begin{slide}{High-Level Designs}
\begin{itemize}

\item Zun\"achst wird in einer HDL (z.Bsp. Verilog HDL oder VHDL) das Verhalten
der Schaltung beschrieben.

\vspace*{0.5cm}

\item Als n\"achster Schritt werden, ebenfalls in der HDL, Testbenches zu der
Schaltung entwickelt.

\vspace*{0.5cm}

\item Danach werden schrittweise die Verhaltensbeschreibungen der Module durch
konkrete Implementierungen ersetzt.

\vspace*{0.5cm}

\item Am Ende dieses Prozesses steht eine Netzliste die Instanzen von
prozessabh\"angigen Librarymodulen (z.Bsp. Gatter, Speicherzellen oder
Transistoren) und ihre Verbindungen zueinander beschreibt.

\vspace*{0.5cm}

\item Wie weit dieser Prozess automatisiert, halbautomatisiert oder man\"ull
abl\"auft ist von vielen Faktoren abh\"angig.

\end{itemize}
\end{slide}


\begin{slide}{Maskenlayouts}
\begin{itemize}

\item Die Netzlisten enthalten keine Informationen \"uber die geometrische
Anordnung der Module.

\vspace*{0.5cm}

\item Diese wird erst beim Erstellen des Maskenlayouts festgelegt.

\vspace*{0.5cm}

\item Maskenlayouts werden halbautomatisiert in CAD-Programmen erstellt.

\vspace*{0.5cm}

\item Das g\"angigste Dateiformat f\"ur Maskenlayouts ist {\tt GDS II}.

\end{itemize}
\end{slide}


\begin{slide}{Design Rule Checking}
\begin{itemize}

\item Jeder CMOS-Prozess hat gewisse Design-Rules.

\vspace*{0.5cm}

\item Diese Design Rules betreffen haupts\"achlich Angaben zu minimalen
und maximalen Strukturgr\"ossen aller Art.

\vspace*{0.5cm}

\item Im Design Rule Checking (DRC) wird automatisiert gepr\"uft ob diese
Regeln in einem Maskenlayout eingehalten worden sind.

\end{itemize}
\end{slide}


\begin{slide}{Circuit-Extraction}
\begin{itemize}

\item Bei der Circuit-Extraction wird aus den fertigen Maskenlayouts wiederum
ein Schaltplan generiert.

\vspace*{0.5cm}

\item Dieser Schaltplan dient im Wesentlichen zwei Zwecken:
\begin{itemize}
\item \"Uberpr\"ufen, ob das Maskenlayout mit der Netzliste elektrisch
\"ubereinstimmt.
\item Simulationen des elektrischen Verhaltens einer Schaltung
\end{itemize}

\vspace*{0.5cm}

\item Die Circuit-Extraction liefert niemals eine exakte Beschreibung der
Schaltung:
\begin{itemize}
\item Z.Bsp. Spulen und Kondensatoren k\"onnen nur bedingt erkannt werden.
\item Es gibt immer durch den Fertigungsprozess bedingte Abweichungen.
\end{itemize}

\vspace*{0.5cm}

\item Professionelle Circuit-Extraction-Tools erlauben das Erstellen von
eigenen Regels\"atzen.

\end{itemize}
\end{slide}


\begin{slide}{Lambda-based Design-Rules}
\begin{itemize}

\item Ein $\lambda$ (Lambda) entspricht der halben minimalen L\"ange eines
MOSFET-Gates.

\vspace*{0.5cm}

\item Neben den Design-Rules mit absoluten Massangaben haben sich
Lambda-basierende Design-Rules bew\"ahrt.

\vspace*{0.5cm}

\item Diese haben den Vorteil mehr oder weniger skalierbar und ``portabel''
zu sein.

\vspace*{0.5cm}

\item Und den Nachteil nicht das letzte technische Machbare aus dem
verwendeten CMOS Prozess herauszuholen.

\vspace*{0.5cm}

\item Es gibt unterschiedliche Lambda-basierende Design-Rules.

\vspace*{0.5cm}

\item Die bekanntesten sind die MOSIS-Rules ``SCMOS'', ``SUBM'' sowie ``DEEP''.

\end{itemize}
\end{slide}


\begin{slide}{Standardzellenentwurf}
\begin{itemize}

\item Der Standardzellenentwurf ist ein beliebtes und einfaches
Entwurfsmuster f\"ur CMOS-Designs.

\vspace*{0.5cm}

\item Grundelemente (Gatter, etc.) werden als ``Standardzellen'' fertig zur
Verf\"ugung gestellt.

\vspace*{0.5cm}

\item Diese Standardzellen haben folgende Eigenschaften:
\begin{itemize}
\item Gleiche H\"ohe und variable Breite
\item An der Oberkante Vdd und an der Unterkante GND
\item In der oberen H\"alfte N-Dotierung, unten P-Dotierung
\end{itemize}

\vspace*{0.5cm}

\item Da alle Standardzellen gleich hoch sind kann man sie leicht zu Zeilen
anordnen.

\vspace*{0.5cm}

\item Zwischen den Zeilen wird ein Verdrahtungskanal variabler H\"ohe
freigelassen. 

\end{itemize}
\end{slide}


\begin{slide}{Makrozellenentwurf}
\begin{itemize}

\item Beim Makrozellenentwurf werden Funktionsbl\"ocke als rechteckige
Bereiche implementiert.

\vspace*{0.5cm}

\item Zwischen den Makrozellen werden Verdrahtungsbereiche freigelassen.

\vspace*{0.5cm}

\item Hier gibt es immer ein gewisses Henne-Ei-Problem zwischen
Floorplaning und Design der einzelnen Makrozellen.

\vspace*{0.5cm}

\item Einzelne Makrozellen k\"onnen selbst wiederum im Makrozellenentwurf
oder Standardzellenentwurf designed werden.

\end{itemize}
\end{slide}

% ============================================================================

\tsectionandpart{Wachstumsgesetze}

\begin{slide}{Mooresches Gesetz}
\begin{itemize}

\item Das Mooresche Gesetz sagt ein exponentielles Wachstum der Anzahl der
Transistoren pro Chip in High-End-Elektronik voraus.

\vspace*{0.5cm}

\item Seit der Formulierung 1965 hat sich dieses Gesetz bewahrheitet.

\vspace*{0.5cm}

\item Das Moorsche Gesetz trifft keine Aussage \"uber Performance oder
Integrationsdichte.

\vspace*{0.5cm}

\item Das Wachstum der Transistoren pro Chip betr\"agt etwa $58\%$ pro Jahr.

\end{itemize}
\end{slide}


\begin{slide}{Transistor pro Designermonat}
\begin{itemize}

\item Diese Schaltungen mit unglaublich vielen Transistoren m\"ussen auch
designed werden.

\vspace*{0.5cm}

\item Demnach gibt es auch eine Zahl von Transistoren pro Chipdesigner-Monat.

\vspace*{0.5cm}

\item Durch die stetige Verbesserung der EDA Software und Automatisierung des
Designprozesses ist auch dieses Wachstum exponentiell.

\vspace*{0.5cm}

\item Es betr\"agt aber nur etwa $21\%$ pro Jahr.

\vspace*{0.5cm}

\item Die Folge: Das Design von High-End-Elektronik ist mit exponentiell
wachsenden Kosten verbunden.

\end{itemize}
\end{slide}


\begin{slide}{Abf\"uhren von Verlustleistung}
\begin{itemize}

\item Ebenfalls ein wichtiger Wert ist die Menge der W\"armeenergie die
abgef\"uhrt werden kann.

\vspace*{0.5cm}

\item Hier hat sich zwar ge\"andert welche Technologien im End-User-Segment
\"ublich sind, aber die Grenze des technisch Machbaren ist gleich geblieben.

\vspace*{0.5cm}

\item Und der Strompreis steigt.

\end{itemize}
\end{slide}


\begin{slide}{Leistungsaufnahme}
\begin{itemize}

\item Bei der Leistungsaufnahme gab es von 1970 bis 2000 ein exponentielles
Wachstum.

\vspace*{0.5cm}

\item Seitdem hat sich die maximale Leistungsaufnahme eines Chips in der
Gegend von 100 Watt eingependelt.

\vspace*{0.5cm}

\item 1971: Intel 4004 in der Gegend von 0.1 bis 0.3 Watt.
\item 2002: Intel Itanium 2 McKinley: 130 Watt TDP.

\end{itemize}
\end{slide}

% ============================================================================

\tsectionandpart{Optimierungen}

\begin{slide}{Bedeutung von Verlustleistung}
\begin{itemize}

\item W\"ahrend des Betriebs eines Mikrochips fliesst Strom durch ihn hindurch.

\vspace*{0.5cm}

\item Die dabei freiwerdende Energie wird in W\"arme umgewandelt und heizt den
Mikrochip auf.

\vspace*{0.5cm}

\item Auf vielen Devices steht nur begrenzt elektrische Energie zur Verf\"ugung
und man kann die entstehende Hitze nur begrenzt abf\"uhren.

\vspace*{0.5cm}

\item Neben den offensichtlichen Critical-Path-Optimierungen ist die Reduktion
der Verlustleistung das h\"ochste Optimierungsziel in heutigen CMOS-Designs.

\end{itemize}
\end{slide}


\begin{slide}{Statische Verlustleistung}
\begin{itemize}

\item Die statische Verlustleistung kommt von dem Strom der durch eine
Schaltung fliesst auch wenn sich keine Gate-Zust\"ande \"andern.

\vspace*{0.5cm}

\item CMOS-Schaltungen haben kaum statische Verlustleistung.

\vspace*{0.5cm}

\item Z.Bsp. bei nMOS, Pseudo-nMOS und TTL macht sie
aber einen beachtlichen Teil der Verlustleistung aus.

\vspace*{0.5cm}

\item Auch in modernen CMOS-Designs befinden sich teilweise
Pseudo-nMOS-Schaltungen um die Anzahl der Transistoren zu veringern.

\vspace*{0.5cm}

\item Die statische Verlustleistung kann durch Verringerung der
Transistorenanzahl sowie durch Abschalten unbenutzter Teilschaltungen
verkleinert werden.

\end{itemize}
\end{slide}


\begin{slide}{Dynamische Verlustleistung}
\begin{itemize}

\item Die dynamische Verlustleistung entsteht beim \"Andern von Zust\"anden.

\vspace*{0.5cm}

\item Sie setzt sich aus zwei wesentlichen Teilen zusammen:
\begin{itemize}
\item Der Gate-Bulk-Kapazit\"at die beim Schalten geladen/entladen werden muss.
\item Dem Kurzschluss in der CMOS-Schaltung wenn Pull-Up und Pull-Down Pfad
leitend sind.
\end{itemize}

\vspace*{0.5cm}

\item Die dynamische Verlustleistung kann durch Reduktion der Taktfrequenz
verkleinert werden.

\vspace*{0.5cm}

\item Eine andere Form der Optimierung ist es, Designs mit weniger
Zustandswechseln pro Takt zu w\"ahlen.

\end{itemize}
\end{slide}

\begin{slide}{Parallel bei kleinerem Takt}
\begin{itemize}

\item Bei kleineren Taktraten sinkt die dynamische Verlustleistung.

\vspace*{0.5cm}

\item Und bei kleineren Taktraten m\"ussen die Transistoren weniger schnell
schalten wodurch mit kleineren Spannungen gearbeitet werden kann.

\vspace*{0.5cm}

\item Designs, die durch Paralelliesierung mit doppelter Chipgr\"osse und
halbem Takt arbeiten, haben deutlich kleinere Verlustleistungen.

\end{itemize}
\end{slide}


\begin{slide}{Gatebreiten und Fan-Outs}
\begin{itemize}

\item Die Leitf\"ahigkeit des Source-Drain-Kanals eines MOSFET ist direkt
proportional zur Breite des Gates.

\vspace*{0.5cm}

\item Ein Transistor, dessen Ausgang doppelt so viele Gates steuert, sollte
f\"ur die gleiche Schaltzeit also doppelt so breit sein.

\vspace*{0.5cm}

\item Durch ein doppelt so breites Gate verdoppelt sich aber auch die eigene
Gate-Bulk-Kapazit\"at.

\vspace*{0.5cm}

\item Eine Critical-Path-Analyse hilft dabei zu entscheiden wie breit welches
Gate sein sollte.

\vspace*{0.5cm}

\item Die Anzahl der Gatter-Eing\"ange die ein Gatter-Ausgang treiben kann
bezeichnet man als Fan-Out.

\end{itemize}
\end{slide}


\begin{slide}{Interconnects (1/2)}
\begin{itemize}

\item Mit h\"oherer Integrationsdichte wird die Optimierung von Interconnects
immer wichtiger.

\vspace*{0.5cm}

\item Bei kurzen Verbindungen sind die Interconnects zu vernachl\"assigen.

\vspace*{0.5cm}

\item Mit der extremen Leiterbahndichte moderner CMOS-Prozesse werden lange
Interconnects immer problematischer.

\vspace*{0.5cm}

\item Daher skaliert die effektive Leiterbahndichte nicht so gut wie die
Transistordichte.

\vspace*{0.5cm}

\item Moderne Designs sind im Interconnect-Segment overenginiered um sp\"ater
leichter auf neuere Prozesse portiert werden zu k\"onnen.

\end{itemize}
\end{slide}


\begin{slide}{Interconnects (2/2)}
\begin{itemize}

\item Die Probleme die bei Interconnects auftreten:
\begin{itemize}
\item Hoher Widerstand aufgrund kleiner Leiterdurchmesser
\item Kondensatorwirkung mit benachbarten Leiterbahnen aufgrund kleiner
Leiterbahnabst\"ande (Crosstalking)
\item Electromigration
\end{itemize}

\vspace*{0.4cm}

\item Gegenmassnahmen die getroffen werden k\"onnen:
\begin{itemize}
\item Dicke Leiter, grosse Abst\"ande und Shieldings
\item Symetische Signalf\"uhrung, Buffer und Booster
\end{itemize}

\vspace*{0.4cm}

\item Trotz computergest\"utzter Schaltungssynthese ist gutes Floorplaning
gerade in modernen Designs extrem wichtig. 

\vspace*{0.4cm}

\item Modernere Prozesse haben immer mehr Metallebenen.

\vspace*{0.4cm}

\item In heutigen CMOS-Prozessen haben h\"ohere Metallebenen eine geringere
Leiterbahndichte als niedrigere Ebenen.

\end{itemize}
\end{slide}


\begin{slide}{Anwendungsoptimierung}
\begin{itemize}

\item Bei Schaltungen die zwingend eine CPU (DSP, etc.) beinhalten liegt
das groesste Optimierungspotential bei der Software.

\vspace*{0.5cm}

\item Bei effektiverer Software ist es dann beispielsweise m\"oglich die
Taktrate zu senken.

\vspace*{0.5cm}

\item Ansonsten sollte man immer \"uberlegen ob z.Bsp. mit einer
Datapath-Pipeline das Problem auch in Hardware gel\"ost werden kann.

\vspace*{0.5cm}

\item Der Unterschied in Performance und Verlustleistung zwischen Hardware-
und Software-Implementierungen ist meist irrwitzig gross.

\end{itemize}
\end{slide}

% ============================================================================

\tsectionandpart{Simulationen}


\begin{slide}{Simulationen (1/2)}
\begin{itemize}

\item Der CMOS-Prozess ist langwierig und extrem teuer.

\vspace*{0.5cm}

\item Trial-and-Error ist in diesem Umfeld keine Option.

\vspace*{0.5cm}

\item Sowas wie ``Bananenchips'' gibt es nicht. \\
(In Anlehnung an ``Bananensoftware'' die den KundInnen reift.)

\vspace*{0.5cm}

\item Daher sind Simulationen eines der wichtigsten technischen Hilfsmittel
im modernen CMOS-Design.

\vspace*{0.5cm}

\item Simulationen ersetzen aber nicht Erfahrung und sorgf\"altige Planung.

\end{itemize}
\end{slide}


\begin{slide}{Simulationen (1/2)}
\begin{itemize}

\item F\"ur alle Simulationen gilt:
\begin{itemize}
\item Das Simulationsergebnis sollte sich mit einer Erwartung decken
\item Wenn nicht muss unbedingt verstanden werden warum
\item Trial-and-Error an einer Simulation ist eine schlechte Idee
\item GIGO: Garbage-In, Garbage-Out
\end{itemize}

\vspace*{0.5cm}

\item Man unterscheidet Simulationen auf unterschiedlichen Ebenen:
\begin{itemize}
\item Process Simulation
\item Circuit Simulation
\item Logic Simulation
\item Architecture Simulation
\end{itemize}

\vspace*{0.5cm}

\item In diesem Kontext am wichtigsten ist die Circuit Simulation.

\end{itemize}
\end{slide}


\begin{slide}{Software}
\begin{itemize}

\item F\"ur die Circuit-Simulation ist Hochleistungssoftware notwendig.

\vspace*{0.5cm}

\item Selbst die einfachsten Simulationsmodelle bestehen aus komplexen
nichtlinearen Differenzialgleichungen.

\vspace*{0.5cm}

\item Am beliebtesten sind Derivate von SPICE (z.Bsp. HSPICE und PSPICE).

\vspace*{0.5cm}

\item SPICE war urspr\"unglich BSD Software, inzwischen gibt es eine Vielzahl
von freien und propriet\"aren SPICE-Derivaten.

\end{itemize}
\end{slide}


\begin{slide}{SPICE-Decks}
\begin{itemize}

\item Die (zeilenbasierten) SPICE-Input-Files heissen ``Decks''.

\vspace*{0.5cm}

\item Jedoch gibt es eine Vielzahl von Kommandos, wodurch SPICE zu einer
sehr m\"achtigen Sprache wird.

\vspace*{0.5cm}

\item Im Wensentlichen definiert ein SPICE-Deck eine Netzliste mit
elektronischen Komponenten.

\vspace*{0.5cm}

\item Sowie Steueranweisungen zu Stimuli und Ausgabe.

\vspace*{0.5cm}

\item Es gibt Support f\"ur Include-Files und externe Libraries

\vspace*{0.5cm}

\item Oft werden Teile eines SPICE-Decks aus CAD-Applikationen heraus
generiert.

\end{itemize}
\end{slide}


\begin{slide}{SPICE Modelle}
\begin{itemize}

\item SPICE unterst\"utzt viele verschiedene Simulationsmodelle.

\vspace*{0.5cm}

\item Das wichtigste Model ist ``BSIM''.

\vspace*{0.5cm}

\item ``BSIM'' Version 3v3:
\begin{itemize}
\item \"Uber 100 Parameter
\item Die Gleichungssysteme f\"ullen 27 A4 Seiten
\end{itemize}

\vspace*{0.5cm}

\item ``BSIM'' Version 4:
\begin{itemize}
\item Unterst\"utzung f\"ur Gate-Leakage
\item Und anderer Effekte superd\"unner Gates
\end{itemize}

\end{itemize}
\end{slide}


\begin{slide}{Design Corners}
\begin{itemize}

\item Nicht alle baugleichen  Transistoren verhallten sich exakt gleich.

\vspace*{0.5cm}

\item Fertigungsbedingte Unterschiede sind bei benachbarten Transistoren
kleiner als zwischen unterschiedlichen Wafers.

\vspace*{0.5cm}

\item Damit gibt es nicht die ``eine g\"ultige'' Simulation f\"ur einen Chip.

\vspace*{0.5cm}

\item Die ``Design Corners'' geben einen Rahmen vor, in dem sich die
Unterschiede meistens bewegen.

\vspace*{0.5cm}

\item Innerhalb dieser ``Design Corners'' sind mehrere Simulationen
notwendig.

\end{itemize}
\end{slide}

% ============================================================================

\tsectionandpart{Referenzen}

\begin{slide}{MOSIS}
\begin{itemize}

\item MOSIS ist ein Low-Cost-Prototyping-Service f\"ur Microchips.

\vspace*{0.5cm}

\item Mehrere Kundinnen teilen sich ein Maskenset und reduzieren so die Preise
f\"ur die Maskenherstellung drastisch.

\vspace*{0.5cm}

\item Die verf\"ugbaren St\"uckzahlen bewegen sich von 40 bis etwa 2000 Chips.

\vspace*{0.5cm}

\item Eine Vielzahl unterschiedlicher CMOS Prozesse wird von MOSIS angeboten.

\vspace*{0.5cm}

\item Die Preise sind f\"ur die Bastlerin daheim immer noch zu hoch aber f\"ur
kleinere Betriebe durchaus leistbar.

\end{itemize}

\vspace*{0.5cm}

{\tt http://www.mosis.com/}

\end{slide}


\begin{slide}{Literatur}
\begin{itemize}

\item CMOS VLSI Design von Neil H.E. Weste \\
{\tt http://www.aw-bc.com/weste/} \\
ISBN-13: 978-0321149015

\vspace*{0.5cm}

\item Grundlagen der CMOS-Technologie von Thomas Giebel \\
ISBN-13: 978-3519003502

\vspace*{0.5cm}

\item Layoutsynthese elektronischer Schaltungen von Jens Lienig \\
{\tt http://www.ifte.de/lienig/layout/index.html} \\
ISBN-13: 978-3540296270

\end{itemize}
\end{slide}


\begin{slide}{Freie Software}
\begin{itemize}

\item SPICE \\
{\tt http://en.wikipedia.org/wiki/SPICE}

\vspace*{0.5cm}

\item Icarus Verilog \\
{\tt http://www.icarus.com/eda/verilog/}

\vspace*{0.5cm}

\item GTKWave \\
{\tt http://home.nc.rr.com/gtkwave/}

\vspace*{0.5cm}

\item Qucs \\
{\tt http://qucs.sourceforge.net/}

\vspace*{0.5cm}

\item GNU Electric \\
{\tt http://www.gnu.org/software/electric/}

\end{itemize}
\end{slide}


\begin{slide}{Webpages}
\begin{itemize}

\item Metalab HDL Hackers \\
{\tt http://metalab.at/wiki/HDL\_Hackers}

\vspace*{0.5cm}

\item Halbleitertechnologie von A bis Z \\
{\tt http://www.halbleiter.org/}

\vspace*{0.5cm}

\item Wikipedia Halbleiter Portal \\
{\tt http://de.wikipedia.org/wiki/Portal:Halbleiter}

\end{itemize}
\end{slide}


\begin{slide}{Diese Pr\"asentation}
\begin{itemize}

\item Cliffords Tools \\
{\tt http://svn.clifford.at/tools/trunk/}

\vspace*{1cm}

\item Clifford Wolf \\
{\tt http://www.clifford.at/}

\vspace*{0.5cm}

\item Weitere Pr\"asentationen \\
{\tt http://www.clifford.at/papers/}

\vspace*{0.5cm}

\item Diese Pr\"asentation \\
{\tt http://www.clifford.at/papers/2007/cmosbasics/}

\end{itemize}
\end{slide}

% ============================================================================

\end{document}

