Sie sind auf Seite 1von 135

Grundlagen der Digitaltechnik

Foliensatz 5: Vom Transistor zur


Schaltung
G. Kemnitz

Institut für Informatik, TU Clausthal (EDS_F5)


12. Juli 2023

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.

Grundkenntnisse der aktuellen Schaltungstechnik werden vor allem für


die Abschätzungen der Realisierbarkeit, des Aufwands, der
Geschwindigkeit und des Stromverbrauchs benötigt.

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

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

MOS-Transistoren als Schalter


CMOS-Gatter bestehen aus zwei Arten von Transistorschaltern:
NMOS-Transistoren zum Schalten einer Verbindung nach ’0’ (⊥,
Masse, negativer Anschluss der Spannungsversorgung) und
PMOS-Transistoren zum Schalten einer Verbindung nach ’1’ (UV ,
positiver Anschluss der Spannungsversorgung).
NMOS-Transistor PMOS-Transistor
(Low-Side-Schalter) (High-Side-Schalter)
D D UV UV
G G S S
G B G
S B S
D D
S Source, Verbindung zu ’0’ bzw. ’1’ D Drain, Verbindung zum
G Gate, Steuereingang Gatterausgang
B Bulk (Subtrat), mit ’0’ bzw. UV Versorgungsspannung
’1’ zu verbinden ⊥ Masse

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

In der vereinfachten Schaltungsdarstellung werden die mit UV und


Masse verbundenen Bulk-Anschlüsse weggelassen.

G. Kemnitz · Institut für Informatik, TU Clausthal (EDS_F5) 12. Juli 2023 8/135
1. Gatterentwurf 1. MOS-Transistoren als Schalter

Aufbau und Funktion von MOS-Transistoren


MOS-Transistoren bestehen aus n- und p-leitfähigen Gebieten.
P-leitfähig bedeutet, dass die beweglichen Ladungsträger positiv
geladen sind (Löcher) und n-leitfähig, dass sie negativ geladen sind
(bewegliche Elektronen). Die Leitfähigkeit wird durch die gezielte
Einbringung von Fremdatomen in das Kristallgitter (Dotierung)
eingestellt.
B S G D D G S B

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

Über den Halbleitergebieten befinden sich, getrennt durch


Isolationsschichten Metallebenen für die Verdrahtung der Transistoren
zu Gattern und Funktionsblöcken (nicht dargestellt).

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

0 < UG < Uth n+ n+


p-Substrat Verarmungsschicht z (Tiefe)

Aufladung mit ortsfesten Ionen

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

Ein PMOS-Transistor funktioniert genauso. Nur sind p- und


n-Leitfähigkeiten und alle Spannungsvorzeichen umgekehrt.
1 Der Bezeichner Source bedeutet Quelle der beweglichen Ladungsträger. Das ist von

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

Ein CMOS-Inverter besteht aus einem NMOS-Transistor, der bei einer


Eins am Eingang den Ausgang mit Masse und einem PMOS-Transistor,
der bei einer Null am Eingang den Ausgang mit UV verbindet.
x NMOS-Transistor PMOS-Transistor y
0 ausgeschaltet eingeschaltet 1
1 eingeschaltet ausgeschaltet 0

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

Eine Parallelschaltung ist eine ODER- und eine Reihenschaltung eine


UND-Verknüpfung. NMOS-Transistoren sind zum Schalten von
Verbindungen nach ’0’ und PMOS-Transistoren von Verbindung nach
’1’ geeignet. Umgekehrt elektrisch problematisch.

G. Kemnitz · Institut für Informatik, TU Clausthal (EDS_F5) 12. Juli 2023 15/135
1. Gatterentwurf 1. MOS-Transistoren als Schalter

Vom geschalteten Netzwerk zum Gatter


Pull-Up-Netzwerk (PMOS) Modell des Gatterausgangs
1 fp yp
fp 0 Z
yp yp ∈ {Z, 1}
1 1 yp yn y
y
Pull-Down-Netzwerk (NMOS) Z Z Z
yn ∈ {Z, 0} Z 0 0
yn fn yn
fn 1 Z 1
0 Z 1 0 !
0 1 0 ! verboten

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

Gatter, dessen Ausgang auch hochohmig


gesteuert werden kann
1
UV
x̄1 x2 x1 fp fn yp yn y
x1
yp yp 0 0 1 0 1 Z 1
y y
yn yn 0 1 0 0 Z Z Z
x2 1 0 1 0 1 Z 1
x1 ∧ x2 1 1 0 1 Z 0 0
x1
0

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

Das einfachste Gatter, der Inverter

Schaltsymbol Transistorschaltung
UV
x y x y

fn = x
fp = x̄

Jeweils die Funktion eines Einzeltransistors.

G. Kemnitz · Institut für Informatik, TU Clausthal (EDS_F5) 12. Juli 2023 21/135
1. Gatterentwurf 2. FCMOS-Gatter

Entwurf eines NAND-Gatters

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

Ein Bus in einem Rechner


ist ein zentraler Informationsknoten,
oft mit mehreren Treibern,
von denen nur ein Treiber gleichzeitig senden darf.
Bustreiber müssen deaktivierbar (hochohmig schaltbar) sein.

G. Kemnitz · Institut für Informatik, TU Clausthal (EDS_F5) 12. Juli 2023 27/135
1. Gatterentwurf 3. Deaktivierbare Treiber

