hwr_kap04_vers23

Werbung
Lehrstuhl für
Eingebettete Systeme
Hardwarearchitekturen und Rechensysteme
4. Schaltnetze
Folien zur Vorlesung Hardwarearchitekturen und Rechensysteme von
Prof. Dr. rer. nat. U. Brinkschulte
Prof. Dr.-Ing. L. Hedrich
(basierend auf Materialien von Prof. Dr.-Ing. K. Waldschmidt)
Motivation
Schaltnetze sind kombinatorische digitale Schaltungen. Rechnerwerkzeuge
für den Entwurf und die Simulation dieser Schaltungen basieren auf der
Booleschen Algebra.
In diesem Kapitel wird das Verhalten und die Struktur einiger ausgewählter
Schaltnetze behandelt. Es sind Schaltnetze, die für den Aufbau von
Operationswerken in Prozessoren benötigt werden.
Uwe Brinkschulte  Eingebettete Systeme  Lars Hedrich  Entwurfsmethodik
HWR · K4
Nr.:2
Gliederung
4.1 Spezielle Schaltnetze
4.1.1 Multiplexer/Demultiplexer
4.1.2 Datenbuszugang
4.1.3 Permutationsschaltnetz
4.1.4 Vergleicher (Komparator)
4.1.5 Addierer
4.1.6 Multiplizierer
4.2 PLA (programmable logic arrays)
4.3 Elektrotechnische Grundlagen
4.4 Zeitliches Verhalten von Schaltnetzen
4.5 Hazards (Gefahr) in Schaltnetzen
Uwe Brinkschulte  Eingebettete Systeme  Lars Hedrich  Entwurfsmethodik
HWR · K4
Nr.:3
4.1 Spezielle Schaltnetze
4.1.1 Multiplexer/Demultiplexer
4.1.2 Datenbuszugang
4.1.3 Permutationsschaltnetz
4.1.4 Vergleicher (Komparator)
4.1.5 Addierer
4.1.6 Multiplizierer
Uwe Brinkschulte  Eingebettete Systeme  Lars Hedrich  Entwurfsmethodik
HWR · K4
Nr.:4
4.1.1 Multiplexer/Demultiplexer
Ein Multiplexer/Demultiplexer ist ein Schaltnetz, welches eine Datenweiche
darstellt.
Multiplexer:
Uwe Brinkschulte  Eingebettete Systeme  Lars Hedrich  Entwurfsmethodik
HWR · K4
Nr.:5
Multiplexer
Definition:
Ein Multiplexer ist eine Boolesche Funktion f , für die gilt:
Für die Abbildung g gilt:
Für das Dekodiersignal dk gilt:
Beispiel:
Uwe Brinkschulte  Eingebettete Systeme  Lars Hedrich  Entwurfsmethodik
HWR · K4
Nr.:6
Demultiplexer
Demultiplexer arbeiten invers zu den Multiplexern. Sie verteilen einen
Datenstrom auf mehrere auswählbare Kanäle.
Demultiplexer finden oftmals in integrierten Schaltkreisen Anwendung, um
die Zahl der Anschlußpins zu begrenzen. In DRAMs beispielsweise wird der
höherwertige und der niederwertige Teil der Adresse nacheinander auf den
Adreßbus gelegt. Der Baustein muß dann die Signale intern demultiplexen
und dem Spalten- bzw. Zeilendekoder zuführen.
Uwe Brinkschulte  Eingebettete Systeme  Lars Hedrich  Entwurfsmethodik
HWR · K4
Nr.:7
Datenwegschaltung
Multiplexer:
0
Eingangsdatenwege n-1
Steuereingänge
Datenwegschaltung
Decoder
Demultiplexer:
Eingangsdatenweg
Steuereingänge
Ausgangsdatenweg
Datenwegschaltung
0
Ausgangsn-1 datenwege
Decoder
Uwe Brinkschulte  Eingebettete Systeme  Lars Hedrich  Entwurfsmethodik
HWR · K4
Nr.:8
Anwendung – Busbasiert
Datenbus
AkkuRegister
ALU
Hilfsregister
Multiplizierer
Pufferregister
Ansteuerung
Ergebnisbus
Uwe Brinkschulte  Eingebettete Systeme  Lars Hedrich  Entwurfsmethodik
HWR · K4
Nr.:9
Anwendung – Multiplexerbasiert
Ansteuerung
AkkuRegister
Register 1
Register 2
ALU
Register 3
Multiplexer
Ansteuerung
Ergebnisregister 1
Demultiplexer
Ergebnisregister 2
Uwe Brinkschulte  Eingebettete Systeme  Lars Hedrich  Entwurfsmethodik
HWR · K4
Nr.:10
2:1 Multiplexer
Funktionstafel:
KV-Diagramm:
e
0
0
0
1
1
sel 0
1
1
0
e
1
Schaltplan:
Funktion:
Uwe Brinkschulte  Eingebettete Systeme  Lars Hedrich  Entwurfsmethodik
HWR · K4
Nr.:11
4:1 Multiplexer
Uwe Brinkschulte  Eingebettete Systeme  Lars Hedrich  Entwurfsmethodik
HWR · K4
Nr.:12
4:1 Multiplexer
sel0
1
sel1
2
Decoder
Enable
Uwe Brinkschulte  Eingebettete Systeme  Lars Hedrich  Entwurfsmethodik
e0
0
e1
1
e2
2
e3
3
f
HWR · K4
Nr.:13
8:1 Multiplexer
sel0
1
sel1
2
sel2
1
Decoder
Enable
e0
0
e1
1
e2
2
e3
3
1
f
1
2
Decoder
Enable
e4
0
e5
1
e6
2
e7
3
Uwe Brinkschulte  Eingebettete Systeme  Lars Hedrich  Entwurfsmethodik
HWR · K4
Nr.:14
2:1 4-Bit Multiplexer
Uwe Brinkschulte  Eingebettete Systeme  Lars Hedrich  Entwurfsmethodik
HWR · K4
Nr.:15
Multiplexer – Standardbaustein
Steuerung
C0
C1
C2
Eingänge
Multiplexer sind als integrierte Bauelemente erhältlich. Typischerweise
handelt es sich dabei um 8:1 bzw. 16:1 Multiplexer (mit 3 bzw. 4
Steuereingängen).
SN74151 (TTL-Baureihe):
I0
I1
I2
I3
I4
I5
I6
I7
Y
Y
Enable
Uwe Brinkschulte  Eingebettete Systeme  Lars Hedrich  Entwurfsmethodik
HWR · K4
Nr.:16
Implementierung Boolescher Funktionen
Jede Boolesche Funktion f(x0, … ,xn-1) kann unter ausschließlicher
Verwendung von Multiplexern realisiert werden. Für f: Bn! B ist hierzu ein
2n:1 Multiplexer mit n Steuereingängen notwendig. Die n Eingangsvariablen
werden an die Steuereingänge gelegt. Die Belegung der 2n Dateneingänge
erfolgt gemäß der Wahrheitstabelle der Funktion f.
Anstelle eines 2n:1 Multiplexers kann auch ein 2n-1:1 Multiplexer mit n-1
Steuereingängen verwendet werden. Die Steuereingänge werden mit den
Variablen x1, … ,xn-1 beschaltet. Die Dateneingänge werden mit den
konstanten Werten 0 und 1 und der freien Variablen
belegt.
Uwe Brinkschulte  Eingebettete Systeme  Lars Hedrich  Entwurfsmethodik
HWR · K4
Nr.:17
Implementierung Boolescher Funktionen
Beispiel: 2 von 3 Mehrheitsfunktion
0
0
0
0
1
1
1
1
0 1
0
0
1
1
0
0
1
1
0
1
0
1
0
1
0
1
x2 x1 x0
8:1 Multiplexer
0
0
1
1
f
0
1
0
1
f
x2 x1
x 0x 00 1
4:1 Multiplexer
Uwe Brinkschulte  Eingebettete Systeme  Lars Hedrich  Entwurfsmethodik
HWR · K4
Nr.:18
Beispiel
Uwe Brinkschulte  Eingebettete Systeme  Lars Hedrich  Entwurfsmethodik
HWR · K4
Nr.:19
Implementierung Boolescher Funktionen
Die Beschaltung der Dateneingänge eines 2n-1:1 Multiplexers erhält man
durch n-1-malige Anwendung des Shannon'schen Entwicklungssatzes.
Beispiel: Boolesche Funktion mit 3 Variablen
Die Steuereingänge werden mit den
für die Entwicklung gewählten
Variablen und die Dateneingänge
mit den entsprechenden Co-Faktoren
belegt.
f(0,0,c)
f(0,1,c)
f(1,0,c)
f(1,1,c)
0
0
1
1
0
1
0
1
a
b
Uwe Brinkschulte  Eingebettete Systeme  Lars Hedrich  Entwurfsmethodik
f
HWR · K4
Nr.:20
1:2 Demultiplexer
Funktionstafel:
KV-Diagramm:
e
e
0
1
1
1
sel 1
1
sel 0
1
f0
f1
Schaltplan:
Funktion:
Der nicht beschaltete Ausgang
wird mit dem Wert 1 belegt!
Uwe Brinkschulte  Eingebettete Systeme  Lars Hedrich  Entwurfsmethodik
HWR · K4
Nr.:21
1:4 2-Bit Demultiplexer
Uwe Brinkschulte  Eingebettete Systeme  Lars Hedrich  Entwurfsmethodik
HWR · K4
Nr.:22
4.1.2 Datenbuszugang
Tri-State-Gatter:
Ein Tri-State-Gatter besitzt die drei definierten Ausgangszustände 0,1
(abhängig vom Eingangssignal e) und einen hochohmigen Zustand z. Der
Zustand z wird durch Aktivierung des Sperreingangs i (inhibit) erreicht.
Funktionstafel:
Schaltplan:
e
i
1
a
Tri-State-Gatter werden immer dann verwendet, wenn mehrere Ausgänge,
von denen nur einer aktiv sein darf, an eine Leitung angeschlossen werden
sollen (z.B. Busleitungen).
Uwe Brinkschulte  Eingebettete Systeme  Lars Hedrich  Entwurfsmethodik
HWR · K4
Nr.:23
Unidirektionaler Datenbuszugang
i
i
1
Datensender
1
Datenempfänger
1
1
i
i
1
1
Datenempfänger
1
1
Datensender
Bus
Uwe Brinkschulte  Eingebettete Systeme  Lars Hedrich  Entwurfsmethodik
HWR · K4
Nr.:24
Bidirektionaler Datenbuszugang
Funktionstafel:
Schaltplan:
Tri-State-Gatter
e
d
a
1
&
i
r
a e
1
i
r
d
&
Schaltsymbol
1
1
Uwe Brinkschulte  Eingebettete Systeme  Lars Hedrich  Entwurfsmethodik
HWR · K4
Nr.:25
Bidirektionaler Datenbuszugang
Einheit 1
Einheit 3
i
r
i
r
bidirektionaler
Datenbus
i
r
Einheit 2
Uwe Brinkschulte  Eingebettete Systeme  Lars Hedrich  Entwurfsmethodik
HWR · K4
Nr.:26
4.1.3 Permutationsschaltnetz
Permutationsschaltnetze vertauschen die Reihenfolge von Variablen. Die
Vertauschung wird über einen Steuereingang sel aktiviert.
Schaltplan:
Permutationsschaltnetze werden in Verbindungsnetzwerken verwendet, um
verschiedene Kommunikationswege schalten zu können.
Uwe Brinkschulte  Eingebettete Systeme  Lars Hedrich  Entwurfsmethodik
HWR · K4
Nr.:27
4.1.4 Vergleicher (Komparator)
Vergleicher sind Schaltungen, die insbesondere in Mikroprozessoren
Verwendung finden um beispielsweise den notwendigen Vergleich für
bedingte Sprunganweisungen durchzuführen.
Vergleicher werden aber auch integriert in Schaltungen eingesetzt, z.B. zur
Speicherauswahl oder für die Selektion von Ein-/Ausgabe-Geräten.
Vergleich der 2 Booleschen Tupel X und Y:
Uwe Brinkschulte  Eingebettete Systeme  Lars Hedrich  Entwurfsmethodik
HWR · K4
Nr.:28
n-Bit Vergleicher
Vergleicher für n-Bit Zahlen lassen sich hierarchisch konstruieren.
(x ≥ y)-Vergleicher:
xn
&
1
yn
fn
&
x
y
n-1
n-1
x1
y1
Vergleicher für
(n-1)-stellige
Dualzahlen
f n-1
Uwe Brinkschulte  Eingebettete Systeme  Lars Hedrich  Entwurfsmethodik
HWR · K4
Nr.:29
n-Bit Vergleicher
n-Bit Vergleicher lassen sich zu Vergleichern von Dualzahlen mit größeren
Längen kaskadieren.
7-Bit Vergleicher aus zwei 4-Bit Vergleichern:
y1 y2 y3 y4
x1 x2 x3 x4
> Komparator
0
y5 y6 y7
x5 x6 x7
> Komparator
Uwe Brinkschulte  Eingebettete Systeme  Lars Hedrich  Entwurfsmethodik
HWR · K4
Nr.:30
1-Bit Vergleicher für Dualzahlen
Der größer als bzw. kleiner als Vergleicher ist schaltungstechnisch
aufwendiger als der Vergleich auf Identität.
Uwe Brinkschulte  Eingebettete Systeme  Lars Hedrich  Entwurfsmethodik
HWR · K4
Nr.:31
4.1.5 Addierer
Ein Halbaddierer berechnet aus zwei 1-Bit Zahlen die Summen Si und den
Übertrag Ci+1.
Funktionstafel:
Schaltplan:
Funktionen:
Uwe Brinkschulte  Eingebettete Systeme  Lars Hedrich  Entwurfsmethodik
HWR · K4
Nr.:32
Volladdierer
Ein Volladdierer berechnet aus drei 1-Bit Zahlen die Summe Si und den
Übertrag Ci+1.
Funktionstafel:
Schaltplan:
Funktionen:
Uwe Brinkschulte  Eingebettete Systeme  Lars Hedrich  Entwurfsmethodik
HWR · K4
Nr.:33
n-Bit Ripple-Carry-Addierer
Ein n-Bit Ripple-Carry-Addierer entsteht durch die Kaskadierung von n-1
Volladdierern und einem Halbaddierer.
Im schlimmsten Fall müssen für die Addition zweier n-Bit Zahlen alle
Addierer nacheinander durchlaufen werden, bis der Übertrag Sn vorliegt.
Uwe Brinkschulte  Eingebettete Systeme  Lars Hedrich  Entwurfsmethodik
HWR · K4
Nr.:34
Carry-Select-Addierer
an-1 bn-1
Ziel: Beschleunigung der Durchlaufzeit
an/2 bn/2
0
n/2-Bit-Addierer
an/2-1 bn/2-1
cn
s‘n-1
an-1 bn-1
a0
b0
0
s‘n/2
n/2-Bit-Addierer
an/2 bn/2
1
n/2-Bit-Addierer
cn
s“n-1
sn/2-1
s0
s“n/2
cn/2
sn-1
sn/2
Uwe Brinkschulte  Eingebettete Systeme  Lars Hedrich  Entwurfsmethodik
HWR · K4
Nr.:35
Subtraktionsschaltung aus Volladdierern
Die Differenz A-B (A,B ¸ 0) wird durch die Addition des 2-er Komplements
:B von B erreicht (A+(: B)), welches auf die bitweise Negation von B
zurückgeführt wird:
Auftretende Überträge werden nicht berücksichtigt.
Beispiel: 4-Bit (Vorzeichen und 3-Bit für die Zahlendarstellung)
Uwe Brinkschulte  Eingebettete Systeme  Lars Hedrich  Entwurfsmethodik
HWR · K4
Nr.:36
Subtraktionsschaltung auf Volladdierern
Addierer/Subtrahierer:
Uwe Brinkschulte  Eingebettete Systeme  Lars Hedrich  Entwurfsmethodik
HWR · K4
Nr.:37
Allgemeine Vergleicher für Dualzahlen
Der größer als bzw. kleiner als Vergleicher basiert auf einem Subtrahierer.
Integrierter Vergleicher (Komparator) SN7485:
…
b0
an-1
bn-1
s0
≥1
&
A<B
…
a0
n-Bit-Subtrahierer
0
a0
a1
a2
a3
<
=
>
A=B
sn-1
&
cn
A>B
b0
b1
b2
b3
Uwe Brinkschulte  Eingebettete Systeme  Lars Hedrich  Entwurfsmethodik
coutn/2-1
COMP
A<B
A=B
A>B
HWR · K4
Nr.:38
4.1.6 Multiplizierer
Schnelle Multiplizierer werden durch parallele Berechnung sämtlicher
(dualer) Produktterme und anschließender Addition der Terme mit den
richtigen Wertigkeiten implementiert.
Es werden m2 viele AND-Gatter für die Bildung der Produktterme und m
Addierer benötigt.
Uwe Brinkschulte  Eingebettete Systeme  Lars Hedrich  Entwurfsmethodik
HWR · K4
Nr.:39
Beispiel – 3-Bit Multiplizierer (1)
Eingaben: Faktoren a und b
Ausgabe: Produkt p = a ¢ b
Anschauliche Darstellung:
Uwe Brinkschulte  Eingebettete Systeme  Lars Hedrich  Entwurfsmethodik
HWR · K4
Nr.:40
Beispiel – 3-Bit Multiplizierer (1)
a
a
2
1
a
0
b
&
&
0
&
HA
Addierer
b
&
&
VA
1
&
VA
HA
Addierer
b
&
&
VA
p
5
p
4
&
VA
p
3
2
HA
p
2
Addierer
p
1
Uwe Brinkschulte  Eingebettete Systeme  Lars Hedrich  Entwurfsmethodik
p
0
HWR · K4
Nr.:41
Beispiel – 3-Bit Multiplizierer (2)
Uwe Brinkschulte  Eingebettete Systeme  Lars Hedrich  Entwurfsmethodik
HWR · K4
Nr.:42
Standardbausteine für Multiplikation
Für die Multiplikation zweier 4-Bit Dualzahlen existieren die beiden
Standardbausteine SN74284 und SN74285. Der Baustein SN74285
berechnet den niederwertigen 4-stelligen Teil des Produktes, der SN74284
den höherwertigen Teil.
Multiplikand
Multiplikator
23 22 21 20 23 22 21 20
2D 2C 2B 2A 1D 1C 1B 1A
2D 2C 2B 2A 1D 1C 1B 1A
SN74284
SN74285
z7 z6 z5 z4
z3 z2 z1 z0
27 26 25 24
23 22 21 20
Produkt
Uwe Brinkschulte  Eingebettete Systeme  Lars Hedrich  Entwurfsmethodik
HWR · K4
Nr.:43
4.2 PLA (programmable logic arrays)
PLAs sind integrierte Schaltungen zur Realisierung von DNFs. Sie sind
durch sogenannte Programmiergeräte vom Kunden (Anwender) selbst
personalisierbar. PLAs besitzen eine regelmäßige Struktur und sind daher
besonders für eine VLSI-Realisierung geeignet.
X
UND
Matrix
1
Z
ODER
Matrix
Y
X
Literale:
Ausgangsvektor:
Jede Komponente yi aus Y = y1, y2, …, ym stellt eine DNF dar.
Produkttermvektor:
Jede Komponente zk aus Z = z1, z2, …, zl stellt einen Konjunktionsterm der negierten oder
nicht negierten Literale dar.
Uwe Brinkschulte  Eingebettete Systeme  Lars Hedrich  Entwurfsmethodik
HWR · K4
Nr.:44
PLA (programmable logic arrays)
x1
UND-Ebene (UND-Matrix):
1
x2
1
mit den Indexmengen Ik,n und Ik,p der
negierten bzw. nicht negierten Variablen
UND
xn
ODER-Ebene (ODER-Matrix):
1
z1 z2
zl
y1
y2
ODER
ym
Die Personalisierung der Matrizen
erfolgt durch Aktivierung der
Leitungsverzweigungen, meist durch
aktive Bauelemente (Transistoren).
Uwe Brinkschulte  Eingebettete Systeme  Lars Hedrich  Entwurfsmethodik
HWR · K4
Nr.:45
PLA
UND/ODER-PLA:
NAND-PLA:
x1
x1
1
1
x2
x2
1
1
UND
UND
xn
xn
1
1
&
&
&
1
&
y1
ODER
&
y1
&
y
ODER
1
y
m
Uwe Brinkschulte  Eingebettete Systeme  Lars Hedrich  Entwurfsmethodik
m
HWR · K4
Nr.:46
Beispiel – Volladdierer
Boolesche Funktionen:
PLA:
a i b i a iC i b iC i
ai
1
bi
1
Ci
1
C i+1
Si
Uwe Brinkschulte  Eingebettete Systeme  Lars Hedrich  Entwurfsmethodik
HWR · K4
Nr.:47
PLA, PAL und ROM
Der Aufwand der Personalisierung wird geringer, wenn nur eine der beiden
Matrizen programmierbar (personalisierbar) ist. Für die Realisierung
Boolescher Funktionen stehen 3 personalisierbare Strukturen zur
Verfügung:
 PLA
