hwr_kap05_vers21

Werbung
Lehrstuhl für
Eingebettete Systeme
Hardwarearchitekturen und Rechensysteme
Asynchrone sequenzielle Schaltungen
(asynchrone Schaltwerke)
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)
Gliederung
5.1 Asynchrone Schaltwerke
5.2 Register
Uwe Brinkschulte  Eingebettete Systeme  Lars Hedrich  Entwurfsmethodik
HWR · K5
Nr.:2
Motivation
Einige typische Schaltungen lassen sich nicht mit Kombinatorik alleine
realisieren.
Beispiele dafür sind:
Kombinatorik ausreichend
 Addierer
 Multiplexerschaltungen
 zweistufige Logik
 ...
Kombinatorik nicht ausreichend
 Zähler
 Fahrstuhlschaltungen
 Programmabarbeitung
 ...
à ein Gedächtnis wird benötigt, um den vorangegangenen Zustand mit in
die nächste Berechnung einfließen zu lassen. Dies wird durch eine
Rückkopplung eines oder mehrerer Ausgänge der Schaltung zu den
Eingängen der Schaltung realisiert.
Uwe Brinkschulte  Eingebettete Systeme  Lars Hedrich  Entwurfsmethodik
HWR · K5
Nr.:3
Motivation 2
Beispiel für eine Schaltung mit Rückkopplung: Zähler
Die Zählerschaltung muss sich jeweils merken, welchen Zählerstand sie im
vorigen Schritt hatte (nalt ). Im kombinatorischen Teil der Schaltung wird der
Zähler um 1 erhöht und das neue Ergebnis (nneu) für den nächsten
Zählschritt wiederum zum Eingang rückgeführt.
Zählsignal
nneu = nalt + 1
1
Speicher
nalt
Kombinatorischer Teil:
Addierer
Ergebnis
nneu
Uwe Brinkschulte  Eingebettete Systeme  Lars Hedrich  Entwurfsmethodik
HWR · K5
Nr.:4
Schaltnetz / Schaltwerk
Schaltnetze (kombinatorische Schaltungen):
Die Ausgabe hängt lediglich von den Werten der Eingangsvariablen zum
gleichen Zeitpunkt ab.
Schaltwerke (sequentielle Schaltungen):
Die Ausgabewerte hängen auch von Belegungen der Eingangsvariablen zu
vergangenen Zeitpunkten ab.
Man fasst hierbei alle Abhängigkeiten von Werten der Vergangenheit ein
einem so genannten Zustand zusammen
Uwe Brinkschulte  Eingebettete Systeme  Lars Hedrich  Entwurfsmethodik
HWR · K5
Nr.:5
Formen von Schaltwerken
Einfachste Realisierung des Zustandsspeichers: Rückkopplung im
Schaltnetz. Die Totzeit der Rückkopplung stellt hierbei den
Zustandsspeicher dar und trennt Zustand von Folgezustand.
Da sich hierbei Änderungen der Eingabe jederzeit auf den Zustand
auswirken, spricht man von einem asynchronen Schaltwerk
Werden die Zustandsspeicher hingegen von einem zentralen
Synchronisierungssignal (Takt) gesteuert, so spricht man von einem
synchronen Schaltwerk
Uwe Brinkschulte  Eingebettete Systeme  Lars Hedrich  Entwurfsmethodik
HWR · K5
Nr.:6
5.1 Asynchrone Schaltwerke
Rückgekoppelte Schaltnetze:
x1
xn
Schaltnetz
z1
y1
ym
zp
Das Schaltnetz besitzt jetzt eine Rückkopplung. Dadurch ist die Ausgabe nicht mehr allein
vom Eingabevektor abhängig, sondern auch vom inneren Zustand. Die Analyse wird
deshalb sehr schwierig. Aus diesem Grund wird zunächst als Vereinfachung ein
Schaltnetz ohne innere Verzögerung betrachtet.
Uwe Brinkschulte  Eingebettete Systeme  Lars Hedrich  Entwurfsmethodik
HWR · K5
Nr.:7
Rückgekoppelte Schaltung
Rückgekoppeltes Schaltnetz ohne innere Verzögerung:
x1
xn
y1
Schaltnetz
z1
w1
zp
wp
ym
Tp
T1
Der Gesamtzustand des Systems wird aus dem Eingangsvektor und dem
Rückkopplungszustand bestimmt. Der Zustand des Systems ist stabil,
wenn:
Uwe Brinkschulte  Eingebettete Systeme  Lars Hedrich  Entwurfsmethodik
HWR · K5
Nr.:8
Rückgekoppelte Schaltung
Rückgekoppelte Schaltung ohne innere Verzögerung:
Weiterhin gilt für i = 1, …, p und j = 1, …, m:
Anregungsfunktionen:
Ausgangsfunktionen:
Vereinfachend wird angenommen, dass sich der Eingangsvektor nur
ändert, wenn der Zustand des Systems stabil ist.
Uwe Brinkschulte  Eingebettete Systeme  Lars Hedrich  Entwurfsmethodik
HWR · K5
Nr.:9
Rückgekoppelte Schaltung
Beispiel:
ideales Schaltnetz
x1
x2
1
1
w1
T
z1
z2
Übergangs- und Ergebnistabelle:
Uwe Brinkschulte  Eingebettete Systeme  Lars Hedrich  Entwurfsmethodik
HWR · K5
Nr.:10
Zustandsdiagramm – Beispiel
Notation: x1x2/w1z2 an den Übergängen, z=z1 im Zustand
-0/01
11/00
01/10
0
1
0-/10
1-/00
Die Variable z bezeichnet den aktuellen Zustand und die Variable w1 den
Folgezustand der rückgekoppelten Schaltung.
Für x1x2 = 00 ist die Schaltung unabhängig vom Zustand stabil. Eine solche
Schaltung heißt bistabile Schaltung oder auch Flipflop.
Befindet sich die Schaltung im Zustand z = 0, dann kann sie mit x1x2 = 01 in
den Zustand z = 1 gebracht werden. Liegt anschließend x1x2 = 0- an, bleibt
der Zustand z = 1 stabil.
Befindet sich die Schaltung im Zustand z = 1, dann kann sie mit x1x2 = 10 in
den Zustand z = 0 gebracht werden. Liegt anschließend x1x2 = -0 oder oder
x1x2 = 11 an, bleibt der Zustand z = 0 stabil.
Uwe Brinkschulte  Eingebettete Systeme  Lars Hedrich  Entwurfsmethodik
HWR · K5
Nr.:11
Einschränkungen
Einschränkungen der bisherigen Betrachtungen:
• Keine Änderung des Eingangsvariablen, solange die Schaltung nicht in einem stabilen
Zustand ist.
• Es sind nur Einkomponentenübergänge des Zustandes möglich, da nur ein
Verzögerungsglied vorhanden ist.
Uwe Brinkschulte  Eingebettete Systeme  Lars Hedrich  Entwurfsmethodik
HWR · K5
Nr.:12
Läufe in rückgekoppelten Schaltungen
Lauf:
Bei mehreren rückgekoppelten Variablen können unterschiedliche Verzögerungszeiten
der einzelnen Variablen zu unterschiedlichen Ergebnissen führen. Dies ist abhängig
davon, in welcher Reihenfolge die rückgekoppelten Variablen ihren Wert ändern.
x
y
Verknüpfungsnetz
z1
z2
T1
T2
w1
w2
Kritischer Lauf:
Ein Lauf, der je nach Laufzeitrelationen zu verschiedenen stabilen Endzuständen führt,
heißt kritischer Lauf.
Uwe Brinkschulte  Eingebettete Systeme  Lars Hedrich  Entwurfsmethodik
HWR · K5
Nr.:13
Fehlverhalten durch kritische Läufe
Beispiel: Zählerschaltung (von 0 bis 3)
Notation an der Kante: x
0
Mehrkomponentenübergang
01
0
1
00
1
0
1
Mehrkomponentenübergang
1
2 10
3
11
1
0
0
Uwe Brinkschulte  Eingebettete Systeme  Lars Hedrich  Entwurfsmethodik
HWR · K5
Nr.:14
Analyse möglicher Übergänge
Mögliche Übergänge aus instabilen in stabile Zustände:
für x = 1
für x = 0
T1 < T2
11
T1 > T2
10
00
10
T1 < T2
T1 = T2 T1 = T2
00
w 1 =z1 z 2
T1 < T2
T1 = T2
T1 > T2
01
T1 > T2
z1 z 2
w 2= 0
01
11
w 1 =z 1
w 2= 1
Schlußfolgerung:
Durch unterschiedliche Laufzeiten der Rückkopplungsvariablen können
kritische Läufe bei x = 1 entstehen.
Uwe Brinkschulte  Eingebettete Systeme  Lars Hedrich  Entwurfsmethodik
HWR · K5
Nr.:15
Im Schrittmodus mit Logiflash
für x = 1
T1 < T2
11
T1 > T2
10
T1 < T2
T1 = T2 T1 = T2
00
w 1 =z1 z 2
01
T1 > T2
z1 z 2
w 2= 0
Uwe Brinkschulte  Eingebettete Systeme  Lars Hedrich  Entwurfsmethodik
HWR · K5
Nr.:16
Mögliche Formen des Zustandsübergangs:
Direkter Übergang:
Ein stabiler Zustand geht bei Eingabewechsel direkt in einen stabilen
Folgezustand über
Indirekter Übergang:
Der stabile Folgezustand stellt sich über mehrere instabile
Zwischenzustände ein
Oszillation:
Es stellt sich überhaupt kein stabiler Folgezustand ein
Uwe Brinkschulte  Eingebettete Systeme  Lars Hedrich  Entwurfsmethodik
HWR · K5
Nr.:17
Vermeidung von Fehlverhalten durch Läufe
Beispiel: Gray-Code-Zählerschaltung (von 0 bis 3)
Notation an der Kante: x
1
01
1
0
00
1
0
0
0
2 11
3
10
0
1
1
Schlußfolgerung:
Bei einem Wechsel von einem Zustand in den nächsten ändert sich jeweils
nur eine Variable. Es können daher keine kritischen Läufe auftreten.
Uwe Brinkschulte  Eingebettete Systeme  Lars Hedrich  Entwurfsmethodik
HWR · K5
Nr.:18
NOR-Flipflop
Uwe Brinkschulte  Eingebettete Systeme  Lars Hedrich  Entwurfsmethodik
HWR · K5
Nr.:19
Detailanalyse NOR-Flipflop
T1 > T2
01
T1 < T2
T 1 <=> T 2
10
T1 > T2
01
T1 < T2
T 1 <=> T 2
00
T 1 <=> T 2
10
T1 > T2
01
T1 < T2
T 1 <=> T 2
T 1 <=> T 2
T1 = T2
10
T 1 <=> T 2
00
T1 = T2
T1 > T2
T1 = T2
T1 < T2
00
T1 = T2
00
10
T1 > T2
01
T1 < T2
11
11
11
11
x 1x 2 = 00
x 1x 2 = 01
x 1x 2 = 11
x 1x 2 = 10
speichern
rücksetzen
unzulässig
setzen
Zustandsübergänge für verschiedene Eingangszustände und
Laufzeitrelationen:
 Bei Eingangsvektor x1x2 = 00 kritischer Lauf, wenn z1z2 = 00 oder