Treiber für ein Bitsignal

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

Pull-Up- und Pull-Down-Elemente


Gatter mit Pull-Down-Widerstand Gatter mit Pull-Up-Widerstand
yp ∈ {’Z’, ’1’} UV (’1’)
y
’L’ yp y yn y
’Z’ ’L’ ’H’ ’0’ ’0’
’1’ ’1’ y ’Z’ ’H’
’0’ yn ∈ {’Z’, ’0’}

Ein Pull-Down-Element erzeugt eine schwache Null,


std_logic–Wert ’L’.
Ein Pull-Up-Element erzeugt eine schwache Eins,
std_logic-Wert ’H’.
Schwache Werte überschreiben ’Z’.
Starke Wert (’0’, ’1’) überschreiben schwache Werte (’L’, ’H’, ’Z’).

G. Kemnitz · Institut für Informatik, TU Clausthal (EDS_F5) 12. Juli 2023 29/135
1. Gatterentwurf 3. Deaktivierbare Treiber

NOR-Gatter mit Pull-Up-Widerstand


UV
’H’
x2 x1 fn yn y
y
’H’ yn ’0’ ’0’ ’0’ ’H’ ’Z’ ’H’
y ’0’ ’1’ ’1’ ’H’ ’0’ ’0’
yn x1 ∨ x2
’1’ ’0’ ’1’ ’H’ ’0’ ’0’
x1 x2 ’1’ ’1’ ’1’ ’H’ ’0’ ’0’
0
Das Pull-Up-Element ersetzt das PMOS-Netzwerk. Die
Nachfolgeschaltung unterscheidet nicht zwischen schwachen und
starken Signalwerten.
Vorteil: weniger geschaltete Transistoren.
Nachteil: Stromaufnahme außerhalb der Schaltvorgänge ist
größer null.

G. Kemnitz · Institut für Informatik, TU Clausthal (EDS_F5) 12. Juli 2023 30/135
1. Gatterentwurf 3. Deaktivierbare Treiber

Geladene Kapazität als Pull-Up-Element


UV E A E A E A E
T 1
Pull-Up- T y 0

CL z Z
Element 0

z y 1
0

xn−1 xn−2 x0 A Aufladen von CL


...
E Entladen von CL , wenn fn (xn−1 ∨ . . . ∨ x0 ) = 1

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

Bus mit mehreren Signalquellen (Wired-AND)


Signalquellen, bestehend aus dem Pull-Down-Netzwerk +
Busverbindung mit Pull-Up-Element.
Wenn alle Quellen ’Z’, Bussignal ’H’, sonst ’0’.
Pull-Up-Element
aktive Quelle ’H’ inaktive Quellen
Bus y
x i yq Fehlersignal: aktiv,
’0’ ’Z’ wenn ein zweiter ’Z’ ’Z’
’1’ ’0’ ≥1 aktiver Treiber am
Bus erkannt wird 0 0
xi ∈ {’0’, ’1’} yq Treiberwert der aktiven Quelle

Fehler-/Kollisionserkennung: NOR-Gatter, das kontrolliert, ob auf


dem Bus eine ’1’ ankommt, wenn die aktive Quelle ’Z’ sendet.

G. Kemnitz · Institut für Informatik, TU Clausthal (EDS_F5) 12. Juli 2023 32/135
1. Gatterentwurf 4. Transfergatter und Multiplexer

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

PMOS-Transistor dauert länger und liefert Ausgangsspannungen näher am verbotenen


Bereich. Langsamer und unzuverlässiger.

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

ROBDD3 ⇒ Multiplexer ⇒ Transistorschaltung


M1 M2
1 s2 1 s2 z2p
0 0 z1 M3 s1
1 M3 s̄2 z2 s1 s̄2
z1p
s2 0 s̄2 s1 s2 s̄1
s3 y s3 y s3 y
M2 1 z2n
s2 z1 s̄1 s̄2 s1
0 z2
s1 s̄1
1 1 s2 s2 z1n
s̄1
s2 0 s̄2 0 s̄2
M1
M3 UV
s1
0 1 s̄1
y
M1 s2 s2 M2 s1
1 0
0 1 s̄2
0 s3 1 s2
0 1 s3
ROBDD
3 ROBDD Reduced Ordered Binary Decision Diagram – binäres

Entscheidungsdiagramm zur Beschreibung einer logischen Funktion.

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

NMOS-Transistor PMOS-Transistor G Gate


S Source
B S G D D G S B
D Drain
B Bulk
p+ n+ n+ p+ p+ n+ p stark dotiert (p+)
n stark dotiert (n+)
Polysilizium (Gate)
schwache p-Dotierung n-Wanne
Isolator (SiO2 )

Anordnung von Flächenelementen. Die Schichtfolge in der Tiefe legt


der Fertigungsprozess fest. Die Verdrahtung erfolgt darüber in
mehreren isolierten Metallschichten mit Durchkontaktierungen.

G. Kemnitz · Institut für Informatik, TU Clausthal (EDS_F5) 12. Juli 2023 38/135
1. Gatterentwurf 5. Geometrischer Entwurf

Entwurf eines Inverters

Die Source- und Drain-Gebiete sind parallel