Personalisierung: UND-/ODER-Matrix
 PAL
Personalisierung: UND-Matrix
 Festwertspeicher (ROM)
Personalisierung: ODER-Matrix
Uwe Brinkschulte  Eingebettete Systeme  Lars Hedrich  Entwurfsmethodik
HWR · K4
Nr.:48
PAL (Programable Logic Array)
Bei einem PAL ist die UND-Matrix
personalisierbar und die ODERMatrix festgelegt.
x1
1
x2
1
xn
1
y1
y2
ym
Uwe Brinkschulte  Eingebettete Systeme  Lars Hedrich  Entwurfsmethodik
HWR · K4
Nr.:49
ROM
Bei einem Festwertspeicher wird die UND-Matrix fest als Adressdecoder
personalisiert.
0
1
x1
x2
x3
2
Decoder
X/Y
3
4
5
6
7
y1 y2 y3
Uwe Brinkschulte  Eingebettete Systeme  Lars Hedrich  Entwurfsmethodik
HWR · K4
Nr.:50
RAM
0
1
2
3
m-4
m-3
Adresse
m-2
m-1
Ein Schreib-/Lesespeicher (RAM) hat eine ähnliche Struktur, bei der die
personalisierten Leitungsverzweigungen der ODER-Matrix durch
Speicherzellen (Flipflops) ersetzt werden. Dadurch kann die Information in
der ODER-Matrix jederzeit und schnell geändert werden.
Die UND-Matrix ist wie beim ROM fest als Adressdecoder personalisiert.
Aufbau eines n£m-Bit Arbeitspeichers:
Bit
Speicherzellen
0
1
n-2
n-1
Adreßdecoder
Daten
Uwe Brinkschulte  Eingebettete Systeme  Lars Hedrich  Entwurfsmethodik
HWR · K4
Nr.:51
4.3 Elektrotechnische Grundlagen
Allgemein:
 In einem digitalen Datenverarbeitungssystem werden auf der
