Quellen: Zum Teil aus den Unterlagen „Digitale Systeme“, Prof. Schimmler, Prof. Loogen

54
Seite 1 IDA, Technische Universität Braunschweig Technische Informatik II (INF 1211) Quellen: Zum Teil aus den Unterlagen „Digitale Systeme“, Prof. Schimmler, Prof. Loogen Technische Technische Informatik II Informatik II (für Bachelor) (für Bachelor) Vorlesung 3: Vorlesung 3: Kombinatorische Kombinatorische Schaltungen Schaltungen 21.04.2008 , v16 21.04.2008 , v16 hemen: . Beschreibung kombinatorischer Logik . Minimierung von Schaltfunktionen

description

Technische Informatik II (für Bachelor). Vorlesung 3: Kombinatorische Schaltungen. 21.04.2008 , v16. Themen: Beschreibung kombinatorischer Logik Minimierung von Schaltfunktionen. Quellen: Zum Teil aus den Unterlagen „Digitale Systeme“, Prof. Schimmler, Prof. Loogen. Schaltnetze. - PowerPoint PPT Presentation

Transcript of Quellen: Zum Teil aus den Unterlagen „Digitale Systeme“, Prof. Schimmler, Prof. Loogen

Page 1: Quellen: Zum Teil aus den Unterlagen „Digitale Systeme“, Prof. Schimmler, Prof. Loogen

Seite 1IDA, Technische Universität Braunschweig Technische Informatik II (INF 1211)

Quellen:Zum Teil aus den Unterlagen „Digitale Systeme“, Prof. Schimmler, Prof. Loogen

Technische Informatik IITechnische Informatik II(für Bachelor)(für Bachelor)

Vorlesung 3:Vorlesung 3: Kombinatorische SchaltungenKombinatorische Schaltungen

21.04.2008 , v1621.04.2008 , v16

Themen:1. Beschreibung kombinatorischer Logik2. Minimierung von Schaltfunktionen

Page 2: Quellen: Zum Teil aus den Unterlagen „Digitale Systeme“, Prof. Schimmler, Prof. Loogen

Seite 2IDA, Technische Universität Braunschweig Technische Informatik II (INF 1211)

Definition:

Ein Schaltnetz ist eine technische Realisierung einer Boole‘schen Funktion. Schaltnetze können durch Zusammenschalten von Gattern und Leitungen aufgebaut werden.

SchaltnetzeSchaltnetze

Schaltfunktion

y = f(X)..

x1

x2

.

.

xn

y

Anz. Funktionen = 22n

Schaltnetz mit einem Ausgang:

Page 3: Quellen: Zum Teil aus den Unterlagen „Digitale Systeme“, Prof. Schimmler, Prof. Loogen

Seite 3IDA, Technische Universität Braunschweig Technische Informatik II (INF 1211)

SchaltfunktionSchaltfunktion

Eingangswerte

Ausgangswerte

Page 4: Quellen: Zum Teil aus den Unterlagen „Digitale Systeme“, Prof. Schimmler, Prof. Loogen

Seite 4IDA, Technische Universität Braunschweig Technische Informatik II (INF 1211)

SchaltfunktionenSchaltfunktionen

f(X) fxn m

Page 5: Quellen: Zum Teil aus den Unterlagen „Digitale Systeme“, Prof. Schimmler, Prof. Loogen

Seite 5IDA, Technische Universität Braunschweig Technische Informatik II (INF 1211)

Beispiel des Schaltnetzes:

&

&

1≥1 y0

x0

x1

x2

x3

Page 6: Quellen: Zum Teil aus den Unterlagen „Digitale Systeme“, Prof. Schimmler, Prof. Loogen

Seite 6IDA, Technische Universität Braunschweig Technische Informatik II (INF 1211)

Logische Funktionen von einer VariablenLogische Funktionen von einer Variablen

1 1

Page 7: Quellen: Zum Teil aus den Unterlagen „Digitale Systeme“, Prof. Schimmler, Prof. Loogen

Seite 7IDA, Technische Universität Braunschweig Technische Informatik II (INF 1211)

Logische Funktionen von Logische Funktionen von zweizwei Variablen(1) Variablen(1)

f

Anz. Funktionen = 2 =1622

