Teil 1: Digitale Logik

Teil 1: Digitale Logik Inhalt: • Boolesche Algebra • kombinatorische Logik • sequentielle Logik • kurzer Exkurs technologische Grundlagen • programmie...
Author: Viktoria Weiner
77 downloads 1 Views 146KB Size
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