z1z2 = 11, u. U. sogar Schwingen.
Uwe Brinkschulte  Eingebettete Systeme  Lars Hedrich  Entwurfsmethodik
HWR · K5
Nr.:20
Weiteres Problem: Hazardfehler während
Übergängen
Treten während Zustandsübergängen Hazardfehler auf, so können
ebenfalls unerwünschte Endzustände oder Oszillationen auftreten
Nochmals das Beispiel vom Anfang:
ideales Schaltnetz
x1
x2
1
1
x1x2
w1
T
z1
z2
z1 00
01
11
10
0
0
1
0
0
1
1
1
0
0
Stabiler Übergang
w1 = x1x2  x1z1
Uwe Brinkschulte  Eingebettete Systeme  Lars Hedrich  Entwurfsmethodik
HWR · K5
Nr.:21
Weiteres Problem: Hazardfehler während
Übergängen
w1
w1 = x1x2  x1z1
x2
x1
0
0
0
1
1
0
0
1
z1
Statischer 0 Funktionshazard
ideales Schaltnetz
x1
x2
1
1
x1x2
w1
T
z1
z2
z1 00
01
11
10
0
0
1
0
0
1
1
1
0
0
Falscher Übergang bei
Hazardfehler
Uwe Brinkschulte  Eingebettete Systeme  Lars Hedrich  Entwurfsmethodik
HWR · K5
Nr.:22
Zur Vermeidung von Problemen bei asynchronen
Schaltwerken
 Wettlauffreie Zustandskodierung
 Hazardarme Schaltnetze entwerfen
 Betrieb im Normal Fundamental Mode:
 Es ändert sich maximal eine