Page 8: Quellen: Zum Teil aus den Unterlagen „Digitale Systeme“, Prof. Schimmler, Prof. Loogen

Seite 8IDA, Technische Universität Braunschweig Technische Informatik II (INF 1211)

Logische Funktionen von Logische Funktionen von zweizwei Variablen(2) Variablen(2)

Anz. Funktionen = 2 =1622

Page 9: Quellen: Zum Teil aus den Unterlagen „Digitale Systeme“, Prof. Schimmler, Prof. Loogen

Seite 9IDA, Technische Universität Braunschweig Technische Informatik II (INF 1211)

Verbreiteten Funktionen bis Verbreiteten Funktionen bis zweizwei Variablen Variablen

grafische Darstellung der verschalteten Logik

Page 10: Quellen: Zum Teil aus den Unterlagen „Digitale Systeme“, Prof. Schimmler, Prof. Loogen

Seite 10IDA, Technische Universität Braunschweig Technische Informatik II (INF 1211)

Rechengesetze der SchaltalgebraRechengesetze der Schaltalgebra

Grafische Darstellung der verschalteten Logik

Page 11: Quellen: Zum Teil aus den Unterlagen „Digitale Systeme“, Prof. Schimmler, Prof. Loogen

Seite 11IDA, Technische Universität Braunschweig Technische Informatik II (INF 1211)

Rechengesetze der SchaltalgebraRechengesetze der Schaltalgebra

Page 12: Quellen: Zum Teil aus den Unterlagen „Digitale Systeme“, Prof. Schimmler, Prof. Loogen

Seite 12IDA, Technische Universität Braunschweig Technische Informatik II (INF 1211)

Definition:

Ein Produktterm ist eine UND-Verknüpfung von Eingabevariablen, wobei jede Eingabevariable höchstens einmal in invertierter oder in nicht-invertierter Form vorkommen kann.

Beispiele für Produktterme:

210 xxx

0x

320 xxx

24 xx

Page 13: Quellen: Zum Teil aus den Unterlagen „Digitale Systeme“, Prof. Schimmler, Prof. Loogen

Seite 13IDA, Technische Universität Braunschweig Technische Informatik II (INF 1211)

Definition:

Eine Boole‘sche Funktion ist in Disjunktiver Normalform (DNF), wenn sie aus einer ODER-Verknüpfung von Produkttermen besteht.(Sum Of Products: SOP)