angeordnete Streifen. Das Gate ist ein
Polysilizium-Streifen darüber, der bei der
Fertigung als Maske für den Kanal zwischen
den Source- und Draingebieten dient.
Durchkontaktierungen sind mit Metall
gefüllte Löcher in Isolationsschichten.
Jede Technologie hat Entwurfsregeln
für Minimalabmessungen, Minimalabstände, Minimalüberlagerungen,
... die vor der Maskenerstellung automatisch geprüft werden.

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

n-Gebiet Polysilizium Durchkontaktierung


p-Gebiet Metall

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

Dieser Abschnitt untersucht die Abhängigkeiten beider Zeitparameter


von Schaltungs- und Geometriemerkmalen.

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

(Rp , Rn – Widerstand des eingeschalteten PMOS- bzw.


NMOS-Netzwerks; CL – Lastkapazität).

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

Für die nachfolgenden Überschläge:


Annäherung der Ein- und Ausschaltzeit durch τein und τaus
Vernachlässigung, dass Rp/n von up/n abhängt4 .
4 Vereinfacht die Lösung der DGL auf der Folie zuvor erheblich und führt am Ende

zur selben empirischen Abschätzung der Gatterverzögerung.

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

Einschaltwiderstände der Transistoren eines


Inverters
NMOS x y PMOS y
x
UV
B S G D D G S B
UV
wn
wp
p+ n+ n+ p+ p+ n+ y
x
p n
ln lp
Ausgang Last

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

Kapazität CLA am Ausgang des Inverters


NMOS x y PMOS y
x
UV
B S G D D G S B
UV
wn
wp
p+ n+ n+ p+ p+ n+ y
x
p n
ln lp
Ausgang Last

Abschätzung über das Modell des Plattenkondensators:


A
C =ε·
d
(ε - Dielektrizitätskonstante; A – Fläche; d – Abstand).
Unter den Annahmen Drain-Breite und Sperrschichtdicke konstant:
CLA = kCA · (wpA + wnA )
(w...A – Transistorbreiten Treiber; kCA – Proportionalitätsfaktor).

G. Kemnitz · Institut für Informatik, TU Clausthal (EDS_F5) 12. Juli 2023 47/135
2. Signalverzögerung 1. Inverter

Gate-Kapazitäten der getriebenen


Lasttransistoren
NMOS x y PMOS y
x
UV
B S G D D G S B
UV
wn
wp
p+ n+ n+ p+ p+ n+ y
x
p n
ln lp
Ausgang Last

Unter den Annahmen Drain-Breite und Sperrschichtdicke konstant,


verhält sich die Summe der Gate-Kanal-Kapazitäten aller
Lasttransistoren proportional zur Summe von deren Breiten:
X X 
CLL = kCL · wpL + wnL
P
( w...L – Summe der Breiten der getriebenen Lasttransistoren; kCL –
Proportionalitätsfaktor).

G. Kemnitz · Institut für Informatik, TU Clausthal (EDS_F5) 12. Juli 2023 48/135
2. Signalverzögerung 1. Inverter

Grund- und lastabhängige Verzögerung


X X 
CL = CLA + CLL ≈ kCA · (wpA + wnA ) + kCL · wpL + wnL
2 · RNQ · lpA RNQ · lnA
tein ≈ · CL ; taus ≈ · CL
wpA wnA
 
P
( wL )
tein ≈ taus ≈ τA + τL ·
wA
 
Für tein ≈ taus , d.h. wp ≈ 2 · wn betragen Grundverzögerung:
RNQ · lnA · kCA · (wpA + wnA )
τA = = 3 · RNQ · lnA · kCA
wnA
und lastabhängige Verzögerung (unabhängig von w... ):
P P
RNQ · lnA · kCL · ( wpL + wnL )
τL = P = 3 · RNQ · lnA · kCL
wnL

G. Kemnitz · Institut für Informatik, TU Clausthal (EDS_F5) 12. Juli 2023 49/135
2. Signalverzögerung 1. Inverter

Schätzen von τA und τL mit Ringinvertern


Ein Ring aus einer ungeraden Anzahl von Invertern schwingt mit einer
Periodendauer gleich der Summe aller Ein- und Ausschaltzeiten:
NInv
X
TP = (tein.i + taus.i )
i=1

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

Zur getrennten Bestimmung von τA und τL ist ein weiterer Ringinverter


mit baugleichen Invertern und mehr Lasten erforderlich.

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

Gatter mit mehreren Eingängen


Bei Gattern mit mehreren Eingängen erfolgt die Auf- und Entladung
der Lastkapazitäten über unterschiedliche Transistoren. Bei einer
Reihenschaltung addieren sich die Ersatzwiderstände, über die der
Gatterausgang umgeladen wird, und bei einer Parallelschaltung
addieren sich die Kehrwerte.
1 0
1 1 0 0
1 0
1 1 1 r1 ·r2
rges = r1 + r2 rges = r1 + r2 rges = r1 +r2

(r – relative Widerstandserhöhung gegenüber einem Standard-NMOS-


bzw. PMOS-Transistor).

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

Alle PMOS-Transistoren des Treibergatters sollen die 2/cP -fache Breite