Eingangsvariable gleichzeitig
 Ein Eingabewechsel erfolgt erst dann, wenn
alle internen Änderungen abgeklungen sind
Uwe Brinkschulte  Eingebettete Systeme  Lars Hedrich  Entwurfsmethodik
HWR · K5
Nr.:23
5.2 Register
Das Basis RS-Flipflop (RESET/SET) aus NOR-Gattern:
R
S
1
1
Q
Q
S
Q
R
Q
Schaltsymbol
Zustandsfolgetabelle:
Uwe Brinkschulte  Eingebettete Systeme  Lars Hedrich  Entwurfsmethodik
HWR · K5
Nr.:24
RS-Flipflop
Erweiterte Zustandsfolgetabelle:
Uwe Brinkschulte  Eingebettete Systeme  Lars Hedrich  Entwurfsmethodik
HWR · K5
Nr.:25
RS-Flipflop mit Pegelsteuerung (Latch)
Schaltung:
C = Clock (Takt)
Schaltsymbol:
S
C
R
Q
Q
Uwe Brinkschulte  Eingebettete Systeme  Lars Hedrich  Entwurfsmethodik
HWR · K5
Nr.:26
RS-Flipflop mit Pegelsteuerung (Latch)
Zustandsfolgetabelle:
Erweiterte Zustandsfolgetabelle:
Uwe Brinkschulte  Eingebettete Systeme  Lars Hedrich  Entwurfsmethodik
HWR · K5
Nr.:27
Impulsdiagramm für das RS-Flipflop
Ohne Verzögerung:
C
1
0
t
R
1
0
t
S
1
0
t
Q
1
0
t
t1
t2
t3
Uwe Brinkschulte  Eingebettete Systeme  Lars Hedrich  Entwurfsmethodik
t4
HWR · K5
Nr.:28
Impulsdiagramm für das RS-Flipflop
Mit Verzögerung:
C
1
0
R
t1
t2
t
t3
1
0
t
S
1
0
t
Q
1
0
t
t PLH
t PHL
Uwe Brinkschulte  Eingebettete Systeme  Lars Hedrich  Entwurfsmethodik
t PHL
HWR · K5
Nr.:29
D-Flipflop mit Pegelsteuerung
Beim D-Flipflop handelt es sich um ein erweitertes RS-Flipflop mit nur
einem Eingang (D).
Schaltung:
Symbol:
D
C
S
C
R
Q
Q
D
C
Q
Q
1
Wie in der Schaltung zu sehen ist, kann das RS-Flipflop nur mit 01 oder 10
angesteuert werden. Die unzulässige Eingangsbelegung 11 des RSFlipflops wird vermieden.
Uwe Brinkschulte  Eingebettete Systeme  Lars Hedrich  Entwurfsmethodik
HWR · K5
Nr.:30
Taktflankensteuerung
Bei einem taktflankengesteuerten Flipflop erfolgt die Fortschaltung der
Eingangsbelegung nicht fortwährend beim Taktpegel 1, sondern nur zum Zeitpunkt
der Taktflanke, d.h. beim Wechsel des Taktpegels von 0 nach 1 bzw. 1 nach 0 für
einen invertierten Takteingang.
Die Taktflankensteuerung wird durch einen spitzen Pfeil am Takteingang im FlipflopSymbol dargestellt.
Latch
Master-Slave Flipflop
Steuerung
Transparenz
Pegelsteuerung
Bei C=1
Flankensteuerung
Nein
Speicherung
Bei C=0
Bei C=0 und C=1
Übernahme des zu
speichernden Zustands
Größe
C=1  0
C=1  0
Klein
Groß
Uwe Brinkschulte  Eingebettete Systeme  Lars Hedrich  Entwurfsmethodik
HWR · K5
Nr.:31
RS-Master-Slave-Flipflop mit negativer
Taktflankensteuerung
Schaltung:
Symbol:
S
R
C
Q
Q
Die Bezeichnungen
- Zwei-Pegelgesteuertes Flipflop
- Takflankengesteuertes Flipflop
für dieses Flipflop sind äquivalent.
Uwe Brinkschulte  Eingebettete Systeme  Lars Hedrich  Entwurfsmethodik
HWR · K5
Nr.:32
RS-Master-Slave Flipflop mit negativer
Taktflankensteuerung
Zustandsfolgetabelle:
Uwe Brinkschulte  Eingebettete Systeme  Lars Hedrich  Entwurfsmethodik
HWR · K5
Nr.:33
Impulsdiagramm
RS-Master-Slave-Flipflop mit negativer Taktflankensteuerung :
C
1
0
t
R
1
0
t
S
Störimpuls
1
0
t
Q
1
0
t
Fehlinformation
Uwe Brinkschulte  Eingebettete Systeme  Lars Hedrich  Entwurfsmethodik
HWR · K5
Nr.:34
RS Master-Slave-Flipflop aus NAND-Gattern
Uwe Brinkschulte  Eingebettete Systeme  Lars Hedrich  Entwurfsmethodik
HWR · K5
Nr.:35
Funktionsablauf Master-Slave Flipflop
UC
U2
U1
t
t1
t2
U1 Schaltschwelle des Inverters
U2 Schaltschwelle der NAND-Gatter
t3
t4
t1 Sperren Slave-Flipflop
t2 Freigabe Master-Flipflop
t3 Sperren Master-Flipflop
t4 Freigabe Slave-Flipflop
Uwe Brinkschulte  Eingebettete Systeme  Lars Hedrich  Entwurfsmethodik
HWR · K5
Nr.:36
D-Master-Slave-Flipflop mit Taktflankensteuerung
D
C
S
Q
C
R
Q
1
Uwe Brinkschulte  Eingebettete Systeme  Lars Hedrich  Entwurfsmethodik
HWR · K5
Nr.:37
JK-Master-Slave-Flipflop mit Taktflankensteuerung
Hierbei handelt es sich um ein erweitertes RS Flipflop, bei dem die die
ungültige Eingangskombination 11 zum Wechsel des Zustandes genutzt wird
J
K
Qn+1
0
0
Qn
speichern
1
0
1
setzen
0
1
0
rücksetzen
1
1
Qn
wechseln
(vereinfachte Tabelle ohne Takt)
Uwe Brinkschulte  Eingebettete Systeme  Lars Hedrich  Entwurfsmethodik
HWR · K5
Nr.:38
JK-Master-Slave-Flipflop mit Taktflankensteuerung
Schaltplan:
d = QK  QJ
&
K
1
J
&
D
Q
C
C
Q
J
Q
C
Symbol:
K
Q
Uwe Brinkschulte  Eingebettete Systeme  Lars Hedrich  Entwurfsmethodik
HWR · K5
Nr.:39
T-Master-Slave-Flipflop
Schaltung:
T
J
Q
C
C
Q
K
Symbol:
T
C
Q
Q
T
Qn+1
0
Qn
1
Qn
T = Toggle (Umschalten, Kippen)
Uwe Brinkschulte  Eingebettete Systeme  Lars Hedrich  Entwurfsmethodik
HWR · K5
Nr.:40
Übersicht: Flipflop-Typen
RS-Flipflop
ohne Taktsteuerung
Pegelsteuerung
Flankensteuerung
S
S
C
R
S
C
R
D
C
D
C
R
D-Flipflop
T-Flipflop
T
C
JK-Flipflop
J
C
K
Uwe Brinkschulte  Eingebettete Systeme  Lars Hedrich  Entwurfsmethodik
HWR · K5
Nr.:41
D
C
Register
Das Standardflipflop für die
Verwendung in synchronen
Schaltungen ist das
taktflankengesteuerte D-FlipFlop
D
C
D
C
D
C
Es lässt sich durch Anreihung zu
einem Register z.B. mit 8Bit Breite
anordnen
D
C
D
C
D
C
D
C
Uwe Brinkschulte  Eingebettete Systeme  Lars Hedrich  Entwurfsmethodik
HWR · K5
Nr.:42
Schieberegister
3-Bit Schieberegister mit
taktflankengesteuerten DFlipflops
3-Bit Schieberegister mit
pegelgesteuerten D-Flipflops
Sequenzielle Schaltungen werden in der Regel mit taktflankengesteuerten
D-Flipflops aufgebaut. Mit pegelgesteuerten Flipflops können die Zustände nicht dauerhaft
gespeichert werden.
Uwe Brinkschulte  Eingebettete Systeme  Lars Hedrich  Entwurfsmethodik
HWR · K5
Nr.:43
Herunterladen