Beispiele für Funktionen in DNF:

)()()( 210210210 xxxxxxxxx

0x

020 xxx

4023124 xxxxxxx

Page 14: Quellen: Zum Teil aus den Unterlagen „Digitale Systeme“, Prof. Schimmler, Prof. Loogen

Seite 14IDA, Technische Universität Braunschweig Technische Informatik II (INF 1211)

Definition:Ein Minterm (Vollkonjunktion, minimaler Produktterm) ist ein Produktterm, bei dem alle Eingabevariablen entweder in invertierter oder in nicht-invertierter Form vorkommen. Ein Minterm entspricht einer Zeile in der Wertetabelle der Funktion.

Beispiele für Minterme:

210 xxx

0x

20 xx hingegen ist kein Minterm, wenn es auch noch eine Eingabevariable x1 gibt.

( x0 x1 x2 sind alle Eingangsvariablen)

( x0 ist die einzige Eingangsvariable)

Page 15: Quellen: Zum Teil aus den Unterlagen „Digitale Systeme“, Prof. Schimmler, Prof. Loogen

Seite 15IDA, Technische Universität Braunschweig Technische Informatik II (INF 1211)

Definition:

Die Kanonische Disjunktive Normalform (KDNF) einer Boole‘schen Funktion ist eine ODER-Verknüpfung aller Minterme, für die die Funktion den Wert 1 annimmt.

Beispiele für Funktionen in KDNF:

)()()( 210210210 xxxxxxxxx

0x

)()()( 21020210 xxxxxxxx

Die folgende Funktion ist nicht in KDNF;

im zweiten Produktterm taucht das x1 nicht auf, daher ist es kein Minterm.

Page 16: Quellen: Zum Teil aus den Unterlagen „Digitale Systeme“, Prof. Schimmler, Prof. Loogen

Seite 16IDA, Technische Universität Braunschweig Technische Informatik II (INF 1211)

Beispiel einer Wertetabelle einer Funktion y1:

x2x1x0 y1

000 0

001 0

010 0

011 1

100 0

101 1

110 1

111 1

Minterm

210 xxx

210 xxx210 xxx210 xxx210 xxx

210 xxx210 xxx210 xxx

y1 = 210 xxx + 210 xxx 210 xxx 210 xxx++

Page 17: Quellen: Zum Teil aus den Unterlagen „Digitale Systeme“, Prof. Schimmler, Prof. Loogen

Seite 17IDA, Technische Universität Braunschweig Technische Informatik II (INF 1211)

Beispiel des Schaltbildes einer Funktion in KDNF:

1 1 1

&

&

&

&

x0 x1 x2

≥1 y1

y1 = 210 xxx + 210 xxx 210 xxx 210 xxx++

Page 18: Quellen: Zum Teil aus den Unterlagen „Digitale Systeme“, Prof. Schimmler, Prof. Loogen

Seite 18IDA, Technische Universität Braunschweig Technische Informatik II (INF 1211)

Definition:Ein Summenterm ist eine ODER-Verknüpfung von Eingabevariablen, wobei jede Eingabevariable höchstens einmal in invertierter oder in nicht-invertierter Form vorkommen kann.

Beispiele für Summenterme:

210 xxx

0x

20 xx

Page 19: Quellen: Zum Teil aus den Unterlagen „Digitale Systeme“, Prof. Schimmler, Prof. Loogen

Seite 19IDA, Technische Universität Braunschweig Technische Informatik II (INF 1211)

Definition:Eine Boole‘sche Funktion ist in Konjunktiver Normalform (KNF), wenn sie aus einer UND-Verknüpfung von Summentermen besteht.(Product Of Sums: POS )

Beispiele für Funktionen in KNF:

)()()( 210210210 xxxxxxxxx

0x

)( 020 xxx

))(()( 4023124 xxxxxxx

Page 20: Quellen: Zum Teil aus den Unterlagen „Digitale Systeme“, Prof. Schimmler, Prof. Loogen

Seite 20IDA, Technische Universität Braunschweig Technische Informatik II (INF 1211)

Definition:Ein Maxterm (Volldisjunktion) ist ein Summenterm, bei dem alle Eingabevariablen entweder in invertierter oder in nicht-invertierter Form vorkommen. Es gibt für jede Zeile i in einer Wertetabelle der Funktion einen Maxterm, der der Menge aller Zeilen außer seiner Zeile i entspricht.

Beispiele für Maxterme:

210 xxx

0x

20 xx hingegen ist kein Maxterm, wenn es auch noch eine Eingabevariable x1 gibt.

Page 21: Quellen: Zum Teil aus den Unterlagen „Digitale Systeme“, Prof. Schimmler, Prof. Loogen

Seite 21IDA, Technische Universität Braunschweig Technische Informatik II (INF 1211)

Definition:Die Kanonische Konjunktive Normalform (KKNF) einer Boole‘schen Funktion ist eine UND-Verknüpfung aller Maxterme, für deren Zeile die Funktion den Wert 0 annimmt.

Beispiele für Funktionen in KKNF:

)()()( 210210210 xxxxxxxxx

0x

)( 2100 xxxx

Die folgende Funktion ist nicht in KKNF;

im ersten Summenterm tauchen x1 und x2 nicht auf, daher ist es kein Maxterm.

Page 22: Quellen: Zum Teil aus den Unterlagen „Digitale Systeme“, Prof. Schimmler, Prof. Loogen

Seite 22IDA, Technische Universität Braunschweig Technische Informatik II (INF 1211)

Beispiel einer Wertetabelle einer Funktion:

Maxterm

210 xxx

210 xxx

210 xxx

210 xxx

210 xxx

210 xxx

210 xxx

210 xxx

x2x1x0 y1

000 0

001 0

010 0

011 1

100 0

101 1

110 1

111 1

Einzelvariablen werden invertiertim Maxterme!

. ..y1 = 210 xxx 210 xxx

210 xxx 210 xxx

y1 = x0 x1 x2 + x0 x1 x2 + x0 x1 x2 + x0 x1 x2

Page 23: Quellen: Zum Teil aus den Unterlagen „Digitale Systeme“, Prof. Schimmler, Prof. Loogen

Seite 23IDA, Technische Universität Braunschweig Technische Informatik II (INF 1211)

Beispiel des Schaltbildes einer Funktion in KKNF:

1 1 1

≥1

≥1

≥1

≥1

x0 x1 x2

& y1

. ..y1 = 210 xxx 210 xxx

210 xxx 210 xxx

Page 24: Quellen: Zum Teil aus den Unterlagen „Digitale Systeme“, Prof. Schimmler, Prof. Loogen

Seite 24IDA, Technische Universität Braunschweig Technische Informatik II (INF 1211)

Beispiel einer Funktion im Auto:Zündung: Z=1 : Zündung anHitze: H=1 : Temperatur>95o

Pegel: P=1 : ausreichend WasserAusgangsfunktion Warnleuchte W

Z H P W

0 0 0 0

0 0 1 0

0 1 0 0

0 1 1 0

1 0 0 1

1 0 1 0

1 1 0 1

1 1 1 1

Minterm

PHZ

PZHZHP

Page 25: Quellen: Zum Teil aus den Unterlagen „Digitale Systeme“, Prof. Schimmler, Prof. Loogen

Seite 25IDA, Technische Universität Braunschweig Technische Informatik II (INF 1211)

Warnleuchten-Funktion in KDNF:

1 1 1

&

&

&

Z H P

≥1 W

ZHPPZHPHZW

Page 26: Quellen: Zum Teil aus den Unterlagen „Digitale Systeme“, Prof. Schimmler, Prof. Loogen

Seite 26IDA, Technische Universität Braunschweig Technische Informatik II (INF 1211)

)()( PPZHHHPZ

Minimierung durch Hilfe der SchaltalgebraMinimierung durch Hilfe der Schaltalgebra

ZHPPZHPZHPHZ ZHPPZHPHZW

ZHPPZHHPZHPZ

)()( PZHPZHHPZHPZ

)1()1( ZHPZ ZHPZ

Page 27: Quellen: Zum Teil aus den Unterlagen „Digitale Systeme“, Prof. Schimmler, Prof. Loogen

Seite 27IDA, Technische Universität Braunschweig Technische Informatik II (INF 1211)

Warnleuchten-Funktion in DMF:

1

&

&

Z H P

≥1 W

ZHPZW

Page 28: Quellen: Zum Teil aus den Unterlagen „Digitale Systeme“, Prof. Schimmler, Prof. Loogen

Seite 28IDA, Technische Universität Braunschweig Technische Informatik II (INF 1211)

Beispiel: Darstellung der Funktion f (x1, x2) = m(1, 2, 3)

01

00

11

10

x 2

x 1

-1

1-

x 1

0 0 1 1

0 1 0 1

f

0 1 1 1

x 2

Hintergrund der logischen MinimierungHintergrund der logischen Minimierung„ „ Unit Distance Code“Unit Distance Code“

Brawn Figure 4.33. Ref. Brown

A B + A B A (B + B) A

123 Die Stelle des

Bitwechselswird gekürzt

1221

2121

)(

xxxx

xxxx

2112

2121

)(

xxxx

xxxx

21 xxf

Schlüsseloperation:

Page 29: Quellen: Zum Teil aus den Unterlagen „Digitale Systeme“, Prof. Schimmler, Prof. Loogen

Seite 29IDA, Technische Universität Braunschweig Technische Informatik II (INF 1211)

Hintergrund „ Unit Distance Code“Hintergrund „ Unit Distance Code“

Ref.: Brawn Figure 4.33.

Darstellung der 3-Variablen Funktion f (x1, x2, x3) = m(0, 2, 4, 5, 6)

- - 0

1 0 -

f (x1, x2, x3) = x3 + x1 x2

(0)

(2) (6)

(5)

(4)

Page 30: Quellen: Zum Teil aus den Unterlagen „Digitale Systeme“, Prof. Schimmler, Prof. Loogen

Seite 30IDA, Technische Universität Braunschweig Technische Informatik II (INF 1211)

Hintergrund „ Unit Distance Code“Hintergrund „ Unit Distance Code“

Brawn Figure 4.33.

Darstellung der 4-Variablen Funktion f (x1, x2, x3 , x4)

f (x1, x2, x3 , x4) = x2 x4 + x1 x3 + x2 x3 x4

Page 31: Quellen: Zum Teil aus den Unterlagen „Digitale Systeme“, Prof. Schimmler, Prof. Loogen

Seite 31IDA, Technische Universität Braunschweig Technische Informatik II (INF 1211)

Karnaugh-Vieth KV-Diagramm:

• Rechteckiges Schema

• bei n Eingabevariablen 2n innere Felder.

• Ränder so beschriften, dass jede Variable genau die Hälfte des Diagramms abdeckt.

• Jede Variable deckt genau den halben Bereich jeder anderen Variablen ab.

• Jeder Minterm ist eindeutig durch ein inneres Feld repräsentiert.

Page 32: Quellen: Zum Teil aus den Unterlagen „Digitale Systeme“, Prof. Schimmler, Prof. Loogen

Seite 32IDA, Technische Universität Braunschweig Technische Informatik II (INF 1211)

c

Beispiele:

a

b

ab baba ba

dcab

a

b

abc cba

cba bca cba cba

b

c

a

d

dabc dcba

dcab abcd cdba dcba

dcba bcda cdba dcba

dcba dbca dcba dcba

dcba

cab cba

Karnaugh-Veith KV-DiagrammKV-Diagramm:

Für Funktionen mit 2 Variablen

xyxxy Minimierungsregel

Unit-Distance Kodierungfür benachbarte Felder!Gray Code Zähler: 00 → 01 →11 →10(Nur ein Bit wechselt!)

Für Funktionen mit 3 Variablen

Für Funktionen mit 4 Variablen

Page 33: Quellen: Zum Teil aus den Unterlagen „Digitale Systeme“, Prof. Schimmler, Prof. Loogen

Seite 33IDA, Technische Universität Braunschweig Technische Informatik II (INF 1211)

C

D

C

B

A 1

1

1

1

1

B

1 1 11 1 11 11 1 1

A

A

1

1

B

2 Variablen 3 Variablen

4 Variablen

A

BACA

BCABC

CBAB

CB

DB

Beispiele:

D

C

B

1 1 11 1 11 11 1 1

A

CBAB

CB

CD

4 Variablen-Alternativ

Page 34: Quellen: Zum Teil aus den Unterlagen „Digitale Systeme“, Prof. Schimmler, Prof. Loogen

Seite 34IDA, Technische Universität Braunschweig Technische Informatik II (INF 1211)

Z

H

Beispiel: Warnleuchte:

0 1

0 0

1 1

0 0

P

Z H P W

0 0 0 0

0 0 1 0

0 1 0 0

0 1 1 0

1 0 0 1

1 0 1 0

1 1 0 1

1 1 1 1ZH PZW

Beispiel für ein KV-DiagrammKV-Diagramm mit 3 Variablen

xyxxy

ZPZPH+ZPH=

ZPH+ZPH = ZH

Page 35: Quellen: Zum Teil aus den Unterlagen „Digitale Systeme“, Prof. Schimmler, Prof. Loogen

Seite 35IDA, Technische Universität Braunschweig Technische Informatik II (INF 1211)

Zusammenfassung:

Die Einsen im KV-Diagramm werden zu Blöcken maximaler Größe

zusammengefasst. Dabei müssen die Blöcke immer im Raster der

Zweierpotenzen beginnen und enden. Eine Zusammenfassung von zwei Blöcken

zu einem Block doppelter Größe entspricht einer Anwendung der

Vereinfachungsregel: Wenn ein Block (x0x1) und ein zweiter Block (x0x1) beide

nur aus Einsen bestehen, liegen diese beiden Blöcke im KV-Diagramm

nebeneinander und können zu einem doppelt so großen Block x0

zusammengefasst werden. Die gegenüberliegenden Ränder eines KV-

Diagramms sind zu identifizieren. Man kann sich das Diagramm als Torus

vorstellen.

Wenn mehr als 4 Eingabevariablen vorliegen, muss ein 2-dimensionales KV-

Diagramm so dargestellt werden, dass einzelne Variablen Bereiche überdecken,

die nicht zusammenhängend in der Ebene sind. Dabei sind aber die zueinander

zeigenden Ränder dieser Bereiche als identisch anzusehen.

Page 36: Quellen: Zum Teil aus den Unterlagen „Digitale Systeme“, Prof. Schimmler, Prof. Loogen

Seite 36IDA, Technische Universität Braunschweig Technische Informatik II (INF 1211)

Einträge in KV-Diagrammen können Nullen und Einsen sein. In diesem Fall kann

man durch Zusammenfassen aller Einsen zu maximalen Blöcken eine DMF

ablesen. (Leider ist sie nicht eindeutig). In solchen Fällen schreibt man meist nur

die Einsen in das Diagramm und lässt die Nullen weg. Zusammenfassen der

Nullen und benutzen der Komplemente der Variablen führt zur KMF.

Wenn einzelne Elemente in der Wertetabelle don‘t cares sind, können diese in

den Blöcken der Einsen bei der DMF (oder Nullen bei der KMF) mit auftauchen.

Sie schaden nichts. Aber es müssen durchaus nicht alle don‘t cares (dargestellt

durch den Buchstaben X oder d) mit in Blöcke aufgenommen werden.

Page 37: Quellen: Zum Teil aus den Unterlagen „Digitale Systeme“, Prof. Schimmler, Prof. Loogen

Seite 37IDA, Technische Universität Braunschweig Technische Informatik II (INF 1211)

n1 n0 m1 m0 p3 p2 p1 p0

0 0 0 00 0 0 10 0 1 00 0 1 10 1 0 00 1 0 10 1 1 00 1 1 11 0 0 01 0 0 11 0 1 01 0 1 1 0 1 1 01 1 0 01 1 0 11 1 1 01 1 1 1

Beispiel: 2-Bit Multiplizierer:

0 0 0 00 0 0 00 0 0 00 0 0 00 0 0 00 0 0 10 0 1 00 0 1 10 0 0 00 0 1 00 1 0 0

0 0 0 0

0 1 1 00 0 1 1

1 0 0 1

1 1 1 1n0

n1

m0

m1

p0

1 11 11 1

n0

n1

m0

m1

p1

1

11

n0

n1

m0

m1

p2

Page 38: Quellen: Zum Teil aus den Unterlagen „Digitale Systeme“, Prof. Schimmler, Prof. Loogen

Seite 38IDA, Technische Universität Braunschweig Technische Informatik II (INF 1211)

1 1 1 1n0

n1

m0

m1

p0

1 11 11 1

n0

n1

m0

m1

p1

1

11

n0

n1

m0

m1

p2

000 mnp

1101010101001 mnnmmnmnnmmnp

1011102 mmnmnnp

10103 mmnnp p3

Page 39: Quellen: Zum Teil aus den Unterlagen „Digitale Systeme“, Prof. Schimmler, Prof. Loogen

Seite 39IDA, Technische Universität Braunschweig Technische Informatik II (INF 1211)

1

&

&

&

m1

≥1

p0

1

m0

1

n1

1

n0

&

&

&

&

& p3

p1

≥1 p2

2-Bit-Multiplizierer2-Bit-Multiplizierer

Page 40: Quellen: Zum Teil aus den Unterlagen „Digitale Systeme“, Prof. Schimmler, Prof. Loogen

Seite 40IDA, Technische Universität Braunschweig Technische Informatik II (INF 1211)

Don’t Care

Don’t Care BehandlungDon’t Care Behandlung

Page 41: Quellen: Zum Teil aus den Unterlagen „Digitale Systeme“, Prof. Schimmler, Prof. Loogen

Seite 41IDA, Technische Universität Braunschweig Technische Informatik II (INF 1211)

x3 x2 x1 x0 y3 y2 y1 y0

0 0 0 00 0 0 10 0 1 00 0 1 10 1 0 00 1 0 10 1 1 00 1 1 11 0 0 01 0 0 11 0 1 01 0 1 1 X X X X1 1 0 01 1 0 11 1 1 01 1 1 1

4-Bit Codewandler: Dezimal -> Aiken4-Bit Codewandler: Dezimal -> Aiken

0 0 0 00 0 0 10 0 1 00 0 1 10 1 0 01 0 1 11 1 0 01 1 0 11 1 1 01 1 1 1X X X X

X X X X

X X X XX X X X

X X X X

Don’t Care

Page 42: Quellen: Zum Teil aus den Unterlagen „Digitale Systeme“, Prof. Schimmler, Prof. Loogen

Seite 42IDA, Technische Universität Braunschweig Technische Informatik II (INF 1211)

1. Aufstellen der Wertetabelle2. Eintragen der Terme „mit 1“ in KV-Diagramm3. Zusammenfassen von benachbarten Einsen zu

Blöcken maximaler Größe4. Ablesen der DMF

KV Minimierung für Disjunktive Minimalform KV Minimierung für Disjunktive Minimalform DMFDMF: :

Zusammenfassung Zusammenfassung

Page 43: Quellen: Zum Teil aus den Unterlagen „Digitale Systeme“, Prof. Schimmler, Prof. Loogen

Seite 43IDA, Technische Universität Braunschweig Technische Informatik II (INF 1211)

1. Aufstellen der Wertetabelle2. Eintragen der Werte „mit 0“ in KV-Diagramm3. Zusammenfassen von benachbarten Nullen zu

Blöcken maximaler Größe4. Ablesen der KMF, indem die Summenterme

gebildet werden, die diese Blöcke von Nullen nicht abdecken. Zu diesem Zweck oder‘t man die invertierten Eingabevariablen, die diese Blöcke von Nullen überdecken.

KV Minimierung für konjunktive Minimalform KV Minimierung für konjunktive Minimalform KMFKMF::Zusammenfassung: Zusammenfassung:

Page 44: Quellen: Zum Teil aus den Unterlagen „Digitale Systeme“, Prof. Schimmler, Prof. Loogen

Seite 44IDA, Technische Universität Braunschweig Technische Informatik II (INF 1211)

KV-Diagramme mit mehr als 4 Variablen (sehr Arbeitsaufwendig)

x0

x3

x4

x1 x1

x2

x0

x1

x2

x3

x4 x4

x5

x5

5 - Variablen 6 - Variablen

Page 45: Quellen: Zum Teil aus den Unterlagen „Digitale Systeme“, Prof. Schimmler, Prof. Loogen

Seite 45IDA, Technische Universität Braunschweig Technische Informatik II (INF 1211)

Das Verfahren von Quine und McCluskeyDas Verfahren von Quine und McCluskey(Rechnergestützte Verfahren)(Rechnergestützte Verfahren)

Mit KV-Diagrammen kommen wir nicht weiter, wenn die Anzahl der

Eingabevariablen größer als 6 wird. In diesem Fall empfiehlt sich das Verfahren

von Quine und McCluskey. Es beginnt mit der KDMF und besteht aus zwei

Schritten:

Erstens: Das Verfahren von McCluskey erzeugt durch systematische

Anwendung der Vereinfachungsregeln alle Primterme einer Funktion.

Zweitens: Das Verfahren von Quine wählt aus dieser Menge aller Primterme eine

minimale Teilmenge aus, deren Oder-Verknüpfung die gesamte Funktion

repräsentiert.

Page 46: Quellen: Zum Teil aus den Unterlagen „Digitale Systeme“, Prof. Schimmler, Prof. Loogen

Seite 46IDA, Technische Universität Braunschweig Technische Informatik II (INF 1211)

Das Verfahren von Quine und McCluskey

1. McCluskey:

Systematische Anwendung der Regel

Konstruktion aller Primterme

2. Quine

Treffen einer minimalen Auswahl von Primtermen, deren Disjunktion die Funktion realisiert.

xyxxy

Edward J. McCluskeyStanford UniversityComputer Science

Page 47: Quellen: Zum Teil aus den Unterlagen „Digitale Systeme“, Prof. Schimmler, Prof. Loogen

Seite 47IDA, Technische Universität Braunschweig Technische Informatik II (INF 1211)

Einleitendes BeispielEinleitendes Beispiel

dbcacdbadabcbcdacdbaabcdf 1 2 3 4 5 6

dbcbcacdacdbabcbcdacd A B C D E F G

bcbccdcd

1,2

A,E

1,3 3,61,4 2,5 4,63,5

B,D B,G C,F

bccd

Page 48: Quellen: Zum Teil aus den Unterlagen „Digitale Systeme“, Prof. Schimmler, Prof. Loogen

Seite 48IDA, Technische Universität Braunschweig Technische Informatik II (INF 1211)

Das Verfahren von McCluskeyDas Verfahren von McCluskey

Begonnen wird mit der Funktion in DNF1. Für jedes Paar von Produkttermen wird geprüft, ob

die Regel

anwendbar ist. Wenn ja, wird in der nächsten Zeile der Produktterm x aufgenommen. Alle Terme, die nicht zu einem solchen Produktterm beigetragen haben, werden unverändert in die nächste Zeile übernommen.

2. Wenn keine neuen Produktterme in der neuen Zeile entstehen, ist man fertig. Sonst wird bei 1. weitergemacht. Am Ende stehen in der letzten Zeile alle Primterme.

xyxxy

Page 49: Quellen: Zum Teil aus den Unterlagen „Digitale Systeme“, Prof. Schimmler, Prof. Loogen

Seite 49IDA, Technische Universität Braunschweig Technische Informatik II (INF 1211)

Zweites BeispielZweites Beispiel

cbabcaabccabf I II III IV

cabcab I,II II,III III,IV

3 Primterme sind generiertbc ist ein redundanter Term, wie man am KV-Diagramm leicht sehen kann. Daher benötigen wir das Verfahren von Quine.

Page 50: Quellen: Zum Teil aus den Unterlagen „Digitale Systeme“, Prof. Schimmler, Prof. Loogen

Seite 50IDA, Technische Universität Braunschweig Technische Informatik II (INF 1211)

Das Verfahren von QuineDas Verfahren von Quine

Eine Primterm-Minterm-Tabelle wird aufgestellt: Die Minterme in der Zeile und die Primterme in der Spalte.

1. Alle Spalten, in denen eine 1 aus einer dominanten Zeile (Zeile mit nur einer 1) steht, werden markiert. Alle Zeilen, in denen 1en aus markierten Spalten stehen, werden gestrichen.

2. Wenn keine ungestrichene Zeile mehr vorhanden ist, wird das Verfahren beendet. Die markierten Spalten bilden die Minterme der DMF.

3. Wenn keine dominante Zeile mehr vorhanden ist, aber noch ungestrichene Zeilen existieren, wird eine beliebige Spalte markiert und bei 1. fortgefahren.

Page 51: Quellen: Zum Teil aus den Unterlagen „Digitale Systeme“, Prof. Schimmler, Prof. Loogen

Seite 51IDA, Technische Universität Braunschweig Technische Informatik II (INF 1211)

cab

ab

abc

bca

cba

bc ca

1

1 1

1 1

1

Quine Verfahren, minimaler AbdeckungQuine Verfahren, minimaler Abdeckung

bc ist nicht nötig da die Primterme ab, ac alle Minterme abdecken!

Also f =( ab + ac ) ist die Minimale Implementierung

1. Primterme horizontal, Minterme vertikal einsetzen2. 1 setzen für alle Minterme die einen Primterm enthalten

PrimtermeMinterme

Page 52: Quellen: Zum Teil aus den Unterlagen „Digitale Systeme“, Prof. Schimmler, Prof. Loogen

Seite 52IDA, Technische Universität Braunschweig Technische Informatik II (INF 1211)

BeispielBeispiel zum Verfahren von Quine McCluskey zum Verfahren von Quine McCluskey

10 beteiligte Minterme in Gruppen sortiert nach Anz. von Einsen (Gewicht) (oder Nullen) inklusive den „don‘t cares“ (-)

Gewicht=0

Gewicht=1

Gewicht=2

Gewicht=3

Gewicht=4

Page 53: Quellen: Zum Teil aus den Unterlagen „Digitale Systeme“, Prof. Schimmler, Prof. Loogen

Seite 53IDA, Technische Universität Braunschweig Technische Informatik II (INF 1211)

Primterme generierenPrimterme generieren

Alle nicht markierte Terme werden als Primtermefür die weitere Bearbeitung ausgewählt!

Jede Gruppe mit der folgenden Gruppe testen!

Primterme

Page 54: Quellen: Zum Teil aus den Unterlagen „Digitale Systeme“, Prof. Schimmler, Prof. Loogen

Seite 54IDA, Technische Universität Braunschweig Technische Informatik II (INF 1211)

Primimplikanten-Tabelle und minimale FunktionsauswahlPrimimplikanten-Tabelle und minimale Funktionsauswahl

Eine andere Lösung ist auch möglich!

123 xxx

013 xxx

1302013 x x x x xxxy

PrimtermeNur Minterme mit 1 (nur 6)