Teil 1: Digitale Logik Inhalt: • Boolesche Algebra • kombinatorische Logik • sequentielle Logik • kurzer Exkurs technologische Grundlagen • programmierbare logische Bausteine
Technische Informatik I, SS 2001 A. Strey, Universität Ulm
Kapitel 1: Sequentielle Logik 1
Sequentielle Logik • In der kombinatorischen Logik werden Gatter i.a. als verzögerungsfrei angenommen: – Idealisierung, die bei sehr hohen Geschwindigkeiten problematisch ist – Mögliche Hazards werden beim Entwurf nicht entdeckt
In der sequentiellen Logik wird Zeitverhalten durch Annahme einer Gatterlaufzeit ∆t berücksichtigt • Sequentielle Schaltungen enthalten Rückkopplungen und werden als Schaltwerke bezeichnet. Sie sind darstellbar als gerichteter zyklischer Graph. Technische Informatik I, SS 2001 A. Strey, Universität Ulm
Kapitel 1: Sequentielle Logik 2
1
Asynchrone Schaltwerke • Was geschieht in einer digitalen Schaltung bei der Rückkopplung eines Gatterausganges ? • Beispiel 1: rückgekoppeltes NOR-Gatter
⇒ unerwünschte Schwingungen sind möglich Technische Informatik I, SS 2001 A. Strey, Universität Ulm
Kapitel 1: Sequentielle Logik 3
Asynchrone Schaltwerke (Forts.) • Beispiel 2: zwei rückgekoppelte NOR-Gatter (bistabile Kippstufe)
⇒ Zeitverhalten für A=0 und B=0 hängt davon ab, ob oberes oder unteres Gatter schneller schaltet (Zufall) Technische Informatik I, SS 2001 A. Strey, Universität Ulm
Kapitel 1: Sequentielle Logik 4
2
RS Flip-Flop • Bei Vermeidung von Y(t)=X(t) bzw. A(t)=B(t)=1 eignet sich die bistabile Kippstufe zur Speicherung eines binären Wertes. • Setzt man R=A („Reset“), S=B („Set“) sowie X=Y, so ergibt sich ein RS Flip-Flop:
Technische Informatik I, SS 2001 A. Strey, Universität Ulm
Kapitel 1: Sequentielle Logik 5
Getaktetes RS Flip-Flop
• Bei Clk=1 stellt sich der neue Folgezustand X(t+1) ein • Bei Clk=0 sind R und S irrelevant („don´t care“) • Probleme: keine gute Synchronisation mit Takt, für Clk=1 bleibt R=S=1 verboten Technische Informatik I, SS 2001 A. Strey, Universität Ulm
Kapitel 1: Sequentielle Logik 6
3
D Flip-Flop
• Durch internes Setzen von R=S wird R=S=1 vermieden • Folgezustand im nächsten Takt: X(t+1)= D(t) • keine undefinierten Zustände Technische Informatik I, SS 2001 A. Strey, Universität Ulm
Kapitel 1: Sequentielle Logik 7
Master-Slave Flip-Flops • Zwei Flip-Flops („Master“ und „Slave“) in Reihe • „Master“ übernimmt Eingangswerte bei Clk=1 („Slave“ ändert sich nicht) • „Slave“ übernimmt Werte vom „Master“ bei Clk=0 („Master“ ändert sich nicht) • Zustandsänderung bei fallender Flanke von Clk Technische Informatik I, SS 2001 A. Strey, Universität Ulm
Kapitel 1: Sequentielle Logik 8
4
Zeitverhalten verschiedener RS Flipflops
Technische Informatik I, SS 2001 A. Strey, Universität Ulm
Kapitel 1: Sequentielle Logik 9
Flankengetriggerte Flip-Flops • Durch spezielle Schaltungen kann erreicht werden, daß die Eingangsleitungen nur bei steigender oder fallender Flanke berücksichtigt werden ⇒ positiv oder negativ flankengetriggertes Flip-Flop
Technische Informatik I, SS 2001 A. Strey, Universität Ulm
Kapitel 1: Sequentielle Logik 10
5
JK Flip-Flop
• Nutzung der Eingangskombination (1,1) für eine Invertierung von X • internes RS Master-Slave Flip-Flop • keine undefinierten Zustände • Spezialfall: T Flip-Flop („toggle“ Flip-Flop) mit J=K Technische Informatik I, SS 2001 A. Strey, Universität Ulm
Kapitel 1: Sequentielle Logik 11
Realisierung von Flip-Flops mit ICs • • • •
mehrere Flip-Flops eines Typs in einem Baustein zusätzliche asynchrone Eingänge PRE („Preset“), CLR („Clear“) i.a. Triggerung auf positive oder negative Taktflanken Beispiel: 74LS74 (zwei positiv flankengetriggerte D-Flip-Flops)
Technische Informatik I, SS 2001 A. Strey, Universität Ulm
Kapitel 1: Sequentielle Logik 12
6
Zeitverhalten verschiedener D Flip-Flops
MS D Flip-Flop MS aus pos. u. neg. flankengetr. D Flip-Flops Technische Informatik I, SS 2001 A. Strey, Universität Ulm
Kapitel 1: Sequentielle Logik 13
Beispiele sequentieller Schaltungen • Synchroner 3-stelliger Binärzähler:
• Schieberegister mit serieller und paralleler Ein-/Ausgabe:
Technische Informatik I, SS 2001 A. Strey, Universität Ulm
Kapitel 1: Sequentielle Logik 14
7
Entwurf sequentieller Schaltungen • Sequentielle Schaltungen bestehen aus einem oder mehreren Speicherbausteinen (Flip-Flops), Rückkopplungen und kombinatorischer Logik
• Kann man systematisch eine sequentielle Schaltung entwerfen ? ⇒ Für synchrone sequentielle Schaltungen (mit zentralem Takt) können Zustandsmaschinen effektiv eingesetzt werden Technische Informatik I, SS 2001 A. Strey, Universität Ulm
Kapitel 1: Sequentielle Logik 15
Zustandsmaschinen • Moore-Maschine (nach E. Moore, Bell Labs): Ausgabe Y hängt nur ab vom internen Zustand S
• Mealy-Maschine (nach G. Mealy, IBM): Ausgabe Y hängt ab von Eingabe E und internem Zustand S
Technische Informatik I, SS 2001 A. Strey, Universität Ulm
Kapitel 1: Sequentielle Logik 16
8
Entwurf einer Zustandsmaschine • Systematische Vorgehensweise: 1. Aufstellen eines Zustandsdiagramms 2. Aufstellen einer Zustandstabelle 3. Auswahl einer binären Zustandskodierung und Generierung einer binären Zustandstabelle 4. Auswahl eines Flip-Flop Typs, Erstellung einer Flip-Flop Ansteuerungstabelle und der Ansteuerungsgleichungen 5. Ermittlung der Ausgabegleichungen 6. Minimierung von Ansteuerungs- und Ausgabegleichungen
• zunächst Beschränkung auf Moore-Maschinen Technische Informatik I, SS 2001 A. Strey, Universität Ulm
Kapitel 1: Sequentielle Logik 17
Zustandsdiagramme (für Moore-Maschine) • Darstellung einer Aufgabenstellung als gerichteter Graph: – Knoten entsprechen Zuständen, Markierung S/Y kennzeichnet Namen und zugehörige Ausgabe Y=Y1,Y2,...,Yn – Kanten entsprechen Zustandsübergängen, Markierung mit zugehöriger Eingabe E=E1,E2,...,Em • Beispiel: Zustandsdiagramm zur Erkennung der Sequenz 010 in einer Binärfolge (Y=1 falls erkannt, sonst Y=0)
Technische Informatik I, SS 2001 A. Strey, Universität Ulm
Kapitel 1: Sequentielle Logik 18
9
Zustandstabellen (für Moore-Maschine) • Zustandstabelle enthält für jeden Zustand S(t) – den Folgezustand S(t+1) in Abhängigkeit von der Eingabe – die zugehörige Ausgabe Y(t)
• Auswahl einer binären Zustandskodierung S(t) → X(t) mit X(t)=X1X2...Xk(t) und Erzeugung einer binären Zustandstabelle • Beispiel: Zustandstabellen für Sequenzdetektor S(t)
S(t+1)
Y(t)
S(t)
X(t)
E=0
E=1
A
B
A
0
A
B
B
C
0
C
D
A
D
B
A
X(t+1)
Y(t)
E=0
E=1
00
01
00
0
B
01
01
10
0
0
C
10
11
00
0
1
D
11
01
00
1
Technische Informatik I, SS 2001 A. Strey, Universität Ulm
Kapitel 1: Sequentielle Logik 19
Ansteuerungstabelle für Flip-Flops • Auswahl eines Flip-Flop Typs und Ermittlung der für jeden Zustandsübergang nötigen Ansteuerungen aus Übergangstabelle • Beispiel: Realisierung des Sequenzdetektors mit JK Flip-Flops X1X2(t)
E
X1X2(t+1)
J1
K1
J2
K2
00
0
01
0
d
1
d
00
1
00
0
d
0
d
01
0
01
0
d
d
0
01
1
10
1
d
d
1
10
0
11
d
0
1
d
10
1
00
d
1
0
d
11
0
01
d
1
d
0
11
1
00
d
1
d
1
Technische Informatik I, SS 2001 A. Strey, Universität Ulm
Minimierung liefert: J1 = X1 + X2E K1 = X2 + E J2 = E K2 = E
Kapitel 1: Sequentielle Logik 20
10
Zustandsdiagramme (Mealy-Maschine) • Darstellung einer Aufgabenstellung als gerichteter Graph: – Knoten entsprechen Zuständen – Kanten entsprechen Zustandsübergängen, die Markierung E/Y kennzeichnet die zugehörige Eingabe E=E1,E2,...,Em sowie die resultierende Ausgabe Y=Y1,Y2,...,Yn • Beispiel: Zustandsdiagramm zur Erkennung der Sequenz 010 in einer Binärfolge (Y=1 falls erkannt, sonst Y=0)
Technische Informatik I, SS 2001 A. Strey, Universität Ulm
Kapitel 1: Sequentielle Logik 21
Zustandstabellen (für Mealy-Maschine) • Zustandstabelle enthält für jeden Zustand S(t) – den Folgezustand S(t+1) in Abhängigkeit von der Eingabe – die Ausgabe Y(t) in Abhängigkeit von der Eingabe
• Auswahl einer binären Zustandskodierung S(t) → X(t) mit X(t)=X1X2...Xk(t) und Erzeugung einer binären Zustandstabelle • Beispiel: Zustandstabellen für Sequenzdetektor S(t)
S(t+1)
Y(t)
E=0 E=1 E=0 E=1
S(t) X(t)
X(t+1)
Y(t)
E=0 E=1 E=0 E=1
A
B
A
0
0
A
00
01
00
0
0
B
B
C
0
0
B
01
01
10
0
0
C
D
A
1
0
C
10
11
00
1
0
D
B
A
0
0
D
11
01
00
0
0
Technische Informatik I, SS 2001 A. Strey, Universität Ulm
Kapitel 1: Sequentielle Logik 22
11
Realisierungen der Beispielschaltung
Technische Informatik I, SS 2001 A. Strey, Universität Ulm
Kapitel 1: Sequentielle Logik 23
Reduktion von Zuständen • Zustände mit gleichen Ausgaben und gleichen Folgezuständen können zusammengefaßt werden (⇒ Einsparung von Flip-Flops) • Beispiel: Erkennung der Sequenzen abc und acc in einer Folge aus {a,b,c} S(t) A B C D E
E=a B B B B B
S(t+1) E=b E=c A A C E A D A A A D
Technische Informatik I, SS 2001 A. Strey, Universität Ulm
Y(t) S(t) 0 0 0 1 0
A B C D
S(t+1) E=a E=b E=c B A A B C C B A D B A A
Y(t) 0 0 0 1
Kapitel 1: Sequentielle Logik 24
12
Asychrone sequentielle Schaltungen • Beispiel 1: 3-Bit Dualzähler
• Zeitdiagramm mit Berücksichtigung der Verzögerung ∆t: ⇒ Verschiebung der Ausgangsimpulse ⇒ kurzzeitig falsche Ausgänge nach Flanke Technische Informatik I, SS 2001 A. Strey, Universität Ulm
Kapitel 1: Sequentielle Logik 25
Asychrone sequentielle Schaltungen • Beispiel 2: Modulo-6 Zähler Asynchroner Reset nach Erreichen des Zustandes X2X1X0=110
• Zeitdiagramm mit Berücksichtigung der Verzögerung ∆t: ⇒ kurzzeitig falsche Ausgabe 110
Technische Informatik I, SS 2001 A. Strey, Universität Ulm
Kapitel 1: Sequentielle Logik 26
13
Asychrone sequentielle Schaltungen • Beispiel 3: programmierbarer Frequenzteiler mit Teilerverhältnissen 1:3 (E=0), 1:6 (E=1)
• Zeitdiagramm mit Berücksichtigung der Verzögerung ∆t:
Technische Informatik I, SS 2001 A. Strey, Universität Ulm
Kapitel 1: Sequentielle Logik 27
14