der NMOS-Standardtransistoren haben:
wn = 1 · w0
2 4
wp = cp
· wn = 3
· w0
tein ≤ cP · rp. max · (τA + 3 · τL ) = 3 · (τA + 3 · τL )
taus ≤ rn. max · (τA + 3 · τL ) = 3 · (τA + 3 · τL )
(w0 – Breite der NMOS-Standardtransistor)
G. Kemnitz · Institut für Informatik, TU Clausthal (EDS_F5) 12. Juli 2023 56/135
2. Signalverzögerung 2. Logikgatter

Halte- und Verzögerungszeit


UV x5 x4 x3 x2 x1 cp · rp rn
x1 x2 x4
0 1 0 1 3 3
x3 x5
y 1 1 0 1 3 2,5
x4 x5
1 1 0 1 3 1,5
x2
1 0 0 0 2,25 2
x1 x3 ··· ··· ···
tein = cP · rp · (τA + 3 · τL )
taus = rn · (τA + 3 · τL )
Maximale Verzögerung:
td ≤ 3 · (τA + 3 · τL )
Minimale Haltezeit:
th ≥ 1,5 · (τA + 3 · τL )
th ≪ td für Gatter mit parallelen Transistoren unvermeidbar.
G. Kemnitz · Institut für Informatik, TU Clausthal (EDS_F5) 12. Juli 2023 57/135
2. Signalverzögerung 3. Puffer

Puffer

G. Kemnitz · Institut für Informatik, TU Clausthal (EDS_F5) 12. Juli 2023 58/135
2. Signalverzögerung 3. Puffer

Gepufferte CMOS-Gatter

Die Verzögerung erhöht sich gegenüber einem einfachen Inverter


als Treiber um die Stockungstiefe s (Anzahl der in Reihe
geschalteten Transistoren) im NMOS-Netzwerk:
td = s · (τA + NL · τL )

Die lastabhängige Verzögerung wächstP mit dem Produkt aus


Stockungstiefe s und Lastzahl NL = ( ww
A
L)
. Wenn alle PMOS-
und NMOS-Transistoren gleichbreit sind, ist die Lastanzahl die
Anzahl der getriebenen Gattereingänge.
Zur Minimierung der Verzögerung werden zwischen Gattern mit
großer Stockungstiefe und großer Lastanzahl Inverter eingefügt.

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

Im Beispiel verringern die zwei zusätzlichen Inverter die


Gatterverzögerung von 3 · τA + 27 · τL auf 5 · τA + 9 · τL .
Insbesondere ein Problem bei Taktleitungen für tausende
Abtastregister, Schreib-, Auswahl- und Leseleitungen in Speichern, an
die hunderte Speicherzellen angeschlossen sind, ...

G. Kemnitz · Institut für Informatik, TU Clausthal (EDS_F5) 12. Juli 2023 60/135
2. Signalverzögerung 3. Puffer

Treiber für große Lastanzahl


Signale für sehr viele Lasten, z.B. Takt- und Initialisierungssignale,
werden mit Treiberbäumen erzeugt, in denen sich die Transistorbreiten
nach einer geometrischen Reihe erhöhen:
td1 td2 td3 td4

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

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

Das Prinzip einer dynamischen Speicherzelle


y x 1
& 0
x 1
CL E 0
E uy
1
uy
E x y Sicherheits- bereich X
0
0 0 Z
0 1 Z y 10 X
1 0 0
1 1 1 td td thZ

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

Das Prinzip einer statischen Speicherzelle

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
ȳ ȳ

Wie lässt sich der Zustand einstellen und ändern?

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

D-Flipflop mit Initialisierungseingang


Eine Speicherzelle hat nach Zuschalten der Versorgungsspannung
einen unbestimmten Anfangszustand (unbestimmt, ’U’). Speicherzellen
insbesondere für die Zustandsspeicherung von Automaten benötigen
deshalb einen zusätzlichen Setz- oder Rücksetzeingang, realisiert
durch Erweiterung eines der Inverter zu einem NAND- oder
NOR-Gatter.
thx , tdx I 1
0
1
x 0
0 tdi 1
E 0
x 1 ≥1 y
1
y 0
U
E I
U nicht initialisiert Zeitfenster, in dem x gültig sein muss

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

Register und sein Zeitverhalten


ts , tn thr , tdr
n n
p r o c e s s (T) x y
begin T
i f r i s i n g _ e d g e (T) then
T
y <= <ungueltig> a f t e r
ts tn ts tn
th r , x a f t e r t d r ;
x w1 w2
−− K o n t r o l l e A b t a s t f e n s t e r
wait f o r tn ; y w0 w1 w2
i f x ’ l a s t _ e v e n t < t s + tn then thr
y <= <ungueltig> ; tdr
end i f ; ts Vorhaltezeit tdr Verzögerungszeit
end i f ; tn Nachhaltezeit thr Haltezeit
end p r o c e s s ; Abtastfenster Wert ungültig
Halte- und Verzögerungszeit beziehen sich auf die Taktflanke.
Signalwechsel und ungültige Werte im Abtastfenster invalidieren
den gespeicherten Wert. (Siehe auch Foliensatz EDS-F2.)

G. Kemnitz · Institut für Informatik, TU Clausthal (EDS_F5) 12. Juli 2023 74/135
3. Latches und Register 3. Register

Gepulstes Latch zur Taktflankenübernahme