physikalischen Ebene binäre Schaltvariablen mit elektronischen
Schaltern nach den Gesetzen der Schaltalgebra verknüpft.
 Elektronische Verknüpfungsglieder werden aus Halbleiterbauelementen
aufgebaut.
 Verknüpfungsglieder werden zu Schaltnetzen und Schaltwerken
zusammengefügt.
 Schaltkreisfamilien (integrierte Schaltungen) bestehen aus
standardisierten Verknüpfungsgliedern, Speichergliedern, Schaltnetzen
und Schaltwerken, die aus gleichen Bauelementen und nach dem
gleichen elektronischen Konzept hergestellt sind.
Uwe Brinkschulte  Eingebettete Systeme  Lars Hedrich  Entwurfsmethodik
HWR · K4
Nr.:52
Modell des idealen Schalters
In der Schaltalgebra werden die binären Variablen mit
Verknüpfungsgliedern aus idealen Schaltern verknüpft.
UB
UB
I
I
R
R
I
I=
S
ein
UQ = 0
S
aus
UQ = UB
UB
ein
R
R
aus
UB
UQ
• Im Schalterzustand ’ein’ ist der Innenwiderstandswert des Schalters S Ri=0.
• Im Schalterzustand ’aus’ ist der Sperrwiderstand des Schalters S Ri=∞.
Uwe Brinkschulte  Eingebettete Systeme  Lars Hedrich  Entwurfsmethodik
HWR · K4
Nr.:53
Modell des idealen Schalters
 Die Schaltwirkung folgt unmittelbar der Schaltursache, d.h. es gibt keine
