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. Asynchrone Schaltwerke 5.2 Register 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. 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 (n alt ). Im kombinatorischen Teil der Schaltung wird der Zähler um erhöht und das neue Ergebnis (n neu ) für den nächsten Zählschritt wiederum zum Eingang rückgeführt. Zählsignal n neu = n alt + Kombinatorischer Teil: Ergebnis Speicher n alt Addierer n neu 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 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 Nr.:6
5. Asynchrone Schaltwerke Rückgekoppelte Schaltnetze: x Schalt- netz y x n z y m z p 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. Nr.:7
Rückgekoppelte Schaltung Rückgekoppeltes Schaltnetz ohne innere Verzögerung: x Schalt- netz y x n z w y m z p wp T p Der Gesamtzustand des Systems wird aus dem Eingangsvektor und dem Rückkopplungszustand bestimmt. Der Zustand des Systems ist stabil, wenn: T Nr.:8
Rückgekoppelte Schaltung Rückgekoppelte Schaltung ohne innere Verzögerung: Weiterhin gilt für i =,, p und j =,, m: Anregungsfunktionen: Ausgangsfunktionen: Vereinfachend wird angenommen, dass sich der Eingangsvektor nur ändert, wenn der Zustand des Systems stabil ist. Nr.:9
Rückgekoppelte Schaltung Beispiel: x x 2 ideales Schaltnetz w z T z 2 Übergangs- und Ergebnistabelle: Nr.:
Zustandsdiagramm Beispiel Notation: x x 2 /w z 2 an den Übergängen, z=z im Zustand -/ / / -/ -/ Die Variable z bezeichnet den aktuellen Zustand und die Variable w den Folgezustand der rückgekoppelten Schaltung. Für x x 2 = 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 =, dann kann sie mit x x 2 = in den Zustand z = gebracht werden. Liegt anschließend x x 2 = - an, bleibt der Zustand z = stabil. Befindet sich die Schaltung im Zustand z =, dann kann sie mit x x 2 = in den Zustand z = gebracht werden. Liegt anschließend x x 2 = - oder oder x x 2 = an, bleibt der Zustand z = stabil. Nr.:
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. Nr.:2
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 Verknüpfungsnetz y z T w z 2 T 2 w 2 Kritischer Lauf: Ein Lauf, der je nach Laufzeitrelationen zu verschiedenen stabilen Endzuständen führt, heißt kritischer Lauf. Nr.:3
Fehlverhalten durch kritische Läufe Beispiel: Zählerschaltung (von bis 3) Notation an der Kante: x Mehrkomponentenübergang Mehrkomponentenübergang 2 3 Nr.:4
Analyse möglicher Übergänge Mögliche Übergänge aus instabilen in stabile Zustände: für x = T > T 2 T < T 2 T = T = T T 2 2 T < T 2 für x = T < T 2 T = T 2 T > T 2 T > T 2 w = z z 2 z z 2 w 2 = w =z w 2 = Schlußfolgerung: Durch unterschiedliche Laufzeiten der Rückkopplungsvariablen können kritische Läufe bei x = entstehen. Nr.:5
Im Schrittmodus mit Logiflash für x = T > T 2 T < T 2 T = T = T T 2 2 T < T 2 T > T 2 w = z z 2 z z 2 w 2 = Nr.:6
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 Nr.:7
Vermeidung von Fehlverhalten durch Läufe Beispiel: Gray-ode-Zählerschaltung (von bis 3) Notation an der Kante: x 2 3 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. Nr.:8
NOR-Flipflop Nr.:9
Detailanalyse NOR-Flipflop T < T 2 T > T 2 T <=> T 2 T <=> T 2 T <=> T 2 T <=> T 2 T <=> T 2 T <=> T 2 T 2 T = T = T 2 T = T 2 T = T 2 T > T 2 T < T 2 T > T 2 T < T 2 T > T 2 T < T 2 T > T 2 T < T 2 x x 2 = speichern x x 2 = x x 2 = x x 2 = rücksetzen unzulässig setzen Zustandsübergänge für verschiedene Eingangszustände und Laufzeitrelationen: Bei Eingangsvektor x x 2 = kritischer Lauf, wenn z z 2 = oder z z 2 =, u. U. sogar Schwingen. Nr.:2
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 x x 2 x x 2 w z T z 2 z Stabiler Übergang w = x x 2 x z Nr.:2
Weiteres Problem: Hazardfehler während Übergängen w x w = x x 2 x z x 2 z Statischer Funktionshazard x x 2 ideales Schaltnetz w z T z 2 x x 2 z Falscher Übergang bei Hazardfehler 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 Nr.:23
5.2 Register Das Basis RS-Flipflop (RESET/SET) aus NOR-Gattern: R Q S Q R Q S Q Schaltsymbol Zustandsfolgetabelle: Nr.:24
RS-Flipflop Erweiterte Zustandsfolgetabelle: Nr.:25
RS-Flipflop mit Pegelsteuerung (Latch) Schaltung: = lock (Takt) Schaltsymbol: S R Q Q Nr.:26
RS-Flipflop mit Pegelsteuerung (Latch) Zustandsfolgetabelle: Erweiterte Zustandsfolgetabelle: Nr.:27
Impulsdiagramm für das RS-Flipflop Ohne Verzögerung: t R t S t Q t t 2 t 3 t 4 t Nr.:28
Impulsdiagramm für das RS-Flipflop Mit Verzögerung: R S Q t t 2 t 3 t t t t PLH t PHL t PHL t 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 S Q R Q D Q Q Wie in der Schaltung zu sehen ist, kann das RS-Flipflop nur mit oder angesteuert werden. Die unzulässige Eingangsbelegung des RS- Flipflops wird vermieden. Nr.:3
Taktflankensteuerung Bei einem taktflankengesteuerten Flipflop erfolgt die Fortschaltung der Eingangsbelegung nicht fortwährend beim Taktpegel, sondern nur zum Zeitpunkt der Taktflanke, d.h. beim Wechsel des Taktpegels von nach bzw. nach für einen invertierten Takteingang. Die Taktflankensteuerung wird durch einen spitzen Pfeil am Takteingang im Flipflop-Symbol dargestellt. Latch Master-Slave Flipflop Steuerung Pegelsteuerung Flankensteuerung Transparenz Bei = Nein Speicherung Bei = Bei = und = Übernahme des zu = = speichernden Zustands Größe Klein Groß Nr.:3
RS-Master-Slave-Flipflop mit negativer Taktflankensteuerung Schaltung: Symbol: S R Q Q Die Bezeichnungen - Zwei-Pegelgesteuertes Flipflop - Takflankengesteuertes Flipflop für dieses Flipflop sind äquivalent. Nr.:32
RS-Master-Slave Flipflop mit negativer Taktflankensteuerung Zustandsfolgetabelle: Nr.:33
Impulsdiagramm RS-Master-Slave-Flipflop mit negativer Taktflankensteuerung : R S Q Störimpuls t t t Fehlinformation t Nr.:34
RS Master-Slave-Flipflop aus NAND-Gattern Nr.:35
Funktionsablauf Master-Slave Flipflop U U 2 U t t t 2 t 3 t 4 U Schaltschwelle des Inverters U 2 Schaltschwelle der NAND-Gatter t Sperren Slave-Flipflop t 2 Freigabe Master-Flipflop t 3 Sperren Master-Flipflop t 4 Freigabe Slave-Flipflop Nr.:36
D-Master-Slave-Flipflop mit Taktflankensteuerung D S Q R Q Nr.:37
JK-Master-Slave-Flipflop mit Taktflankensteuerung Hierbei handelt es sich um ein erweitertes RS Flipflop, bei dem die die ungültige Eingangskombination zum Wechsel des Zustandes genutzt wird J K Q n+ Q n speichern setzen rücksetzen Q n wechseln (vereinfachte Tabelle ohne Takt) Nr.:38
JK-Master-Slave-Flipflop mit Taktflankensteuerung Schaltplan: K J & & d = QK QJ D Q Q Symbol: J K Q Q Nr.:39
T-Master-Slave-Flipflop Schaltung: T J K Q Q Symbol: T Q Q T Q n+ Q n Q n T = Toggle (Umschalten, Kippen) Nr.:4
Übersicht: Flipflop-Typen ohne Taktsteuerung Pegelsteuerung Flankensteuerung RS-Flipflop S R S R S R D-Flipflop D D T-Flipflop T JK-Flipflop J K Nr.:4
Register Das Standardflipflop für die Verwendung in synchronen Schaltungen ist das taktflankengesteuerte D-FlipFlop Es lässt sich durch Anreihung zu einem Register z.b. mit 8Bit Breite anordnen D D D D D D D D Nr.:42
Schieberegister 3-Bit Schieberegister mit taktflankengesteuerten D- Flipflops 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. Nr.:43