Bei Ansteuerung mit kurzen Freigabeimpulsen kann ein Latch auch als
Register dienen. Die Freigabeimpulse können z.B. mit der
dargestellten Schaltung zur Glitch-Erzeugung aus dem Takt gebildet
werden. Das so gebildete Register benötigt keine Vorhaltezeit ts = 0,
dafür aber eine Nachhaltezeit tn > 0.
thL , tdL T
1
0
td1
n n
td1 x x y z
1
0
td2 td2
& E E
1
T E
0
z ts = 0 tn = td1
td2
x w1
ts Vorhaltezeit Wert ungültig tdR = tdL
Bezugszeit der ⇒
tn Nachhaltezeit Abtastfenster Übernahme thR = thL
thr Registerhaltezeit wi Datenwert
y w0 w1
tdr Registerverzögerung

G. Kemnitz · Institut für Informatik, TU Clausthal (EDS_F5) 12. Juli 2023 75/135
3. Latches und Register 3. Register

Register-Transfer-Funktion mit gepulsten Latches


TP TP
1
E 0
tn thr , tdr thf , tdf ts = 0, tn > 0 thr , tdr tdr
thr
x x y = f (x) x y’ x’ w0 w1 w2
x’ y
E E tdf
E thf
tn
thr + thf > tn tdr + tdf < TP y f (w0 ) f (w1 )

Wegen der Nachhaltezeit des Latches tn > 0 ist von der


Verarbeitungsfunktion eine Mindesthaltezeit zu fordern. Eine Schaltung
mit gepulsten Latches als Register ist laufzeitkritischer als eine mit
Master-Slave-Flipflops als Register (siehe nächste Folie).
Da Zuverlässigkeit und Robustheit gegen Fehler in der Digitaltechnik
meist wichtiger als Chipfläche sind, sind Schaltungen mit gepulsten
Latches als Register weniger gebräuchlich.

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

Ein Master-Slave-Flipflop besteht aus zwei Flipflops. Vor der aktiven


Taktflanke übernimmt der Master und der Slave speichert. Nach der
aktiven Taktflanke gibt der Master die gespeicherten Daten an den
Slave weiter. Die Eingabedaten brauchen eine Vorhaltezeit (ts > 0),
aber keine Nachhaltezeit (tn = 0).

G. Kemnitz · Institut für Informatik, TU Clausthal (EDS_F5) 12. Juli 2023 77/135
3. Latches und Register 3. Register

Register mit Taktversatz


tsZ thZ , tdZ t∆T
1
T
x0 y0 0

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

Bei einem Register besteht zwischen den Takteingängen der einzelnen


Speicherzellen immer ein geringer Taktversatz. Das
Unsicherheitsfenster ist in der Vor- und Nachhaltezeit des Registers zu
berücksichtigen.
G. Kemnitz · Institut für Informatik, TU Clausthal (EDS_F5) 12. Juli 2023 78/135
3. Latches und Register 3. Register
t∆T
1
T 0

x wi
tsZ (tnZ = 0)
tsR tnR
y wi−1 wi
thR tdR
thZ tdZ

Frühestmögliche Taktflanke als Bezugszeitpunkt:


tsR = tsZ thR = thZ
tnR = t∆T tdR = t∆T + tdZ
Spätestmögliche Taktflanke als Bezugszeitpunkt:
tsR = tsZ + t∆T thR = thZ − t∆T
tnR = 0 tdR = tdZ
(Index R steht für Register und Index Z für Speicherzelle.)

G. Kemnitz · Institut für Informatik, TU Clausthal (EDS_F5) 12. Juli 2023 79/135
3. Latches und Register 3. Register

Freigabe- und Initialisierungseingang


s i g n a l x , y : std_logic_vector(n−1 downto 0 ) ;
s i g n a l E , I , T : std_logic ;
...
process ( I , T ) :
begin
i f I = ’1 ’ then y <= aw ;
e l s i f E= ’1 ’ and r i s i n g _ e d g e (T) then y<=x ;
end i f ;
end p r o c e s s ;

Schaltung mit Multiplexer Schaltung mit Taktblockierung


Master Slave Master Slave
0 x x x
x x y y
x 1 E E T E E
E I & I
E x
T E ∗
E
I I

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

Taktnetze Treiber, Ausgleich von


Laufzeitunterschieden
Oszillator
(Basistakt) ···

Ableitung zeitlich
ausgerichteter Takte ···

Taktnetze bestehen aus Treibern und Verbindungsnetzwerken, die die


Taktsignale glitchfrei und mit geringem Taktversatz an alle
Speicherzellen der Register verteilen. Für die Spartan-FPGAs aus der
Übung sind Taktsignale entweder über Schaltkreisanschlüsse
einzuspeisen, die Zugang zum Taktnetz haben, oder über
BUFG-Treiber zu leiten. Sonst gibt es eine Warnung »kombinatorisch
gebildeter Takt o.ä.6 .
6 Ignorieren dieser Warnungen kann schwer lokalisierbare Fehlfunktionen zur Folge

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

Erzeugung phasenkorrigierter Taktsignale


Johnson-Zähler
T0 T1 T2 T3
x x x x
Power-on-Reset I I I I
TRef Phasen- TVCO
vergleicher, eigentliche Schaltung
Integrator
TIst und VCO Rdy x x yout
I I Tout
Taktrückführung Treiber

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, ...) .

Schreib-/Lese-Steuerung und Spaltenauswahl