Zeitverzögerung.
 Die vom Schalter aufgenommene Leistung P = U ¢ I ist immer Null, da
entweder der Strom I (’aus’) oder die Spannung U (’ein’) gleich Null ist.
Kein realer Schalter kann diese Anforderungen erfüllen. Mit elektronischen
Schaltern kommt man dem Ziel heute am nächsten. Je nach
Bauelementetyp (bipolar oder unipolar) werden mehr die einen oder die
anderen Eigenschaften optimal erreicht. Deshalb haben sich verschiedene
Schaltkreisfamilien entwickelt.
Uwe Brinkschulte  Eingebettete Systeme  Lars Hedrich  Entwurfsmethodik
HWR · K4
Nr.:54
Modell des realen Schalters
UB
IE
UB
IA
R
R
I
S
S
ein
UE
Ri
Rs
aus
UA
UB
R
IE
Ri
ein
R
aus
IA
UE
Uwe Brinkschulte  Eingebettete Systeme  Lars Hedrich  Entwurfsmethodik
UA UB
Rs
UQ
HWR · K4
Nr.:55
In der Schalterstellung ’ein’ liegen R und Ri in Reihe und ihre
Widerstandsgeraden schneiden sich im Arbeitspunkt ein. Für Strom und
Spannung gilt:
Am Schalter fällt also eine Spannung UE ab. In der Schalterstellung ’aus’
liegen R und Rs in Reihe und ihre Widerstandsgeraden schneiden sich im
Arbeitspunkt aus. Für Strom und Spannung gilt:
Trotz Schalterstellung ’aus’ fließt ein Strom IA. In beiden Betriebszuständen
wird vom Schalter Leistung aufgenommen, weil der Strom IA bzw. die
Spannung UE verschieden von Null sind.
Uwe Brinkschulte  Eingebettete Systeme  Lars Hedrich  Entwurfsmethodik
HWR · K4
Nr.:56
MOS-FET als Schalter
UB
ID
ID
U th = threshold voltage
U p = pinch off voltage
Up
R
U GS> U th
ein
Drain
R
Gate
U GS
Source
U DS
aus
UE
UA
U GS< U th
U DS
Die Schalterzustände ’ein’/’aus’ werden durch die Zustände Transistor aus
(UGS < Uth) und Transistor ein (UGS > Uth) mit dem Schnitt der
Widerstandsgeraden realisiert.
Uwe Brinkschulte  Eingebettete Systeme  Lars Hedrich  Entwurfsmethodik
HWR · K4
Nr.:57
MOS-FET als Schalter
Für UGS < Uth ist die Drain-Source-Strecke gesperrt. Mit dieser Spannung
wird der Transistorschalter ausgeschaltet. Der Schnittpunkt der Kennlinie
für UGS < Uth mit der Widerstandsgeraden für R ist der Arbeitspunkt des
Schalterzustandes ’aus’. Mit einer Spannung UGS > Uth wird die DrainSource-Strecke leitend, der Transistor eingeschaltet.
Die Gate-Source-Spannung wird wie beim bipolaren Transistor so gewählt,
daß die zugehörige Kennlinie von der Widerstandsgeraden für R im linearen
Bereich geschnitten wird. Dieser Schnittpunkt ist der Arbeitspunkt des
Schalterzustandes ’ein’. Wechselt die Gate-Source-Spannung zwischen
UGS < Uth und UGS > Uth, dann schaltet der Transistor zwischen gesperrt und
leitend bzw. UDS zwischen UA und UE.
Der Vorteil von MOS-FETs als Schalter gegenüber bipolaren Transistoren
besteht darin, dass sie leistungslos am Gate angesteuert werden können.
Uwe Brinkschulte  Eingebettete Systeme  Lars Hedrich  Entwurfsmethodik
HWR · K4
Nr.:58
Kenngrößen
Signalpegel:
Es werden Pegelbereiche eingeführt, die die Werte der binären
Schaltvariablen darstellen. Dadurch werden die Einflüsse der
Störspannung berücksichtigt. Für die Zuordnung der Pegelbereiche zu
den Werten der binären Schaltvariablen gibt es zwei Möglichkeiten:
• Positive Zuordnung:
• Negative Zuordnung:
Der typische statische Störabstand USS ergibt sich aus der Differenz der
Ausgangsspannung des steuernden Schaltgliedes zur
Eingangsschwellspannung UES des angesteuerten Schaltgliedes.
• bei H-Pegel: USSH = UAH - UES
• bei L-Pegel: USSL = UES - UAL
Uwe Brinkschulte  Eingebettete Systeme  Lars Hedrich  Entwurfsmethodik
HWR · K4
Nr.:59
Kenngrößen
Pegelbereiche:
Ausgang A
U
H-Pegel
U
U
H-Pegel
AH min
AH
U
U
AH min
U
AS
U
U
U
ES
EL max
AL max
AL max
L-Pegel
AL
EH min
AS
U
U
U
Eingang E
L-Pegel
U
U
U
EL
EL maxU ES
U
EH min
U
EH
Meist werden ’worst-case’ Störspannungsabstände definiert:
 bei H-Pegel:
 bei L-Pegel:
