Beruflich Dokumente
Kultur Dokumente
Cmos
Cmos
G. Kemnitz · Institut für Informatik, TU Clausthal (EDS_F5) 12. Juli 2023 1/135
Inhalt F5: Vom Transistor zur Schaltung
3.1 Speicherzellen
Gatterentwurf
3.2 Latches
1.1 MOS-Transistoren als Schalter
3.3 Register
1.2 FCMOS-Gatter
3.4 Taktversorgung
1.3 Deaktivierbare Treiber
Blockspeicher
1.4 Transfergatter und Multiplexer
4.1 SRAM
1.5 Geometrischer Entwurf
4.2 Mehrport- und Assoziativsp.
Signalverzögerung 4.3 DRAM
2.1 Inverter 4.4 Festwertspeicher
2.2 Logikgatter Programmierbare
2.3 Puffer Logikschaltkreise
Latches und Register Schaltungsentwurf mit FPGAs
G. Kemnitz · Institut für Informatik, TU Clausthal (EDS_F5) 12. Juli 2023 2/135
Logikschaltungen dürfen nicht kompliziert sein
Um die heutigen digitalen Schaltkreise entwerfen und produzieren zu
können, darf von den Millionen von Transistoren und Leitungen je Chip
im Mittel ≤ 1 fehlerhaft sein oder ausfallen. Erreicht wird das durch
einen hohen Automatisierungsgrad beim Entwurf und der
Fertigung,
Schaltelemente mit langer Lebensdauer, ...
einfache Schaltungen.
Tatsache
Digitale Grundschaltungen sind einfach aufgebaut, zu verstehen und
zu Systemen zu verschalten.
G. Kemnitz · Institut für Informatik, TU Clausthal (EDS_F5) 12. Juli 2023 3/135
Schaltelemente – historische Sicht
Als Schaltelemente dienten historisch gesehen nacheinander:
Relais (elektromagnetische Schalter): groß, großer
Stromverbrauch, langsam, geringe Lebensdauer.
Elektroröhren: schneller, aber immer noch groß, großer
Stromverbrauch, geringe Lebensdauer.
Bipolartransistoren: schneller, kleiner wesentlich langlebiger und
wesentlich geringerer Stromverbrauch.
MOS-Transistor: ps bis ns Verzögerung, extrem niedriger
Stromverbrauch je Operation, hohe Integrationsdichte.
G. Kemnitz · Institut für Informatik, TU Clausthal (EDS_F5) 12. Juli 2023 4/135
1. Gatterentwurf
Gatterentwurf
G. Kemnitz · Institut für Informatik, TU Clausthal (EDS_F5) 12. Juli 2023 5/135
1. Gatterentwurf 1. MOS-Transistoren als Schalter
G. Kemnitz · Institut für Informatik, TU Clausthal (EDS_F5) 12. Juli 2023 6/135
1. Gatterentwurf 1. MOS-Transistoren als Schalter
G. Kemnitz · Institut für Informatik, TU Clausthal (EDS_F5) 12. Juli 2023 7/135
1. Gatterentwurf 1. MOS-Transistoren als Schalter
Ein NMOS-Transistor schaltet bei einer ’1’ (hoher Spannung) am Gate
ein und ein PMOS-Transistor bei ’0’ (niedriger Spannung) am Gate ein,
d.h. er invertiert.
Transistorschalter Schaltsymbol Funktion
komplett vereinfacht
High-Side-Schalter S UV S G S→D
(PMOS-Transistor) G G 0 1
1 0
D D
Low-Side-Schalter D D G S→D
(NMOS-Transistor) G G 0 0
1 1
S S
G. Kemnitz · Institut für Informatik, TU Clausthal (EDS_F5) 12. Juli 2023 8/135
1. Gatterentwurf 1. MOS-Transistoren als Schalter
Anschlüsse:
p+ n+ n+ p+ p+ n+
S Source
p n G Gate
NMOS-Transistor PMOS-Transistor D Drain
B Bulk
Halbleitergebiete:
p positive bewegliche Ladungsträger Isolator (SiO2 )
n negative bewegliche Ladungsträger Leiter (Polysilizium)
...+ hohe Dichte
G. Kemnitz · Institut für Informatik, TU Clausthal (EDS_F5) 12. Juli 2023 9/135
1. Gatterentwurf 1. MOS-Transistoren als Schalter
NMOS-Transistoren bestehen aus einem schwach p-leitfähigen Bulk
mit eingebrachten stark n-leitfähigen Source- und Drain-Gebieten und
einem stark p-leitfähigem Gebiet für den Bulk-Anschluss. Über dem
Kanal zwischen dem Source- und dem Drain-Gebiet befindet sich
isoliert durch eine dünne SiO2 -Schicht der Steueranschluss das Gate.
Ein PMOS-Transistor ist genauso aufgebaut, nur sind n- und
p-Leitfähigkeit vertauscht.
B S G D D G S B
p+ n+ n+ p+ p+ n+
p n
G. Kemnitz · Institut für Informatik, TU Clausthal (EDS_F5) 12. Juli 2023 10/135
1. Gatterentwurf 1. MOS-Transistoren als Schalter
Feldeffekt (NMOS-Transistor)
Mit dem Bulk an Masse sind die pn-Übergänge von den n-leitfähigen
Source- und Drain-Gebieten zum p-leitfähigen Bulk gesperrt. Die
Gate-Isolator-Halbleiter-Struktur bildet einen Plattenkondensator. Bei
einer schwach positiven Gate-Spannung UG kleiner der
Einschaltspannung Uth (Eingabe null) driften die p-Ladungen unter
dem Gate weg und hinterlassen ortsfeste negative Ladungen. Die
pn-Übergänge zu Source und Drain bleiben gesperrt. Die
Drain-Source-Verbindung ist ausgeschaltet.
ρ
G 0
S D
G. Kemnitz · Institut für Informatik, TU Clausthal (EDS_F5) 12. Juli 2023 11/135
1. Gatterentwurf 1. MOS-Transistoren als Schalter
Bei einer großen Gate-Spannung Ug > Uth (Eingabe eins) lädt sich der
Kanal unter dem Gate soweit negativ auf, dass die beweglichen
Elektronen vom Source1 in den Kanal diffundieren. Es bildet sich eine
n-leitfähige vom Bulk isolierte Verbindung vom Source zum Drain.
ρ
G 0
S D
UG ≥ Uth n+ n+
Verarmungsschicht z
p-Substrat Inversionsschicht
den beiden Kanalanschlüssen beim NMOS-Transistor der mit dem niedrigeren und beim
PMOS-Transistor der mit dem höheren Potential. Source und Drain können während des
Betriebs ihre Rollen tauschen.
G. Kemnitz · Institut für Informatik, TU Clausthal (EDS_F5) 12. Juli 2023 12/135
1. Gatterentwurf 1. MOS-Transistoren als Schalter
Der CMOS-Inverter
x y
x y
Masse S G D D G S UV (log. 1)
(log. 0) B B
UV
p+ n+ n+ p+ p+ n+
x y
p n
G. Kemnitz · Institut für Informatik, TU Clausthal (EDS_F5) 12. Juli 2023 13/135
1. Gatterentwurf 1. MOS-Transistoren als Schalter
Schaltermodell
Transistorschalter Schaltsymbol Funktion
komplett vereinfacht
High-Side-Schalter S UV S G S→D
(PMOS-Transistor) G G 0 1
1 0
D D
Low-Side-Schalter D D G S→D
(NMOS-Transistor) G G 0 0
1 1
S S
Mit der Festlegung, dass null klein oder aus und eins groß oder ein
bedeutet, schaltet ein NMOS-Transistor die Verbindung zu Masse
nichtinvertierend und ein PMOS-Transistor die Verbindung zur
Versorgungsspannung UV invertierend.
G. Kemnitz · Institut für Informatik, TU Clausthal (EDS_F5) 12. Juli 2023 14/135
1. Gatterentwurf 1. MOS-Transistoren als Schalter
Geschaltete Transistornetzwerke
NMOS-Netzwerk PMOS-Netzwerk
Struktur Funktion Struktur Funktion
Reihenschaltung x1 x2 x1 x2
x1 ∧ x2 x̄1 ∧ x̄2
Parallelschaltung
x1 x2 x1 ∨ x2 x1 x2 x̄1 ∨ x̄2
gemischte
Reihen- und x3 (x1 ∨ x2 ) ∧ x3 x3 (x̄1 ∨ x̄2 ) ∧ x̄3
Parallelschaltung x1 x2 x1 x2
G. Kemnitz · Institut für Informatik, TU Clausthal (EDS_F5) 12. Juli 2023 15/135
1. Gatterentwurf 1. MOS-Transistoren als Schalter
Der Gatterausgang kann entweder mit eins (UV ), mit null (Masse)
verbunden oder isoliert sein (’Z’, hochohmig). Ein hochohmiges Signal
speichert seinen Wert in der Lastkapazität und wird nach kurzer Zeit
ungültig (Wert unvorhersagbar). Null und eins setzen sich gegenüber
’Z’ durch. Gleichzeitig null und eins ist nur kurzzeitig während der
Schaltvorgänge erlaubt.
G. Kemnitz · Institut für Informatik, TU Clausthal (EDS_F5) 12. Juli 2023 16/135
1. Gatterentwurf 1. MOS-Transistoren als Schalter
NOR-Gatter
UV 1
x1 x̄1 ∧ x̄2 x2 x1 fp fn yp yn y
x2 yp
yp 0 0 1 0 1 Z 1
y
y yn 0 1 0 1 Z 0 0
yn 1 0 0 1 Z 0 0
x1 ∨ x2 1 1 0 1 Z 0 0
x1 x2
0
G. Kemnitz · Institut für Informatik, TU Clausthal (EDS_F5) 12. Juli 2023 17/135
1. Gatterentwurf 1. MOS-Transistoren als Schalter
Tatsache
Der Entwurf frei strukturierter Gatter erfolgt nach einfachen logischen
Regeln.
G. Kemnitz · Institut für Informatik, TU Clausthal (EDS_F5) 12. Juli 2023 18/135
1. Gatterentwurf 2. FCMOS-Gatter
FCMOS-Gatter
G. Kemnitz · Institut für Informatik, TU Clausthal (EDS_F5) 12. Juli 2023 19/135
1. Gatterentwurf 2. FCMOS-Gatter
FCMOS-Gatter
FCMOS bedeutet vollständig komplementär (Full Complementary).
Der Ausgang ist stationär immer entweder mit ’1’ oder ’0’ verbunden:
UV fn (x) fp (x) y
fp (x)
0 0 hochohmig
x = (. . . , x1 , x0 ) y 0 1 1
fn (x) 1 0 0
1 1 verboten
Die Funktion des PMOS-Netzwerks fp (x) ist identisch mit der des
Gatters f (x) und die Funktion des NMOS-Netzwerks fn (x) ist die
negierte Funktion davon:
fn (x) = f¯ (x)
fp (x) = f (x)
G. Kemnitz · Institut für Informatik, TU Clausthal (EDS_F5) 12. Juli 2023 20/135
1. Gatterentwurf 2. FCMOS-Gatter
Schaltsymbol Transistorschaltung
UV
x y x y
fn = x
fp = x̄
G. Kemnitz · Institut für Informatik, TU Clausthal (EDS_F5) 12. Juli 2023 21/135
1. Gatterentwurf 2. FCMOS-Gatter
y (x) = x1 x2
NMOS-Netzwerk: Umformung doppelte Negation. Aus UND wird eine
Reihenschaltung.
fn (x) = x1 x2 = x1 x2
PMOS-Netzwerk: Umformung mit der De Morganschen Regel. Aus
ODER wird eine Parallelschaltung.
fp (x) = x1 x2 = x̄1 ∨ x̄2
UV
x1 x2
y
x1
x2
G. Kemnitz · Institut für Informatik, TU Clausthal (EDS_F5) 12. Juli 2023 22/135
1. Gatterentwurf 2. FCMOS-Gatter
NOR-Gatter UV
x1
y (x) = x1 ∨ x2 x2
fn (x) = x1 ∨ x2 y
fp (x) = x̄1 x̄2
Komplexgatter: UV
x1 x2
x3 x4
y
y (x) = x1 x2 ∨ x3 x4 x1 x3
fn (x) = x1 x2 ∨ x3 x4 x2 x4
fp (x) = (x̄1 ∨ x̄2 ) (x̄3 ∨ x̄4 )
G. Kemnitz · Institut für Informatik, TU Clausthal (EDS_F5) 12. Juli 2023 23/135
1. Gatterentwurf 2. FCMOS-Gatter
Jede Variable in den Ausdrücken von fn und fp kostet einen Transistor.
Vor der Nachbildung durch Transistornetzwerke ist die Anzahl der
Variablen in den Ausdrücken entsprechend zu minimieren. Beispiele:
y = (x1 x2 x3 ) ∨ x1 ∨ x2 = x1 ∨ x2
y = x1 x2 ∨ x1 x3 ∨ x2 x3 = x1 (x2 ∨ x3 ) ∨ x2 x3
Mit einem FCMOS-Gatter sind die Funktionen aller negierten
Ausdrücke aus UND- und ODER-Verknüpfungen nachbildbar. Andere
Funktionen benötigen zur Nachbildung mehrere Gatter oder
zusätzliche Inverter für die zu invertierenden Ein- und
Ausgangssignale.
y = x1 ∨ x2 y = x̄1 x2 y = x1 x2 x3
x1
x1 x1 &
≥1 y & y x2 & y
x2 x2
x3
G. Kemnitz · Institut für Informatik, TU Clausthal (EDS_F5) 12. Juli 2023 24/135
1. Gatterentwurf 2. FCMOS-Gatter
EXOR-Gatter
1-Bit-Addition unter Vernachlässigung des Übertrags:
y = x1 ⊕ x2
y = 0 wenn x1 = x2 : UV UV
x1
x2 x̄1
fn = x1 ⊕ x2 x̄2
= x1 x2 ∨ x̄2 x̄1
UV
x2 x̄2
y = 1 wenn x1 ̸= x2 : x̄1 x1
y
x2 x̄2
fp = x1 ⊕ x2
x1 x̄1
= x̄1 x2 ∨ x1 x̄2
G. Kemnitz · Institut für Informatik, TU Clausthal (EDS_F5) 12. Juli 2023 25/135
1. Gatterentwurf 3. Deaktivierbare Treiber
Deaktivierbare Treiber
G. Kemnitz · Institut für Informatik, TU Clausthal (EDS_F5) 12. Juli 2023 26/135
1. Gatterentwurf 3. Deaktivierbare Treiber
Deaktivierbare Treiber
yA
Quelle A yA wA1 wA2 Z
yB yB Z wB1 wB2
Quelle B y
y wA1 wA1 wB1 wB2
Signalwert ungültig
t
Treiber inaktiv
G. Kemnitz · Institut für Informatik, TU Clausthal (EDS_F5) 12. Juli 2023 27/135
1. Gatterentwurf 3. Deaktivierbare Treiber
UV UV Schaltsymbol
x E fp fn y
Ē E ∧ x̄
0 0 0 0 Z x y
y y
0 1 1 0 1 E
x E∧x 1 0 0 0 Z
E 1 1 0 1 0
fp = E ∧ x̄
fn = E∧x
Das PMOS-Netzwerk benötigt das invertierte Freigabesignal Ē.
Bereitstellung mit einem zusätzlichen Inverter.
G. Kemnitz · Institut für Informatik, TU Clausthal (EDS_F5) 12. Juli 2023 28/135
1. Gatterentwurf 3. Deaktivierbare Treiber
G. Kemnitz · Institut für Informatik, TU Clausthal (EDS_F5) 12. Juli 2023 29/135
1. Gatterentwurf 3. Deaktivierbare Treiber
G. Kemnitz · Institut für Informatik, TU Clausthal (EDS_F5) 12. Juli 2023 30/135
1. Gatterentwurf 3. Deaktivierbare Treiber
CL z Z
Element 0
z y 1
0
T = 0: aufladen.
T = 1: nur entladen, wenn yn = 0.
Pull-Up-Element ersetzt Reihenschaltung aus n Transistoren.
Nachteil: Taktsignal erforderlich, verkürztes Gültigkeitsfenster.
G. Kemnitz · Institut für Informatik, TU Clausthal (EDS_F5) 12. Juli 2023 31/135
1. Gatterentwurf 3. Deaktivierbare Treiber
G. Kemnitz · Institut für Informatik, TU Clausthal (EDS_F5) 12. Juli 2023 32/135
1. Gatterentwurf 4. Transfergatter und Multiplexer
G. Kemnitz · Institut für Informatik, TU Clausthal (EDS_F5) 12. Juli 2023 33/135
1. Gatterentwurf 4. Transfergatter und Multiplexer
Transfergatter
Ein Transfergatter ist ein Schalter zur Weiterleitung einer »0« oder
einer »1«. Es besteht aus einer Parallelschaltung eines NMOS- und
eines PMOS-Transistors, die zueinander invertiert angesteuert
werden2 .
UV
x s y
s̄ fp = s
x y - 0 Z
x y fn = s 0 1 0 - Wert beliebig
1 1 1 (don’t care)
s
2 Weiterleiten einer Eins mit einem NMOS-Transistor bzw. einer Null mit einem
G. Kemnitz · Institut für Informatik, TU Clausthal (EDS_F5) 12. Juli 2023 34/135
1. Gatterentwurf 4. Transfergatter und Multiplexer
Ein 2:1-Multiplexer
Funktion: (
x1 wenn s = 0
y=
x2 wenn s = 1
Realisierbar aus zwei wechselseitig angesteuerten Transfergattern.
Die Konstante null braucht keinen PMOS- und die Konstante eins
keinen NMOS-Transistor zur Weiterleitung. Ein Umschalter zwischen
null und eins hat dieselbe Schaltung wie ein Inverter.
x1 0 1 0 x1 0 1 0
y y y y
x2 1 x2 1 0 1 0 1
s s s s
s̄ 1 s̄ s̄ 1 s̄
x1 x1
s̄ s̄
y y y y
s s
x2 x2
s s 0 s 0 s
G. Kemnitz · Institut für Informatik, TU Clausthal (EDS_F5) 12. Juli 2023 35/135
1. Gatterentwurf 4. Transfergatter und Multiplexer
G. Kemnitz · Institut für Informatik, TU Clausthal (EDS_F5) 12. Juli 2023 36/135
1. Gatterentwurf 5. Geometrischer Entwurf
Geometrischer Entwurf
G. Kemnitz · Institut für Informatik, TU Clausthal (EDS_F5) 12. Juli 2023 37/135
1. Gatterentwurf 5. Geometrischer Entwurf
Geometrischer Entwurf
NMOS-Transistor PMOS-Transistor
B S G D D G S B
p+ n+ n+ p+ p+ n+
n-Wanne
schwache p-Dotierung
G. Kemnitz · Institut für Informatik, TU Clausthal (EDS_F5) 12. Juli 2023 38/135
1. Gatterentwurf 5. Geometrischer Entwurf
G. Kemnitz · Institut für Informatik, TU Clausthal (EDS_F5) 12. Juli 2023 39/135
1. Gatterentwurf 5. Geometrischer Entwurf
Das Ziel des geometrischen Entwurfs ist eine platzsparende
Anordnung:
Reihenschaltung: hochdotierter Streifen mit mehreren Gates.
Parallelschaltung: zusätzliche Zwischenabgriffe.
Trennung nach PMOS- und NMOS-Netzwerken.
x1 x2 x3 x4 x5
UV
UV
x1
x2 x3
y x4 x5
y
x2 x4
x1
x3 x5
G. Kemnitz · Institut für Informatik, TU Clausthal (EDS_F5) 12. Juli 2023 40/135
2. Signalverzögerung
Signalverzögerung
G. Kemnitz · Institut für Informatik, TU Clausthal (EDS_F5) 12. Juli 2023 41/135
2. Signalverzögerung
Signalverzögerung
Die Signalverzögerungen einer Verarbeitungsfunktion – Einzelgatter
und Schaltungen aus Gattern – wurden bisher mit einem
Toleranzschema aus einer Haltezeit th und einer Verzögerungszeit td
beschrieben. Bei jeder Eingabeänderung bleibt das Ausgabesignal
mindestens für die Haltezeit th unverändert. Eine neue gültige Eingabe
bewirkt spätestens nach der Verzögerungszeit td eine neue gültige
Ausgabe.
th , td x wi wi+1
td
x f (x) y th
y f (wi ) f (wi+1 )
Signalwert ungültig t
G. Kemnitz · Institut für Informatik, TU Clausthal (EDS_F5) 12. Juli 2023 42/135
2. Signalverzögerung
Modellierung als geschaltetes RC-Glied
UV Einschaltvorgang Ausschaltvorgang
Rp up 1
x
0
ip
UV
x
in uy
CL uy 0
Rn un
0 τein 0 τaus
Z t
up/n 1
ip/n = ; uC (t) = uC (t = 0) + · i · dt
Rp/n CL 0
t
U · 1 − e− τein mit τein = Rp · CL
V
uy (t) = t
UV · e− τaus mit τaus = Rn · CL
G. Kemnitz · Institut für Informatik, TU Clausthal (EDS_F5) 12. Juli 2023 43/135
2. Signalverzögerung
UV Einschaltvorgang Ausschaltvorgang
Rp up 1
x
0
ip
UV
x
in uy
CL uy 0
Rn un
0 τein 0 τaus
t
U · 1 − e− τein mit τein = Rp · CL
V
uy (t) = t
UV · e− τaus mit τaus = Rn · CL
G. Kemnitz · Institut für Informatik, TU Clausthal (EDS_F5) 12. Juli 2023 44/135
2. Signalverzögerung 1. Inverter
Inverter
G. Kemnitz · Institut für Informatik, TU Clausthal (EDS_F5) 12. Juli 2023 45/135
2. Signalverzögerung 1. Inverter
lp ln
Rp = 2∗ · RNQ ·
; Rn = RNQ ·
wp wn
(RNQ – Einschaltwiderstand NMOS-Transistor mit w/l = 1; 2∗ –
PMOS-Transistoren haben bei gleicher Geometrie etwa den doppelten
Einschaltwiderstand).
G. Kemnitz · Institut für Informatik, TU Clausthal (EDS_F5) 12. Juli 2023 46/135
2. Signalverzögerung 1. Inverter
G. Kemnitz · Institut für Informatik, TU Clausthal (EDS_F5) 12. Juli 2023 47/135
2. Signalverzögerung 1. Inverter
G. Kemnitz · Institut für Informatik, TU Clausthal (EDS_F5) 12. Juli 2023 48/135
2. Signalverzögerung 1. Inverter
G. Kemnitz · Institut für Informatik, TU Clausthal (EDS_F5) 12. Juli 2023 49/135
2. Signalverzögerung 1. Inverter
x1
x1 x2 x3
y x2
x3
t...1 t...2 t...3 t...4
taus.1 tein.2 taus.3 tein.1 taus.2 tein.3
Ringinverter y
Ausgabe mit bekannter Kapazität tein.4 taus.4 tein.4
TP
G. Kemnitz · Institut für Informatik, TU Clausthal (EDS_F5) 12. Juli 2023 50/135
2. Signalverzögerung 1. Inverter
x1
x1 x2 x3
y x2
x3
t...1 t...2 t...3 t...4
taus.1 tein.2 taus.3 tein.1 taus.2 tein.3
Ringinverter y
Ausgabe mit bekannter Kapazität tein.4 taus.4 tein.4
TP
Bei
P vier identischen Invertern gilt für die Inverter mit
P einer Last
wL = wA und für den Inverter mit zwei Lasten wL = 2 · wA :
TP = taus.1 + tein.2 + taus.3 + tein.1 + taus.2 + tein.3
= 6 · τA + 8 · τL
G. Kemnitz · Institut für Informatik, TU Clausthal (EDS_F5) 12. Juli 2023 51/135
2. Signalverzögerung 1. Inverter
Im nachfolgenden Beispiel hat der zweite Ringinverter die doppelte
Anzahl von Lasten:
einfacher Ringinverter Ringinverter mit doppelter Lastanzahl
x1 x2 x3 x1 x2 x3
y1 y2
t...1 t...2 t...3 t...4
TP1 = 6 · τA + 8 · τL
TP2 = 2 · (τA + 2 · τL ) + 2 · (τA + 2 · τL ) + 2 · (τA + 4 · τL )
| {z } | {z } | {z }
tein.1 +taus.1 tein.2 +taus.2 tein.3 +taus.3
= 6 · τA + 16 · τL
Daraus berechnet sich die Grund- und die lastabhängige Verzögerung
wie folgt:
1
τA = · (2 · TP1 − TP2 )
6
1
τL = · (TP2 − TP1 )
8
G. Kemnitz · Institut für Informatik, TU Clausthal (EDS_F5) 12. Juli 2023 52/135
2. Signalverzögerung 2. Logikgatter
Logikgatter
G. Kemnitz · Institut für Informatik, TU Clausthal (EDS_F5) 12. Juli 2023 53/135
2. Signalverzögerung 2. Logikgatter
G. Kemnitz · Institut für Informatik, TU Clausthal (EDS_F5) 12. Juli 2023 54/135
2. Signalverzögerung 2. Logikgatter
Empirische Modellerweiterung
Unter der vereinfachten Annahme, dass die »Stockung« die Kapazität
am Gatterausgang nicht ändert, erhöhen sich die Verzögerungen
proportional zur Widerstandserhöhung rp bzw. rn :
P
( wL )
tein ≤ cp · rp. max · τA + τL ·
wA
P
( wL )
taus ≤ rn. max · τA + τL ·
wA
w
cp = 2·wpn – Korrekturfaktor für die Breite der PMOS-Transistoren. Aus
der üblichen Optimierung
tein. max ≈ taus. max
ergibt sich als Richtwert für das Verhältnis der Transistorbreiten:
wp rp. max
cp = =
2 · wn rn. max
G. Kemnitz · Institut für Informatik, TU Clausthal (EDS_F5) 12. Juli 2023 55/135
2. Signalverzögerung 2. Logikgatter
Beispielschaltung
untersuchte Verzögerung 3 Lasten: wL = 3 · wA
UV
x1 x2 x4
rp.max
x3 x5
=2
x4 x5 y
rn.max = 3 x2
x1 x3
cp = 1,5
Puffer
G. Kemnitz · Institut für Informatik, TU Clausthal (EDS_F5) 12. Juli 2023 58/135
2. Signalverzögerung 3. Puffer
Gepufferte CMOS-Gatter
G. Kemnitz · Institut für Informatik, TU Clausthal (EDS_F5) 12. Juli 2023 59/135
2. Signalverzögerung 3. Puffer
Pufferung
UV ungepuffert
cP = 1,5
9 Lasten
td = 3 · (τA + 9 · τL ) = 3 · τA + 27 · τL
x1 x2 x4
gepuffert mit 2 Invertern
x3 x5 tges = 5 · τA + 9 · τL
y UV UV
9 Lasten
x4 x5 *
td1 = 3 · (τA + τL )
x2 td2 = τA + 3 · τL
td3 = τA + 3 · τL
x1 x3 ∗
3-fache Transistorbreite
G. Kemnitz · Institut für Informatik, TU Clausthal (EDS_F5) 12. Juli 2023 60/135
2. Signalverzögerung 3. Puffer
Signal-
quelle n3 Lasten
..
Stockungs- .
1-fache
tiefe s Breite n-fache 2
Breite n -fache
Breite
td1 = s · (τA + τL ) td2 = τA + n · τL
td3 = τA + n · τL td4 = τA + n · τL
Gesamtverzögerung: td.ges = (3 + s) · τA + (s + 3 · n) · τL
G. Kemnitz · Institut für Informatik, TU Clausthal (EDS_F5) 12. Juli 2023 61/135
3. Latches und Register
G. Kemnitz · Institut für Informatik, TU Clausthal (EDS_F5) 12. Juli 2023 62/135
3. Latches und Register
Latches und Register
Latches und Register dienen
zur Abtastung der Signalwerte zu definierten Zeitpunkten und
Aufbewahrung von Signalwerten über eine längere Zeit.
Besonderer Augenmerk ist auf die Signale, die die Zeitabläufe in einer
Schaltung steuern, zu legen:
Taktsignale für Register,
Übernahmesignale für Latches und
asynchron wirkende Initialisierungssignale.
Diese müssen glitchfrei und mit tolerierbarem Zeitversatz an allen
angesteuerten Speicherelementen ankommen (siehe auch später
Taktversorgung).
G. Kemnitz · Institut für Informatik, TU Clausthal (EDS_F5) 12. Juli 2023 63/135
3. Latches und Register 1. Speicherzellen
Speicherzellen
G. Kemnitz · Institut für Informatik, TU Clausthal (EDS_F5) 12. Juli 2023 64/135
3. Latches und Register 1. Speicherzellen
Jedes Signal hat eine kurze Haltezeit, die durch Deaktivierung des
Treibers (hochohmig schalten, Ausgabe Signalwert ’Z’) bis zu
mehreren Millisekunden verlängert werden kann. Danach muss der
Inhalt aufgefrischt (gelesen und neu geschrieben) werden.
G. Kemnitz · Institut für Informatik, TU Clausthal (EDS_F5) 12. Juli 2023 65/135
3. Latches und Register 1. Speicherzellen
Der Kern einer statischen Speicherzelle ist ein Ring aus zwei Invertern,
der in einen von zwei stabilen Zuständen kippt und seinen Zustand
beibehält. Eine solche bistabile Kippstufe wird auch als Flipflop
bezeichnet.
0 1 1 0
y y
ȳ ȳ
G. Kemnitz · Institut für Informatik, TU Clausthal (EDS_F5) 12. Juli 2023 66/135
3. Latches und Register 1. Speicherzellen
RS-Flipflop
Bei Ersatz der Inverter durch NOR- bzw. NAND-Gatter erhält das
Flipflop einen Setz- und einen Rücksetzeingang. Gleichzeitiges Setzen
und Rücksetzen ist verboten, weil dann die negierte gleich der direkten
Ausgabe ist und das Flipflop bei zeitgleicher Deaktivierung zufällig in
einen der beiden Zustände kippt.
RS-Flipflop (NOR) Schaltsymbol des RS-Flipflops
S S y
≥1 R R ȳ
S ≥1 y
R ȳ
Ansteuertabelle
RS-Flipflop (NAND) R S y
0 0 Speichern
& 0 1 1
R̄ & y
1 0 0
S̄ ȳ 1 1 Vermeiden
G. Kemnitz · Institut für Informatik, TU Clausthal (EDS_F5) 12. Juli 2023 67/135
3. Latches und Register 1. Speicherzellen
D-Flipflop
Bei einem D-Flipflop wird der Inverterring zum Beschreiben mit einem
Multiplexer aufgetrennt. Während ein RS-Flipflop auf beiden
Steuereingängen glitch-empfindlich ist, ist beim D-Flipflop nur der
Freigabeeingang E empfindlich gegenüber Glitches5 .
Schaltung Speichern (E = 0)
0
y y
x 1 ȳ
ȳ
E td
Symbol Datenübernahme (E = 1)
x D y x y
E ȳ ȳ
5 Glitches auf dem R- und S-Signal können ein ungewolltes Rücksetzen oder Setzen
und Glitches auf dem E-Signal eine Übernahme zu einem falschen Zeitpunkt bewirken.
G. Kemnitz · Institut für Informatik, TU Clausthal (EDS_F5) 12. Juli 2023 68/135
3. Latches und Register 1. Speicherzellen
G. Kemnitz · Institut für Informatik, TU Clausthal (EDS_F5) 12. Juli 2023 69/135
3. Latches und Register 2. Latches
Latches
G. Kemnitz · Institut für Informatik, TU Clausthal (EDS_F5) 12. Juli 2023 70/135
3. Latches und Register 2. Latches
Latch
Ein Latch ist eine Zusammenfassung von n ≥ 1 D-Flipflops mit
gemeinsamem Freigabe- und bei einem initialisierbarem Latch, auch
mit gemeinsamen Initialisierungseingang. In Abgrenzung zu einem
Register erfolgt die Datenübernahme zustandsgesteuert.
n
x0 y0 n Symbol
x x y
n n
E x x y
I E E
xn−1 ··· y I I
n−1
x
E E
I I n Anzahl der Datenbits
G. Kemnitz · Institut für Informatik, TU Clausthal (EDS_F5) 12. Juli 2023 71/135
3. Latches und Register 2. Latches
n n
x x L y
Zeitverhalten E E
Übernahmeverzögerung um th und td .
E 1
0
Speicherung gültiger Werte nur, wenn > ts
x w1 w2
bei Deaktivierung von E alle Eingabe-
td
signale für mindestens eine Vorhalte- th
zeit ts stabil anliegen. y w1 w2
p r o c e s s (x , E)
td Verzögerungszeit
begin th Haltezeit
i f r i s i n g _ e d g e (E) or (E= ’1 ’ and x ’ event ) then ts Vorhaltezeit
y <= <ungueltig> a f t e r th ,
x a f t e r td ;
e l s i f f a l l i n g _ e d g e (E) and (E ’ l a s t _ e v e n t < t s
or x ’ l a s t _ e v e n t < t s ) then
y <= <ungueltig> ;
end i f ;
end p r o c e s s ; (Siehe hierzu auch Foliensatz EDS-F2.)
G. Kemnitz · Institut für Informatik, TU Clausthal (EDS_F5) 12. Juli 2023 72/135
3. Latches und Register 3. Register
Register
G. Kemnitz · Institut für Informatik, TU Clausthal (EDS_F5) 12. Juli 2023 73/135
3. Latches und Register 3. Register
G. Kemnitz · Institut für Informatik, TU Clausthal (EDS_F5) 12. Juli 2023 74/135
3. Latches und Register 3. Register
G. Kemnitz · Institut für Informatik, TU Clausthal (EDS_F5) 12. Juli 2023 75/135
3. Latches und Register 3. Register
G. Kemnitz · Institut für Informatik, TU Clausthal (EDS_F5) 12. Juli 2023 76/135
3. Latches und Register 3. Register
Master-Slave-Flipflop
Master Slave Symbol
z
x x x y
x y
E E
T
T
T 1
0
x 1 Übernahmeflanke
0
Abtastfenster
z 1
0 Master speichert
y 1 Slave speichert
0
G. Kemnitz · Institut für Informatik, TU Clausthal (EDS_F5) 12. Juli 2023 77/135
3. Latches und Register 3. Register
x1 y1 x wi
t∆T ··· tsZ (tnZ = 0)
tsR tnR
xn−1 yn−1
y wi−1 wi
T
thR tdR
tsR , tnR thR , tdR thZ tdZ
n n
x y Abtastfenster t..R Zeitparameter Register
modellierter Ab- t..Z Zeitparameter Zelle
T tastzeitpunkt t∆T maximaler Taktversatz
x wi
tsZ (tnZ = 0)
tsR tnR
y wi−1 wi
thR tdR
thZ tdZ
G. Kemnitz · Institut für Informatik, TU Clausthal (EDS_F5) 12. Juli 2023 79/135
3. Latches und Register 3. Register
G. Kemnitz · Institut für Informatik, TU Clausthal (EDS_F5) 12. Juli 2023 80/135
3. Latches und Register 4. Taktversorgung
Taktversorgung
G. Kemnitz · Institut für Informatik, TU Clausthal (EDS_F5) 12. Juli 2023 81/135
3. Latches und Register 4. Taktversorgung
Oszillator
Takte werden mit einem RC- oder Quarzoszillator erzeugt. Bei einem
Quarzoszillator wird ein Inverter mit einem Quarz oder einem
keramischen Schwinger rückgekoppelt. Quarzoszillatoren sind sehr
frequenzstabil. Die relativen Abweichungen von der Sollfrequenz
betragen ≈ 10−5 . Am Eingang für den Anschluss des Quarzes an
einen Schaltkreis kann auch ein Oszillator oder eine andere Taktquelle
angeschlossen werden.
T Oszillator- Quarz digitaler Schaltkreis
schaltkreis
Quarz UV xtl in
C1 C2 C1 C2
xtl out
C1 = C2 ≈ 20 pF
G. Kemnitz · Institut für Informatik, TU Clausthal (EDS_F5) 12. Juli 2023 82/135
3. Latches und Register 4. Taktversorgung
Ableitung zeitlich
ausgerichteter Takte ···
haben.
G. Kemnitz · Institut für Informatik, TU Clausthal (EDS_F5) 12. Juli 2023 83/135
3. Latches und Register 4. Taktversorgung
Phasenregelkreise
TVCO
Taktteiler T1 ↑
VCO
1:Q Phasen- Inte-
ϕCtl
verglei- grator
Taktteiler T2 cher ↓
TRef
1:P Rdy Ready
t∆T12
Der von einen spannungsgesteuerten Oszillator (VCO Voltage
Controlled Oscillator) erzeugte und optional durch Q geteilte Takt wird
mit dem optional durch P geteilten Referenztakt verglichen. Bei
Phasenvorlauf von T1 gegenüber T2 verringert und bei
Phasennachlauf erhöht der Integrator die VCO-Spannung und regelt
so die VCO-Frequenz ein auf:
Q
fVCO = fRef ·
P
G. Kemnitz · Institut für Informatik, TU Clausthal (EDS_F5) 12. Juli 2023 84/135
3. Latches und Register 4. Taktversorgung
TVCO
Taktteiler T1 ↑
VCO
1:Q Phasen- Inte-
ϕCtl
verglei- grator
Taktteiler T2 cher ↓
TRef
1:P Rdy Ready
t∆T12
Phasenregelkreise werden zur Frequenzvervielfachung und
Phasenausrichtung genutzt. Achtung, den Rest der Schaltung nach
Spannungszuschaltung erst initialisieren und benutzen, wenn der
Regelkreis mit Ready Phasengleichheit signalisiert.
Definierte Phasenverschiebungen (Zeitversätze) zwischen
Taktsignalen sind z.B. mit einem Johnson-Zähler als VCO-Taktteiler
erzeugbar (siehe nächste Folie). Gezeigt wird dort auch eine Lösung
zur zielgerichteten Ausrichtung der aktiven Taktflanke eines
Ausgabetakts zu den Änderungen ausgegebener Daten (vergl. F3,
Abschn. 4.4 Datensynchronisation).
G. Kemnitz · Institut für Informatik, TU Clausthal (EDS_F5) 12. Juli 2023 85/135
3. Latches und Register 4. Taktversorgung
1
TVCO 0 TIst = TRef
1
0
1
T0 0 yout
1
T1 0 ≥ ts
1
T2 0 Tout
1
0
1
T3 0
G. Kemnitz · Institut für Informatik, TU Clausthal (EDS_F5) 12. Juli 2023 86/135
4. Blockspeicher
Blockspeicher
G. Kemnitz · Institut für Informatik, TU Clausthal (EDS_F5) 12. Juli 2023 87/135
4. Blockspeicher
Blockspeicher
Ein Blockspeicher besteht im Kern aus einer regelmäßigen
2D-Anordnung von flächenminimierten Speicherzellen. Die
Grundfunktionen (nur lesbar, beschreib- und lesbar, ...) hängen von der
Zellenfunktion ab. Die Zeilen- und Spaltenauswahl legt die
Zugriffsmöglichkeiten fest (Zugriffsbreite, Portanzahl, ...) .
G. Kemnitz · Institut für Informatik, TU Clausthal (EDS_F5) 12. Juli 2023 88/135
4. Blockspeicher
Speicherarten
Speicherart
Festwertspeicher Schreib-/Lese-Speicher
SRAM
G. Kemnitz · Institut für Informatik, TU Clausthal (EDS_F5) 12. Juli 2023 90/135
4. Blockspeicher 1. SRAM
r̄j s̄j
wi Zelle i, j x Dateneingang bj Bitleitung
W Schreibsignal y Datenausgang
wi Wortleitung - beliebig (don’t care)
T5 T6
Z∗ Spaltentreiber deaktiviert
Die Speicherzelle ist ein Inverterring mit zwei Transistoren für die
Lese-Schreib-Auswahl. Bei aktiviertem Zeilenauswahlsignal ist die
Zelle mit den Spaltenleitungen verbunden, über die sie gesetzt,
gelöscht oder gelesen werden kann.
G. Kemnitz · Institut für Informatik, TU Clausthal (EDS_F5) 12. Juli 2023 91/135
4. Blockspeicher 1. SRAM
r̄i s̄i
r̄i s̄i UV 111111
000000
000000
111111
000000
111111
UV
000000
111111
G2
G4
G2 G4 G6 000000
111111
xij x̄ij
G5 xij x̄ij
000000000
111111111
000000000
111111111
G1 G3
000000000
111111111
G5
G1
G3
G6
zi
zi 000000000
111111111
00000
11111
00000
11111
00000
11111
11
00n-Wanne 00
11
00
11n+ -Gebiet Metall 1 Metall 2
00
11
11
+
00p -Gebiet Polysilizium Durchk. 1 Durchk. 2
G. Kemnitz · Institut für Informatik, TU Clausthal (EDS_F5) 12. Juli 2023 92/135
4. Blockspeicher 1. SRAM
G. Kemnitz · Institut für Informatik, TU Clausthal (EDS_F5) 12. Juli 2023 93/135
4. Blockspeicher 1. SRAM
G. Kemnitz · Institut für Informatik, TU Clausthal (EDS_F5) 12. Juli 2023 94/135
4. Blockspeicher 1. SRAM
Für die Nutzung eines SRAMs ist eine Schnittstellenschaltung mit dem grau
unterlegten laufzeitkritischen Teil zu entwickeln. Die Laufzeiten dieser
Teilschaltung müssen auf wenige Nanosekunden genau stimmen. Das geht
nur mit einer Handverdrahtung mit Constraints oder dem MIG (Memory
Interface Generator).
G. Kemnitz · Institut für Informatik, TU Clausthal (EDS_F5) 12. Juli 2023 95/135
4. Blockspeicher 1. SRAM
EE 10 Übergangsbedingungen:
bw = (W = 1)
EW 10
br = (W = 0) ∧ (R = 1)
ER 10
Zusammensetzung des Ausgabevektors:
tsa twr tna tdy cs & wr & oe EE & EW & ER
G. Kemnitz · Institut für Informatik, TU Clausthal (EDS_F5) 12. Juli 2023 96/135
4. Blockspeicher 1. SRAM
x x’ sonst
Stopp
a a’ EW
y 111 100
EE E adr RAM- dat x bw br
wr Schalt-
W W1 R1
R fs cs kreis E
fy 011 000 011 000
oe ER
T
Moore-Automat W2 R2
001 010 010 000
W3 R3
In dieser Lösung ist die Schaltung 001 010 010 000
zur Generierung der Steuersigna-
W4 br bw R4
le für das Schreiben und Lesen 011 100 010 101
ein Automat, dessen Ausgabeände- bw sonst sonst br
rungen an Taktflanken ausgerichtet Übergangsbedingungen:
sind. Damit sind die Zeitbedingun- bw = (W = 1)
gen viel einfacher einzuhalten, ins- br = (W = 0) ∧ (R = 1)
Zusammensetzung des Ausgabevektors:
besondere ohne eine Handverdrah- cs & wr & oe EE & EW & ER
tung.
G. Kemnitz · Institut für Informatik, TU Clausthal (EDS_F5) 12. Juli 2023 97/135
4. Blockspeicher 2. Mehrport- und Assoziativsp.
G. Kemnitz · Institut für Informatik, TU Clausthal (EDS_F5) 12. Juli 2023 98/135
4. Blockspeicher 2. Mehrport- und Assoziativsp.
Mehrportspeicher
Ein Mehrportspeicher erlaubt den zeitgleichen unabhängigen Zugriff
auf Speicherplätze unterschiedlicher Adresse. Das verlangt
Speicherzellen mit mehreren Paaren von Auswahltransistoren (4
Transistoren für den Inverterring und 2 Transistoren für jeden Port),
einen Satz von Zeilen- und Spaltenleitungen sowie einen Zeilen- und
einen Spalten-Decoder je Port.
r̄2.j r̄1.j s̄1.j s̄2.j
UV Port1 S-Decoder
T7 T2 T4 T8
Z-Decoder
Z-Decoder
x̄
z2.i
T5 x T6
T1 T3
z1.i S-Decoder
Port2
G. Kemnitz · Institut für Informatik, TU Clausthal (EDS_F5) 12. Juli 2023 99/135
4. Blockspeicher 2. Mehrport- und Assoziativsp.
Assoziativspeicher
Ein Assoziativ- oder inhaltsadressierbarer Speicher ist ein
Schreib-Lese-Speicher (RAM) mit einer zusätzlichen parallelen
Vergleichsfunktion des Eingabevektors mit den Inhalten aller
Speicherplätze. In der Zusatzbetriebsart »Vergleich« werden die
Eingabedaten mit den zuvor geschrieben Inhalten aller Speicherplätze
verglichen und die Adresse mit der ersten Übereinstimmung
ausgegeben. Dazu erhält jede Speicherzelle zusätzlich 4 Transistoren
für den Pull-Down-Zweig eines minimierten Bitvergleichers.
Zeilenweises AND der Signale für Bitgleichheit.
Einsatz in Rechnern:
Übersetzungspuffer von virtuellen in physikalische Adressen und
Tag-Speicher7 für mehrfach assoziative Caches.
7 Der Tag ist Adressteil der Cache-Einträge.
G. Kemnitz · Institut für Informatik, TU Clausthal (EDS_F5) 12. Juli 2023 100/135
4. Blockspeicher 2. Mehrport- und Assoziativsp.
dj dj+1
H
vi+1
xi+1,j xi+1,j+1
x̄i+1,j x̄i+1,j+1
G. Kemnitz · Institut für Informatik, TU Clausthal (EDS_F5) 12. Juli 2023 101/135
4. Blockspeicher 3. DRAM
DRAM
G. Kemnitz · Institut für Informatik, TU Clausthal (EDS_F5) 12. Juli 2023 102/135
4. Blockspeicher 3. DRAM
DRAM-Zelle
DRAMs (Dynamic Random Access Memory) haben die kleinsten mit
MOS-Technik realisierbaren Speicherzellen (nur ein NMOS- Transistor
je Bit), sind dafür aber kompliziert anzusteuern.
Aufbau Schreiben einer Null Schreiben einer Eins
Auswahlleitung x UV
D∗ D∗
Bit- uGS
leitung CS uCS S∗
UV S∗
uCS CS ux uCS
∗
Source ist der Kanalanschluss
mit niedrigerem Potential.
Zum Schreiben wird der Schreibwert
auf die Datenleitung gelegt und der Transistor eingeschaltet. Zum
Schreiben einer Null arbeitet der Transistor normal, aber beim Schreiben
einer Eins in einer »unvorteilhaften« Betriebsart, in der die Speicherka-
pazität CS nur auf eine Spannung uCS < UV aufgeladen wird (UV –
Versorgungsspannung; uCS – Zellenspannung).
G. Kemnitz · Institut für Informatik, TU Clausthal (EDS_F5) 12. Juli 2023 103/135
4. Blockspeicher 3. DRAM
G. Kemnitz · Institut für Informatik, TU Clausthal (EDS_F5) 12. Juli 2023 104/135
4. Blockspeicher 3. DRAM
DRAMs haben zwei symmetrische Hälften. Auf der einen Seite wird die
Speicherzelle und auf der anderen Seite eine geladene Referenzzelle
mit der halben Kapazität entladen. Die Spannungsdifferenz wird mit
einer bistabilen Kippschaltung ähnlich einem RS-Flipflop ausgewertet.
Das Lesen löscht die gespeicherte Information. Deshalb müssen die
gelesenen Werte zurückgeschrieben werden.
Lese/Schreib-Steuerung
Gesamter Leseablauf L
Zwischenspeicher
Datenleitungen entladen Leseverstärker
und Referenzkapazität
xj xref 1
aufladen. zi
Ladungsausgleich. 1: positiv
Differenz auswerten. 0: negativ Cs
Cs
Gelesene Werte 2
zurückschreiben.
Cx Cx
G. Kemnitz · Institut für Informatik, TU Clausthal (EDS_F5) 12. Juli 2023 105/135
4. Blockspeicher 3. DRAM
Bei jedem Lesevorgang wird eine komplette Zeile gelesen und wieder
zurückgespeichert, egal wie viele Bits davon benötigt werden.
Zum Schreiben wird die Zeile mit dem adressierten Platz komplett
gelesen, die zu schreibenden Bits verändert und zurückgeschrieben.
Eine DRAM-Zelle hat nur eine begrenzte Datenhaltezeit von wenigen
Millisekunden. In dieser Zeit muss jede Zelle einmal gelesen und
zurückgeschrieben werden. Das verlangt etwa 100.000 Refresh-Zyklen
pro Sekunde, die zwischen den normalen Speicherzugriffen
einzuschieben sind.
Ein DRAM-Schaltkreis enthält dafür eine Ablaufsteuerung. Die externe
Ansteuerung eines DRAMs unterscheidet sich erheblich von der eines
SRAMs. Insbesondere erfolgt der Lese- und Schreibzugriff meist
blockorientiert und die übergeordnete Schaltung muss sich auf variable
Wartezeiten einstellen.
G. Kemnitz · Institut für Informatik, TU Clausthal (EDS_F5) 12. Juli 2023 106/135
4. Blockspeicher 3. DRAM
Ansteuerung Anfangsinitialisierung
SFR
bereit Zeile auf-
SFR Zeile auffrischen
ACT frischen
ACT Zeile aktivieren
RD Lesen Zeile in den Zwischenpuffer lesen
RDA abschließendes Lesen RD RD WR WR
WR Schreiben Lesezyklus Schreibzyklus
WRA abschließendes Schreiben
RDA PR WRA
PR Seite schließen
(1) letzter letzter
Vorbereitung für das Lesezyklus Schreibzyklus
Lesen der nächsten Zeile
Zustandsübergang ohne Zeile zurückspeichern, Vorladen(1)
Befehl
G. Kemnitz · Institut für Informatik, TU Clausthal (EDS_F5) 12. Juli 2023 107/135
4. Blockspeicher 3. DRAM
Die Aktivierung einer Zeile dauert relativ lange und erfordert die erste
Hälfte der Adresse. Nach der Aktivierung ist ein schneller wahlfreier
Zugriff mit der zweiten Adresshälfte auf den Zwischenspeicher
möglich. Ein DRAM hat deshalb nur halb so viele Adressleitungen wie
Adressbits.
8 DDR-DRAM Double Date Rate Dynamic Random Access Memory.
G. Kemnitz · Institut für Informatik, TU Clausthal (EDS_F5) 12. Juli 2023 108/135
4. Blockspeicher 3. DRAM
0 1 2 3 4 5 6 7 8 9 10
Takt
Befehl ACT NOP RD NOP WR NOP
Adresse za sar saw
tACT tRD tWR
Daten Z o0 o1 o2 o3 i0 i1 i2 i3
NOP kein Befehl (no operation) saw Spaltenadresse Schreiboperation
za Zeilenadresse oi gelesene Daten
sar Spaltenadresse Leseoperation ii zu schreibende Daten
Der DRAM-interne Ablauf wird mit Befehlen gesteuert (ACT, RD, WR,
NOP (No Operation) und Refresh). Im Beispielsignalverlauf werden
nach der Aktivierung einer Zeile bei jeder Lese- und
Schreibanforderung mehrere aufeinanderfolgende Bits abwechselnd
mit der steigenden und der fallenden Taktflanke übertragen9 .
9 Das verdoppelt die Datenrate und ist gemeint mit »Double Date Rate«.
G. Kemnitz · Institut für Informatik, TU Clausthal (EDS_F5) 12. Juli 2023 109/135
4. Blockspeicher 4. Festwertspeicher
Festwertspeicher
G. Kemnitz · Institut für Informatik, TU Clausthal (EDS_F5) 12. Juli 2023 110/135
4. Blockspeicher 4. Festwertspeicher
G. Kemnitz · Institut für Informatik, TU Clausthal (EDS_F5) 12. Juli 2023 111/135
4. Blockspeicher 4. Festwertspeicher
NOR-ROM
Spaltenauswahl und Spaltenauswahl und
Pull-Up-Elemente Pull-Up-Elemente
H H
.. ..
. .
··· Z Z ···
Zeilenauswahl
Zeilenauswahl
Adresse 0
Daten ··· {0,Z} {0,Z} · · ·
Steuer-
signale 1
··· Z Z ···
0 .. ..
. .
programmierba- Polysilizium-Streifen Metallleiterbahn
rer Transistor n+ -Gebiet Durchkontaktierung
NAND-ROM
Spaltenauswahl und Spaltenauswahl und
Pull-Up-Elemente Pull-Up-Elemente
H H
··· ···
1
Zeilenauswahl
Zeilenauswahl
··· ···
Adresse 0
Daten ··· ···
Steuer- 1 .. ..
signale . .
··· ···
1
G. Kemnitz · Institut für Informatik, TU Clausthal (EDS_F5) 12. Juli 2023 113/135
4. Blockspeicher 4. Festwertspeicher
G. Kemnitz · Institut für Informatik, TU Clausthal (EDS_F5) 12. Juli 2023 114/135
4. Blockspeicher 4. Festwertspeicher
G. Kemnitz · Institut für Informatik, TU Clausthal (EDS_F5) 12. Juli 2023 115/135
4. Blockspeicher 4. Festwertspeicher
Elektrische Programmierung
Für das Auf- und Entladen der »Floating Gates« werden folgende
physikalische Mechanismen genutzt:
Heiße Elektronen: Elektronen mit sehr hoher Geschwindigkeit
werden durch Gitterstreuungen zum Teil in das Gate abgelenkt
und können so das »Floating Gate« negativ aufladen.
Hochenergetische Strahlung (UV-Licht) erzeugt eine geringe
Leitfähigkeit des Gateoxids, so dass sich die »Floating Gates«
entladen können.
Tunnelströme: Das ist ein quantenmechanisches Phänomen, bei
dem Ladungsträger eine dünne Isolationsschicht, überwinden,
indem sie plötzlich auf der anderen Seite sind. Voraussetzung sind
sehr hohe Feldstärken. Geeignet zum Auf- und Entladen.
Heutige EE- (Electrically Erasable) PROMs nutzen letzteres.
G. Kemnitz · Institut für Informatik, TU Clausthal (EDS_F5) 12. Juli 2023 116/135
4. Blockspeicher 4. Festwertspeicher
G. Kemnitz · Institut für Informatik, TU Clausthal (EDS_F5) 12. Juli 2023 117/135
4. Blockspeicher 4. Festwertspeicher
Die interne Steuerung eines EEPROMs ist noch komplizierter als bei
einem DRAM. Interner Spannungsvervielfacher zur Erzeugung der
Programmierspannung. Kontrollfunktionen für die eingestellten
Einschaltspannungen. Ablaufsteuerung, die den Programmiervorgang
fortsetzt, bis die Einschaltspannungen der gerade programmierten
Zellen im Soll-Bereich liegen. Rekonfigurationsmöglichkeiten zum
Ersatz von Speicherblöcken mit defekten Zellen. Puffer für
Schreibdaten und Funktionen für das zeitgleiche Beschreiben einer
Pufferseite. ...
Ein Flash-Speicher ist ein EEPROM, in dem die Speicherzellen nicht
einzeln, sondern nur in Blöcken gelöscht werden können. Das
vereinfacht die interne Programmierung und Schaltung, spart
Chipfläche und ist für viele Anwendungen ausreichend.
G. Kemnitz · Institut für Informatik, TU Clausthal (EDS_F5) 12. Juli 2023 118/135
5. Programmierbare Logikschaltkreise
Programmierbare
Logikschaltkreise
G. Kemnitz · Institut für Informatik, TU Clausthal (EDS_F5) 12. Juli 2023 119/135
5. Programmierbare Logikschaltkreise
Programmierbare Logikschaltkreise
Programmierbare Logikschaltkreise bestehen aus
programmierbaren Logikblöcken,
programmierbaren Verbindungsnetzwerken,
programmierbaren Ein-/Ausgabeschaltungen, ...
IO PLB PLB
PLB programmierbarer
Logikblock
IO
programmierbares
Verbindungsnetzwerk
IO PLB PLB
programmierbare
IO
Ein-/Ausgabeschaltung
G. Kemnitz · Institut für Informatik, TU Clausthal (EDS_F5) 12. Juli 2023 120/135
5. Programmierbare Logikschaltkreise
Programmierbare Logikblöcke
Die Grundstruktur einer universell programmierbaren Logikfunktion ist
ein programmierbarer Speicherblock aus einer UND-Matrix für die
Zeilenauswahl und einer ODER-Matrix zur Verknüpfung von
Zeilenauswahlsignalen.
Mit einer UND-Matrix, die für jede der 2n (n – Anzahl der Eingänge)
genau eine Zeile auswählt, lässt sich jede beliebige Wertetabelle mit
n-Eingabebits einprogrammieren.
xn−1 x2 x1 x0
2n Auswahlsignale
···
UND-Matrix ODER-Matrix
(1 aus 2n - Decoder) · · · (programmierbar)
···
y0 y1 y2 ym−1
G. Kemnitz · Institut für Informatik, TU Clausthal (EDS_F5) 12. Juli 2023 121/135
5. Programmierbare Logikschaltkreise
Programmieren einer Beispielfunktion
x2 x1 x0 ODER-Matrix
H H
H H Pull-Up-Element
p0 = x̄2 x̄1 x̄0
H Treiber
p1 = x̄2 x̄1 x0
H
p2 = x̄2 x1 x̄0 normaler
··· Transistor
··· ···
H program-
p7 = x 2 x 1 x 0
mierbarer
Transistor
UND-Matrix ständig gesperrt
y 1 = p0 ∨ p2 y 2 = p2 ∨ p7 einschaltbar
Funktionen mit mehr als n Eingabebits werden aus mehreren
Tabellenfunktionen zusammengesetzt und auf mehrere
programmierbare Logikblöcke verteilt.
G. Kemnitz · Institut für Informatik, TU Clausthal (EDS_F5) 12. Juli 2023 122/135
5. Programmierbare Logikschaltkreise
Abdeckung mit Tabellenfunktionen
Gegeben sein eine m > n-stellige Funktion. Diese soll aus n-stelligen
Funktionen (n ∈ 3, 4, 5) zusammengesetzt werden. Aufstellung des
Berechnungsflusses, z.B. als Ausdruck oder Entscheidungsbaum und
Abdeckung von Teilgraphen mit nicht mehr als n Eingängen:
G. Kemnitz · Institut für Informatik, TU Clausthal (EDS_F5) 12. Juli 2023 123/135
5. Programmierbare Logikschaltkreise
Beispiel sei die Abdeckung einer 5-stelligen mit zwei 3-stelligen
Logikfunktionen:
y = x1 x2 (x3 ∨ x4 ∨ x5 )
y
∧ ∨
x1 x2 ∨
x3
x4 x5
Tabellenfunktion 1 : z = x3 ∨ x4 ∨ x5
Tabellenfunktion 2 : y = x1 x2 z
G. Kemnitz · Institut für Informatik, TU Clausthal (EDS_F5) 12. Juli 2023 124/135
5. Programmierbare Logikschaltkreise
Tabellenfunktion 1 : z = x3 ∨ x4 ∨ x5
Tabellenfunktion 2 : y = x1 x2 z
x3
x4
x5
Tabellenfunktion 1 Tabellenfunktion 2
z = x3 ∨ x4 ∨ x5 y = x1 x2 z
x5 x4 x3 z x2 x1 z y
z y
0 0 0 0 0 0 0 0
0 0 1 1 0 0 1 0
x3 0 1 0 1 z 0 1 0 0
0 1 1 1 0 1 1 0
x4 1 0 0 1 x1 1 0 0 0
1 0 1 1 1 0 1 0
x5 1 1 0 1 x2 1 1 0 0
1 1 1 1 1 1 1 1
x1
x2
y
G. Kemnitz · Institut für Informatik, TU Clausthal (EDS_F5) 12. Juli 2023 125/135
5. Programmierbare Logikschaltkreise
Programmierbare UND-Matrix
Bei der Schaltungsminimierung mit KV-Diagrammen oder nach Quine
und McCluskey ist das Ergebnis eine ODER-Verknüpfung minimierter
Konjunktionen.
x2
d
0 0 1 0 a: x̄3 x̄1 x0
1 b: x2 x̄1 x0
a
1 1b 0
x0 c: x̄3 x2 x0
0 1 0 0
c
x1 d: x3 x2 x̄0
0 0 1d 0 y = x̄3 x̄1 x0 ∨ x3 x̄1 x0 ∨ x̄3 x2 x0 ∨ x3 x2 x̄0
x3
G. Kemnitz · Institut für Informatik, TU Clausthal (EDS_F5) 12. Juli 2023 126/135
5. Programmierbare Logikschaltkreise
xn−1 x2 x1 x0 ODER-Verknüpfung
aller Produktterme H Pull-Up-Element
... H
H Treiber
p1 = x̄2
H
p2 = x̄n−1 x̄0 normaler
H Transistor
p3 = x 0
H program-
p4 = x̄n−1 x2 x0 mierbarer
Transistor
programmierbare ständig gesperrt
UND-Matrix y = p4 ∨ p 3 ∨ p 2 ∨ p 1 einschaltbar
G. Kemnitz · Institut für Informatik, TU Clausthal (EDS_F5) 12. Juli 2023 127/135
5. Programmierbare Logikschaltkreise
Weitere Programmierelemente
Logikschaltkreise mit programmierbarer UND-Matrix haben in der
Regel zusätzlich eine programmierbare Ausgabeinvertierung, damit
die Funktion auch nach den Nullen entwickelt werden kann:
Logikschaltung 0
mit programmier- =1 D 1
ter UND-Matrix Init Programmierstelle
zur Überbrückung
Programmierstelle zur Speicherzelle
Ausgabeinvertierung
programmierbarer Takt- und
Initialisierungsanschluss
G. Kemnitz · Institut für Informatik, TU Clausthal (EDS_F5) 12. Juli 2023 128/135
6. Schaltungsentwurf mit FPGAs
G. Kemnitz · Institut für Informatik, TU Clausthal (EDS_F5) 12. Juli 2023 129/135
6. Schaltungsentwurf mit FPGAs
Rechnereingabe in VHDL
G. Kemnitz · Institut für Informatik, TU Clausthal (EDS_F5) 12. Juli 2023 130/135
6. Schaltungsentwurf mit FPGAs
Das Constraint-File
G. Kemnitz · Institut für Informatik, TU Clausthal (EDS_F5) 12. Juli 2023 131/135
6. Schaltungsentwurf mit FPGAs
Synthese
G. Kemnitz · Institut für Informatik, TU Clausthal (EDS_F5) 12. Juli 2023 132/135
6. Schaltungsentwurf mit FPGAs
sw(7:0) ibuf obuf
I O I1 O I O led(3:0)
I0 lut2
sw 0 IBUF led 0 obuf
ibuf
I O led 0 annd00001
sw 1 IBUF
ibuf obuf
I O I1 O I O
I0 lut2
sw 2 IBUF led 1 obuf
ibuf
I O led 1 not00001
sw 3 IBUF
ibuf obuf
I O I1 O I O
I0 lut2
sw 4 IBUF led 2 obuf
ibuf
I O led 2 or00001
lut programmierte
sw 5 IBUF Tabellenfunktion
(look-up table)
ibuf obuf
I O I1 O I O ibuf Eingangstreiber
I0 lut2 (input buffer)
sw 6 IBUF led 3 obuf
obuf Ausgangstreiber
ibuf (output buffer)
I O Mxor led<3> Result1
sw 7 IBUF
G. Kemnitz · Institut für Informatik, TU Clausthal (EDS_F5) 12. Juli 2023 133/135
6. Schaltungsentwurf mit FPGAs
Verdrahtung
Nach der Synthese folgt die Platzierung der einzelnen Funktionsblöcke
und ihre Verdrahtung. Ein FPGA besteht aus konfigurierbaren
Funktionsblöcken (LUTs), EA-Schaltungen, Multiplizierern,
Blockspeichern (BRAM),... und programmierbare
Verbindungsnetzwerken (VN).
LUTs
VN sw(4)
sw(5)
BRAM
led(2)
EA
sw(2)
G. Kemnitz · Institut für Informatik, TU Clausthal (EDS_F5) 12. Juli 2023 134/135
6. Schaltungsentwurf mit FPGAs
Ein vergrößerter Ausschnitt mit dem Logikblock, in den das
EXOR-Gatter programmiert ist, und den beiden Eingangstreibern vor
dem EXOR. Handverdrahtung ist möglich, aber nicht zu empfehlen.
Pin sw(6)
LUT mit EXOR-Funktion mit ibuf
Leitung zu
led(3)
progr.
progr. Verbindungs-
Verbindungs- netzwerk
netzwerk Pin sw(7)
mit ibuf
G. Kemnitz · Institut für Informatik, TU Clausthal (EDS_F5) 12. Juli 2023 135/135