.. .
sj . sj+1 ..
zi
Zelle Zelle
Schnitt- Zeilen- ··· ···
stellen- (i, j) (i, j + 1)
auswahl
signale zi+1
Zelle Zelle
··· ···
(i + 1, j) (i + 1, j + 1)
zi Zeilensignale .. ..
s j Spaltensignale . .

G. Kemnitz · Institut für Informatik, TU Clausthal (EDS_F5) 12. Juli 2023 88/135
4. Blockspeicher
Speicherarten
Speicherart
Festwertspeicher Schreib-/Lese-Speicher

vom Hersteller mehrmals pro- statisch dynamisch


programmiert grammierbar
(ROM) (EEPROM) Einport (RAM) Mehrport assoziativ

Festwertspeicher: nur einmal oder nur mit großem Zeitaufwand


beschreibbar. Datenerhalt auch ohne Versorgungsspannung über
Jahre.
Schreib/Lese-Speicher: Schreibzeit in der Größenordnung der
Lesezeit; Datenverlust ohne Betriebsspannung.
Dynamische Speicher: Speichern in Kapazitäten; sehr hohe
Speicherdichte, verlieren ihre Daten ohne Auffrischen nach
wenigen Millisekunden.
Mehrportspeicher: paralleler wahlfreier Zugriff.
Assoziativspeicher: inhaltsadressiert, zusätzliche parallele
Suchfunktion.
G. Kemnitz · Institut für Informatik, TU Clausthal (EDS_F5) 12. Juli 2023 89/135
4. Blockspeicher 1. SRAM

SRAM

G. Kemnitz · Institut für Informatik, TU Clausthal (EDS_F5) 12. Juli 2023 90/135
4. Blockspeicher 1. SRAM

Statische Schreib/Lese-Speicher (SRAM)


Spaltenauswahl
x W bj r̄j s̄j
x bj setzen 1 1 1 1 0
W rücksetzen 0 1 1 0 1
Schreib-
schaltung & lesen - 0 1 Z∗ Z∗
Lese- keine
schal- y Operation - - 0 Z∗ Z∗
tung
Zeilenauswahl

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

Bei Zeilenauswahl (zi = 1) bewirken die Spaltenansteuerungen


r̄ = s̄ = ’Z’: Zelle kann gelesen werden.
(r̄ = 0) ∧ (s̄ = H): Schreiben einer null (Rücksetzen) und
(r̄ = H) ∧ (s̄ = 0): Schreiben einer eins (Setzen).

G. Kemnitz · Institut für Informatik, TU Clausthal (EDS_F5) 12. Juli 2023 92/135
4. Blockspeicher 1. SRAM

Signalverläufe zum Lesen und Schreiben


Lesen Lesen Schreiben Schreiben
a LA1 LA2 SA1 SA2 a Adresssignal
tsa tna twr x Eingangsdaten
W W Schreibsignal
tsx tnx y Ausgabedaten
x X1 X2 thy Lesehaltezeit
tdy tdy Leseverzögerungszeit
thy
tsa Adressvorhaltezeit
y Y1 Y2 tna Adressnachhaltezeit
tsx Datenvorhaltezeit
LAi Leseadresse Yi gelesener Wert tnx Datennachhaltezeit
SAi Schreibadresse Xi zu schreibender Wert twr Schreibpulsbreite

Die Halte- und Verzögerungszeiten von Speichern sind im Vergleich zu


Gattern sehr groß, weil an den Zeilen- und Spaltenleitungen viele
Lasten hängen. Das Schreibsignal darf nur bei gültiger Adresse und
Einhaltung der Vor- und Nachhaltebedingungen aktiviert werden, sonst
Risiko für schreiben auf falsche Adresse.

G. Kemnitz · Institut für Informatik, TU Clausthal (EDS_F5) 12. Juli 2023 93/135
4. Blockspeicher 1. SRAM

Modell eines RAM-Schaltkreises


tZO , tOZ Schaltkreisanschlüsse:
oe Ausgabefreigabesignal
oe E Kernfunktion cs Schaltkreisauswahlsignal
& y
cs Leseschaltung wr Schreibsignal
wr W adr Adresssignal
& Schreibtreiber
(deaktivierbar) dat bidirektionales Datensignal
x
dat Spaltenauswahl
a Verzögerung des Ausgabetreibers:
adr
tOZ Deaktivierungsverzögerung
Zeilen- tZO Aktivierungsverzögerung
auswahl (im Beispiel unten 2 × 4 ns)

Ein RAM als Schaltkreis hat zusätzlich eine Schnittstellenschaltung.


Asynchrone RAMs haben typisch einen bidirektionalen Datenbus für die
Ein- und Ausgabe und die low-aktiven Steuersignaleingänge cs (Chip
Select), wr (Write) und oe (Output Enable). Das Simulationsmodell be-
steht aus dem Modell für die Kernschaltung und der Beschreibung der
Schnittstellenschaltung.

G. Kemnitz · Institut für Informatik, TU Clausthal (EDS_F5) 12. Juli 2023 94/135
4. Blockspeicher 1. SRAM

Schneller laufzeitkritischer RAM-Controller


x’
x
a’ EW
a adr RAM- dat x y
W’ wr Schalt-
W
≥1 cs kreis
R’ oe
R
& ER E
T
a Adresssignal T Takt
x Eingabedaten EW Freigabesignal für Schreibdaten
y Ausgabedaten ER Übernahmesignal für gelesene Daten
W Schreibsignal individuell abzugleichende Verzögerung
R Lesesignal laufzeitkritische Teilschaltung

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