Uwe Brinkschulte  Eingebettete Systeme  Lars Hedrich  Entwurfsmethodik
HWR · K4
Nr.:60
Kenngrößen
Signalübertragungszeit:
Elektronische Schalter benötigen
Zeit, um von einem Schaltzustand
in den anderen zu gelangen.
Hauptursache für diese
Zeitverzögerung ist die kapazitive
Eigenschaft der Bauelemente;
beim bipolaren Transistor
hauptsächlich der Basis-Emitter
pn-Übergang, beim unipolaren
Transistor die Gate-Oxid-Substrat
Schichtfolge (MOS-Kondensator).
Die eigentlichen
Signalübergangszeiten
(Transition time) der Impulsflanken
liegen zwischen 90% und 10% der
Amplitude.
idealer Rechteckimpuls am Eingang
U
H
L
t
t
p
T
p
t
p
T
p
Pulsdauer
Pulsperiode
linearisierter Ausgangsimpuls
U
H
90%
10%
t
L
t
t
THL
Uwe Brinkschulte  Eingebettete Systeme  Lars Hedrich  Entwurfsmethodik
t
t
TLH
THL
TLH
Transition Time H->L
Transition Time L->H
HWR · K4
Nr.:61
Kenngrößen
Signallaufzeit:
Die Signallaufzeit (Propagation
delay time) gibt die
Impulsverzögerung zwischen
Eingangs- und Ausgangspegel an
(tPHL bzw. tPLH). Die Messung der
Signallaufzeiten wird auf die 50%
Marke der Amplitude bezogen, die
zwischen dem H- und dem L-Pegel
liegt.
Als mittlere Signallaufzeit eines
Schaltgliedes wird definiert:
Eingang
U
H
50%
t
L
Ausgang
U
H
50%
t
L
t
PHL
Uwe Brinkschulte  Eingebettete Systeme  Lars Hedrich  Entwurfsmethodik
t
PLH
HWR · K4
Nr.:62
Verknüpfungsglieder: unipolare MOS-FETs
Complementary MOS (CMOS) Technik:
Verknüpfungsglieder werden in dieser Technologie aus
(selbstsperrenden) NMOS- und PMOS-Transistoren aufgebaut.
Inverter
U
U
B
U
B
B
p-Kanal MOS-FET
gesperrt
T
T
1
E
E
T
1
1
0
1
0
1=U
B
gesperrt
T
T
2
2
T
2
n-Kanal MOS-FET
Es ist stets ein Transistor gesperrt und der andere leitend. Daher ist der
Betriebsstrom und die statische Verlustleistung nahezu Null.
Uwe Brinkschulte  Eingebettete Systeme  Lars Hedrich  Entwurfsmethodik
HWR · K4
Nr.:63
Verknüpfungsglieder: MOS-FETs
NAND
U
NOR
B
U
B
A
A
B
B
A
A
B
B
Uwe Brinkschulte  Eingebettete Systeme  Lars Hedrich  Entwurfsmethodik
HWR · K4
Nr.:64
4.4 Zeitliches Verhalten von Schaltnetzen
Bei den bisherigen Betrachtungen wurde die Funktion eines Schaltnetzes
ständig, d.h. ohne Verzögerung, ausgeführt. Jedes Signal, welches ein
Gatter durchläuft, hat jedoch eine kurze, nicht vernachlässigbare Laufzeit.
Diese wird durch die technologische Realisierung der Gatter hervorgerufen.
Trägheitseffekte:
Insbesondere weisen Gatter auch Trägheitseffekte auf. Diese führen dazu, dass
Signaländerungen am Eingang nur dann am Ausgang wirksam werden, wenn sie eine
gewisse Dauer überschreiten. Kurze Signaländerungen werden verschluckt.
Modellierung zeitlichen Verhaltens:
Viele Fehler in Schaltnetzen sind mit formalen Methoden nicht oder nur schwer zu
erkennen und resultieren vor allem aus dem oben beschriebenen zeitlichen Verhalten
(Verzögerung, Absorbtion) der Gatter.
Uwe Brinkschulte  Eingebettete Systeme  Lars Hedrich  Entwurfsmethodik
HWR · K4
Nr.:65
Zeitliches Verhalten von Schaltnetzen
Schaltungen (z.B. in eingebetteten Systemen) funktionieren nur dann
richtig, wenn das Schaltnetz das Ergebnis innerhalb eines bestimmten
Zeitintervalls berechnet hat.
Die Verzögerungszeit von Schaltnetzen lässt sich anhand von Modellen
vorhersagen und optimieren. Mit diesen Modellen kann die Schaltung auch
simuliert werden.
Für eine Messung wird ein Prototyp benötigt (Herstellung ist jedoch teuer
und zeitaufwendig).
Uwe Brinkschulte  Eingebettete Systeme  Lars Hedrich  Entwurfsmethodik
HWR · K4
Nr.:66
Modellierung des zeitlichen Verhaltens I
a
b
c
d
e
Gatter
T
f
ideal,
Laufzeitglied
verzögerungsfrei
Die Verzögerungszeit ist abhängig von:
 Typ des Übergangs
 Gattertyp (intrinsic delay)
 Last (load) am Ausgang (extrinsic delay)
