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