Einfach zu entwerfender RAM-Controller


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
T 1
0
Phase Stopp W1 W2 W3 W4 R1 R2 R3 R4 Stopp W3 R3
001 010 010 000
a’ SA1 LA1
cs 1
0 W4 br bw R4
wr 1
0 011 100 010 101
oe 1 bw sonst sonst br
0

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.

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

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

r̄j s̄j r̄j+1 s̄j+1


UV
H
vi
T8 T10 xi,j+1
T2 T4
T6
T5 T7 x̄ij
x̄i,j+1
xij T1 T3 T9
zi = 0

H
vi+1
xi+1,j xi+1,j+1
x̄i+1,j x̄i+1,j+1

Vergleichsschaltung auf Zellenebene (T7 bis T10)


fij = (r̄j ∧ x̄ij ) ∨ (s̄j ∧ xij ) = (dj ∧ x̄ij ) ∨ d¯j ∧ xij

WNS
Parallelschaltung innerhalb der Zeile: fi = j=1 fij

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

Lesen einer DRAM-Zelle


UV
ux (wenige
uCS CS Cx Millivolt)

Das Lesen beginnt mit einem Ladungsausgleich zwischen Zelle und


Datenleitung. Wegen der viel größeren Kapazität der Datenleitung Cx
gegenüber der Kapazität der Speicherzelle CS verringert sich die
Amplitude auf wenige Prozent:
(
CS 0 für eine gespeicherte »0«
Ux(+) = ·
CS + Cx uCS1 für eine gespeicherte »1«
Damit die Amplitudendifferenz auswertbar ist, darf an einer
Datenleitung nur eine begrenzte Anzahl von Speicherzellen
angeschlossen sein. Die Datenleitung muss vor jedem Lesevorgang
entladen werden. Die Auswertung erfolgt über Differenzbildung.

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

Übertragung der Zeilen- und Spaltenadressen nacheinander.


Auffrischen hat Vorrang, kann Zugriff verzögern.
Datenaustausch in größeren Blöcken sinnvoll.

G. Kemnitz · Institut für Informatik, TU Clausthal (EDS_F5) 12. Juli 2023 107/135
4. Blockspeicher 3. DRAM

Ansteuerung von DDR-DRAMs8


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

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

Das Prinzip von Festwertspeichern


Die Speicherelemente eines MOS-Festwertspeichers sind einzelne
Transistoren, die durch Programmierung entweder ein- und ausschalt-
bar oder nur einen der beiden Schaltzustände haben.
NOR-ROM: Parallelschaltung programmierter
NMOS-Transistoren. Die Zeilenauswahlschaltung steuert pro
Spalte nur den ausgewählten Transistor mit »1« und alle anderen
mit »0« an. Die nicht ausgewählten Transistoren sind aus. Schaltet
der ausgewählte Transistor nicht ein, sperrt die Parallelschaltung,
sonst schaltet sie ein.
NAND-ROM: Reihenschaltung programmierter Transistoren. Die
Zeilenauswahlschaltung steuert den ausgewählten Transistor mit
»0« und alle anderen mit »1« an. Die nicht ausgewählten
Transistoren schalten ein. Wenn der ausgewählte Transistor nicht
ausschaltet, schaltet die Reihenschaltung ein, sonst aus.

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

Schneller als der NAND-ROM.


G. Kemnitz · Institut für Informatik, TU Clausthal (EDS_F5) 12. Juli 2023 112/135
4. Blockspeicher 4. Festwertspeicher

NAND-ROM
Spaltenauswahl und Spaltenauswahl und
Pull-Up-Elemente Pull-Up-Elemente
H H
··· ···
1
Zeilenauswahl

Zeilenauswahl
··· ···
Adresse 0
Daten ··· ···
Steuer- 1 .. ..
signale . .
··· ···
1

programmierba- n+ -Gebiet Metallleiterbahn


rer Transistor Polysilizium-Streifen Durchkontaktierung

Flächensparender, weniger Stromverbrauch, aber langsamer als


NOR-ROM.

G. Kemnitz · Institut für Informatik, TU Clausthal (EDS_F5) 12. Juli 2023 113/135
4. Blockspeicher 4. Festwertspeicher

Deaktivierung von Transistoren bei der Fertigung


NOR-ROM: Erhöhung der Einschaltspannung, z.B. durch
belassen eines dicken Gate-Oxids: 00000000
11111111
00000000
11111111
00000000
11111111
11111111
00000000
11
00 Gi
00
11Isolator (SiO2 ) 11111111
00000000
00
11 000
111 000
111
Gi+1
00Gatestreifen
11 00000000
11111111
00
11 000
111 000
111
00
11
0
1 000
111
0
1 000
111 0
1
00
11
00
11n+ -Gebiete 1111
0000
0
1 1111
0000
0
1
immer schaltbar0
1
p-Substrat gesperrt
1111111
0000000
0000000
1111111
NAND-ROM: Kurzschluss von
Drain und Source:
0000000
1111111
0000000
1111111
Gi
0000000
1111111
00000
11111
0000000
1111111 000
111
Gi+1
00000
11111
0
1
00000
1111100
11 000
111
000
111 0
1
111
000
0
1 1111
0000
00
11 0
1
0
1 00
11
immer schaltbar1
0
leitend

G. Kemnitz · Institut für Informatik, TU Clausthal (EDS_F5) 12. Juli 2023 114/135
4. Blockspeicher 4. Festwertspeicher

Elektrisch einstellbare Einschaltspannung


Transistoren mit elektrisch einstellbarer Einschaltspannung haben ein
zweites vollständig im Gateoxid eingeschlossenes »Floating Gate«.
Positive Ladungen auf dem »Floating Gate« vergrößern und negative
verringern die Einschaltspannung. Die Datenhaltezeit für die Ladungen
hat eine Größenordnung von 10 Jahren. Danach müssen derartige
Speicher (Programmspeicher von Mikrorechnern, Memory-Sticks, etc.)
aufgefrischt werden.
S G D S Source
G Gate
Floating- D Drain
Gate Isolator (SiO2 )
Polysilizium
n+ -Gebiet
Kanal p-Substrat

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

Programmieren mit Tunnelströmen


Aufladen Entladen
D G D G Tunnelstrom
≈ 12 V ≈ −12 V Isolator (SiO2 )
Polysilizium
S S
n+ -Gebiete
p-Substrat

Bei elektrisch programmier- und löschbarer Einschaltspannung haben


die »Floating Gates« dünne Tunnelfenster (Dicke ≈ 10 nm) zum Source
oder Drain. Tunnelströme nehmen exponentiell mit der Spannung zu.
Die Programmierung erfolgt mit einer stark überhöhten Spannung. Das
Aufladen dauert in der Größenordnung von Millisekunden. Bei
normaler Betriebsspannung ist die Datenhaltezeit etwa 10 Jahre.

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

Sie ersetzen Schaltungen, die früher aus vielen Schaltkreisen


bestanden und sind hervorragend für Prototypen, Kleinserien und
studentische Praktika geeignet.

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

Alternative ist eine programmierbare UND-Matrix.

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:

2−stellige boolesche Funktionen

Teilgraphen mit max. 4 Eingangs−


und einer Ausgangskante

Die Zusammensetzung aus mehreren n-stelligen Funktionen verlangt


zusätzlich ein programmierbares Verbindungsnetzwerk.

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

Verdrahtungskanal programmierbare Verbindung


genutzte Verbindung programmierte Verbindung

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

Für die Programmierung so minimierter Ausdrücke ist eine


Schaltungsstruktur, bei der programmierbare UND-Terme
ODER-verknüpft werden, günstiger.

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

Die UND-Matrix, ein Draht-UND hat programmierbare Transistoren für


die direkten und negierten Werte aller Eingänge. Alle UND-Terme sind
ODER verknüpft. Diese Struktur erlaubt bei gleicher Anzahl von
Programmierstellen Funktionen mit mehr Eingängen, typ. 8 bis 16
Eingänge bei 4 bis 16 Produkttermen. Tabellenfunktionen in
programmierbaren Schaltkreisen haben nicht mehr als 3 bis 5
Eingänge.

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

Jede programmierbare Logikfunktion hat ein überbrückbares


Abtastregister. Größere programmierbare Logikschaltkreise haben
zusätzlich konfigurierbare Rechenwerke, Taktverteiler, Blockspeicher,
Prozessorkerne, ...

G. Kemnitz · Institut für Informatik, TU Clausthal (EDS_F5) 12. Juli 2023 128/135
6. Schaltungsentwurf mit FPGAs

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

Projekt anlegen, einige Konfigurationen vornehmen, ...


Beschreibung eingeben, Syntaxtest, optional Simulation, ...

G. Kemnitz · Institut für Informatik, TU Clausthal (EDS_F5) 12. Juli 2023 130/135
6. Schaltungsentwurf mit FPGAs
Das Constraint-File

Die Constraint-Datei enthält alle zusätzlichen Informationen zur


Vorgabe der Zielfunktion, die nicht in der VHDL-Datei stehen: die
Pin-Namen der Schaltungsanschlüssen (s.o.), Taktfrequenz, ...

G. Kemnitz · Institut für Informatik, TU Clausthal (EDS_F5) 12. Juli 2023 131/135
6. Schaltungsentwurf mit FPGAs

Synthese

Berechnung einer Schaltung aus der VHDL-Beschreibung. Im Beispiel


ist das trivial, weil die Schaltung nur aus vier Gattern besteht. Für
größere Entwürfe wird die Zielfunktion mit Bitvektoren, arithmetischen
Operatoren, Fallunterscheidungen, Unterprogrammen, ... beschrieben.
Die Synthese muss daraus die logischen Funktionen extrahieren,
optimieren, mit Teilschaltungen nachbilden, ...
Unser programmierbarer Schaltkreis hat statt Gatter als logische
Grundbausteine Tabellenfunktionen (LUT Look-Up Table, kleine
programmierbare Speicher). An den Anschlüssen werden Buffer
eingefügt, die die internen kleineren Spannungspegel (0/1V) auf die
größeren Anschlusspegel (0/2,5...3,3V) umsetzen.

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

spezielle Signalleitungen allgemeine Signalleitungen

G. Kemnitz · Institut für Informatik, TU Clausthal (EDS_F5) 12. Juli 2023 135/135

Das könnte Ihnen auch gefallen