Die Last kann entweder durch andere Gatter (Cload) oder auch durch
längere Leitungen (Wload) hervorgerufen sein.
Uwe Brinkschulte  Eingebettete Systeme  Lars Hedrich  Entwurfsmethodik
HWR · K4
Nr.:67
Modellierung des zeitlichen Verhaltens II
Die Verzögerungszeit ist abhängig vom Umladewiderstand
(Innenwiderstand des geschlossenen Transistors Ri) und der Belastung
durch die Wire-Kapazität und Gate-Kapazität des nächsten Gatters. Eine
gute Näherung für die Dauer des Umladevorgang ist die Zeitkonstante des
RC-Gliedes.
UB
IE
Ri
S
CWire
UA
CLoad
Uwe Brinkschulte  Eingebettete Systeme  Lars Hedrich  Entwurfsmethodik
HWR · K4
Nr.:68
Modellierung des zeitlichen Verhaltens III
Weiter abstrahiert ist die Verzögerungszeit abhängig von:
Bei einer Konstruktion (Schematic) ist zunächst nur die Anzahl der Gatter
am Ausgang (Cload) bekannt. Wload wird geschätzt.
Uwe Brinkschulte  Eingebettete Systeme  Lars Hedrich  Entwurfsmethodik
HWR · K4
Nr.:69
Standardzellenbibliothek ECPD15
NAND4-Gatter:
Uwe Brinkschulte  Eingebettete Systeme  Lars Hedrich  Entwurfsmethodik
HWR · K4
Nr.:70
Kritischer Pfad
Eine obere Abschätzung für die Verzögerungszeit einer kombinatorischen Schaltung
liefert die Bewertung der Laufzeit über den kritischen Pfad:
Annahme: Jedes Gatter hat eine einheitliche Verzögerung, die Verzögerung auf
den Leitungen werde vernachlässigt.
Dann ist der kritische Pfad der längste Pfad, der von den Eingängen bis zum
Ausgang der Schaltung durchlaufen werden kann.
&
&
&
&
=
&
&
=
=1
Uwe Brinkschulte  Eingebettete Systeme  Lars Hedrich  Entwurfsmethodik
HWR · K4
Nr.:71
n-Bit Ripple-Carry-Addierer
Der kritische Pfad hat eine Länge von n*tk(VA)
Uwe Brinkschulte  Eingebettete Systeme  Lars Hedrich  Entwurfsmethodik
HWR · K4
Nr.:72
Carry-Select-Addierer
an-1 bn-1
an/2 bn/2
0
Ziel: Beschleunigung der Durchlaufzeit
Der kritische Pfad hat eine Länge von
n/2*tk(VA)+tk(MUX)
n/2-Bit-Addierer
an/2-1 bn/2-1
s‘n-1
an-1 bn-1
a0
b0
0
s‘n/2
n/2-Bit-Addierer
an/2 bn/2
1
n/2-Bit-Addierer
s“n
sn/2-1
s0
s“n/2
coutn/2-1
sn-1
sn/2
Uwe Brinkschulte  Eingebettete Systeme  Lars Hedrich  Entwurfsmethodik
HWR · K4
Nr.:73
Träges Laufzeitglied
Bei den bisherigen Betrachtungen wurde der Verzögerungseffekt T durch
ein ideales Laufzeitglied
ausgedrückt. Ein träges Laufzeitglied ist ein nichtideales Laufzeitglied, bei
dem die Trägheitseffekte berücksichtigt werden. Sei x(t) ein
ereignisdiskretes Signal der Form:
Ein träges Laufzeitglied läßt sich wie folgt beschreiben:
Uwe Brinkschulte  Eingebettete Systeme  Lars Hedrich  Entwurfsmethodik
HWR · K4
Nr.:74
Träges Laufzeitglied
T LH
x(t)
T HL
T HL
<T
ideales
Laufzeitglied
träges
Laufzeitglied
t
Uwe Brinkschulte  Eingebettete Systeme  Lars Hedrich  Entwurfsmethodik
HWR · K4
Nr.:75
4.5 Hazards (Gefahr) in Schaltnetzen
Hazards stellen eine weitere wichtige Fehlerquelle dar.
Beispiel:
Für b = 1 und c = 1 ist unabhängig von a die Funktion f = 1. Bei einem Wechsel von a (0 →
1 oder 1 → 0) und unterschiedlichen Gatterlaufzeiten T2 und T3 springt der Funktionswert
kurzzeitig auf 0 und im Anschluss wieder auf 1. Dieses Verhalten wird Hazard (Risiko,
Gefahr) genannt.
Uwe Brinkschulte  Eingebettete Systeme  Lars Hedrich  Entwurfsmethodik
HWR · K4
Nr.:76
Hazards
Statische Hazards:
Ein statischer Hazard liegt vor, wenn der Ausgang konstant bleiben
sollte, aber kurzzeitig einen anderen Wert annimmt.
Ein statischer 0-Hazard liegt vor, wenn der Ausgang eigentlich konstant 0
sein sollte; ein statischer 1-Hazard liegt vor, wenn der Ausgang konstant
1 sein sollte.
Statischer 1-Hazard
Statischer 0-Hazard
Uwe Brinkschulte  Eingebettete Systeme  Lars Hedrich  Entwurfsmethodik
HWR · K4
Nr.:77
Hazards
Dynamische Hazards:
Ein dynamischer Hazard liegt vor, wenn der Ausgang bei einem
Übergang vor dem Einstellen auf den endgültigen Wert noch einige Male
andere Werte annimmt.
Ein dynamischer 0-1-Hazard liegt vor, wenn dies beim Wechsel von 0
nach 1 geschieht; ein dynamischer 1-0-Hazard liegt vor, wenn dies beim
Wechsel von 1 nach 0 geschieht.
Dynamischer 0-1-Hazard
Dynamischer 1-0-Hazard
Uwe Brinkschulte  Eingebettete Systeme  Lars Hedrich  Entwurfsmethodik
HWR · K4
Nr.:78
Beispiel Dynamischer 0-1-Hazard
Uwe Brinkschulte  Eingebettete Systeme  Lars Hedrich  Entwurfsmethodik
HWR · K4
Nr.:79
Hazards
Funktionshazards:
Funktionshazards sind schaltungsunabhängige Eigenschaften einer
Booleschen Funktion. Sie treten auf, wenn sich mehrere Eingänge nicht
gleichzeitig, sondern nacheinander ändern.
Eine Boolesche Funktion f (x1, …, xn) hat einen statischen
Funktionshazard für den Übergang von X1 = (x11 ; : : : ; x1n) nach
X2 = (x21, …, x2n ), wenn:
Uwe Brinkschulte  Eingebettete Systeme  Lars Hedrich  Entwurfsmethodik
HWR · K4
Nr.:80
Funktionshazards
Erkennen von Funktionshazards im KV-Diagramm:
x1
1
0
0
1
x2
x4
x3
Funktionshazards lassen sich nur durch Änderung der Booleschen Funktion
vermeiden. Man kann jedoch auch dafür sorgen, dass die Änderung der
Eingangsvariablen in einer bestimmten Reihenfolge geschieht.
Uwe Brinkschulte  Eingebettete Systeme  Lars Hedrich  Entwurfsmethodik
HWR · K4
Nr.:81
Schaltungshazards
Schaltungshazards (auch: logische Hazards) entstehen durch die
Signallaufzeiten in einzelnen Gattern einer Implementierung.
Definition:
Ein Schaltungshazard in einem Schaltnetz S, welches die Boolesche
Funktion f realisiert, liegt vor, wenn:
1. f keinen Funktionshazard für den Übergang a → b besitzt
2. während des Wechsels von a nach b am Ausgang von S ein Hazard beobachtbar ist.
Uwe Brinkschulte  Eingebettete Systeme  Lars Hedrich  Entwurfsmethodik
HWR · K4
Nr.:82
Herunterladen