Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Seite 1 IDA, Technische Universität BraunschweigTechnische Informatik II (INF 1211) Quellen: Zum Teil aus den Unterlagen Digitale Systeme, Prof. Schimmler,

Ähnliche Präsentationen


Präsentation zum Thema: "Seite 1 IDA, Technische Universität BraunschweigTechnische Informatik II (INF 1211) Quellen: Zum Teil aus den Unterlagen Digitale Systeme, Prof. Schimmler,"—  Präsentation transkript:

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

2 Seite 2 IDA, Technische Universität BraunschweigTechnische Informatik II (INF 1211) Definition: Ein Schaltnetz ist eine technische Realisierung einer Booleschen Funktion. Schaltnetze können durch Zusammenschalten von Gattern und Leitungen aufgebaut werden. Schaltnetze Schaltfunktion y = f(X).... x1x2..xnx1x2..xn y Anz. Funktionen = 2 2n2n Schaltnetz mit einem Ausgang:

3 Seite 3 IDA, Technische Universität BraunschweigTechnische Informatik II (INF 1211) Schaltfunktion Eingangswerte Ausgangswerte

4 Seite 4 IDA, Technische Universität BraunschweigTechnische Informatik II (INF 1211) Schaltfunktionen f(X) f x n m

5 Seite 5 IDA, Technische Universität BraunschweigTechnische Informatik II (INF 1211) Beispiel des Schaltnetzes: & & 1 1 y0y0 x0x0 x1x1 x2x2 x3x3

6 Seite 6 IDA, Technische Universität BraunschweigTechnische Informatik II (INF 1211) Logische Funktionen von einer Variablen 1 1

7 Seite 7 IDA, Technische Universität BraunschweigTechnische Informatik II (INF 1211) Logische Funktionen von zwei Variablen(1) f Anz. Funktionen = 2 =16 2

8 Seite 8 IDA, Technische Universität BraunschweigTechnische Informatik II (INF 1211) Logische Funktionen von zwei Variablen(2) Anz. Funktionen = 2 =162

9 Seite 9 IDA, Technische Universität BraunschweigTechnische Informatik II (INF 1211) Verbreiteten Funktionen bis zwei Variablen grafische Darstellung der verschalteten Logik

10 Seite 10 IDA, Technische Universität BraunschweigTechnische Informatik II (INF 1211) Rechengesetze der Schaltalgebra Grafische Darstellung der verschalteten Logik

11 Seite 11 IDA, Technische Universität BraunschweigTechnische Informatik II (INF 1211) Rechengesetze der Schaltalgebra

12 Seite 12 IDA, Technische Universität BraunschweigTechnische 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:

13 Seite 13 IDA, Technische Universität BraunschweigTechnische Informatik II (INF 1211) Definition: Eine Boolesche 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:

14 Seite 14 IDA, Technische Universität BraunschweigTechnische 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: hingegen ist kein Minterm, wenn es auch noch eine Eingabevariable x 1 gibt. ( x 0 x 1 x 2 sind alle Eingangsvariablen) ( x 0 ist die einzige Eingangsvariable)

15 Seite 15 IDA, Technische Universität BraunschweigTechnische Informatik II (INF 1211) Definition: Die Kanonische Disjunktive Normalform (KDNF) einer Booleschen Funktion ist eine ODER- Verknüpfung aller Minterme, für die die Funktion den Wert 1 annimmt. Beispiele für Funktionen in KDNF: Die folgende Funktion ist nicht in KDNF; im zweiten Produktterm taucht das x 1 nicht auf, daher ist es kein Minterm.

16 Seite 16 IDA, Technische Universität BraunschweigTechnische Informatik II (INF 1211) Beispiel einer Wertetabelle einer Funktion y 1 : x2x2 x1x1 x0x0 y1y Minterm y 1 = +++

17 Seite 17 IDA, Technische Universität BraunschweigTechnische Informatik II (INF 1211) Beispiel des Schaltbildes einer Funktion in KDNF: 111 & & & & x0x0 x1x1 x2x2 1 y1y1 y 1 = +++

18 Seite 18 IDA, Technische Universität BraunschweigTechnische 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:

19 Seite 19 IDA, Technische Universität BraunschweigTechnische Informatik II (INF 1211) Definition: Eine Boolesche 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:

20 Seite 20 IDA, Technische Universität BraunschweigTechnische 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: hingegen ist kein Maxterm, wenn es auch noch eine Eingabevariable x 1 gibt.

21 Seite 21 IDA, Technische Universität BraunschweigTechnische Informatik II (INF 1211) Definition: Die Kanonische Konjunktive Normalform (KKNF) einer Booleschen Funktion ist eine UND-Verknüpfung aller Maxterme, für deren Zeile die Funktion den Wert 0 annimmt. Beispiele für Funktionen in KKNF: Die folgende Funktion ist nicht in KKNF; im ersten Summenterm tauchen x 1 und x 2 nicht auf, daher ist es kein Maxterm.

22 Seite 22 IDA, Technische Universität BraunschweigTechnische Informatik II (INF 1211) Beispiel einer Wertetabelle einer Funktion: Maxterm x2x2 x1x1 x0x0 y1y Einzelvariablen werden invertiert im Maxterme!... y 1 = y 1 = x 0 x 1 x 2 + x 0 x 1 x 2 + x 0 x 1 x 2 + x 0 x 1 x 2

23 Seite 23 IDA, Technische Universität BraunschweigTechnische Informatik II (INF 1211) Beispiel des Schaltbildes einer Funktion in KKNF: x0x0 x1x1 x2x2 & y1y1... y 1 =

24 Seite 24 IDA, Technische Universität BraunschweigTechnische Informatik II (INF 1211) Beispiel einer Funktion im Auto: Zündung: Z=1 : Zündung an Hitze:H=1 : Temperatur>95 o Pegel:P=1 : ausreichend Wasser Ausgangsfunktion Warnleuchte W ZHPW Minterm

25 Seite 25 IDA, Technische Universität BraunschweigTechnische Informatik II (INF 1211) Warnleuchten-Funktion in KDNF: 111 & & & Z HP 1 W

26 Seite 26 IDA, Technische Universität BraunschweigTechnische Informatik II (INF 1211) Minimierung durch Hilfe der Schaltalgebra

27 Seite 27 IDA, Technische Universität BraunschweigTechnische Informatik II (INF 1211) Warnleuchten-Funktion in DMF: 1 & & Z HP 1 W

28 Seite 28 IDA, Technische Universität BraunschweigTechnische Informatik II (INF 1211) Beispiel: Darstellung der Funktion f ( x 1, x 2 ) = m (1, 2, 3) x 2 x 1 1- x f x 2 Hintergrund der logischen Minimierung Unit Distance Code Unit Distance Code Brawn Figure Ref. Brown A B + A B A (B + B)A Die Stelle des Bitwechsels wird gekürzt Schlüsseloperation:

29 Seite 29 IDA, Technische Universität BraunschweigTechnische Informatik II (INF 1211) Hintergrund Unit Distance Code Ref.: Brawn Figure Darstellung der 3-Variablen Funktion f ( x 1, x 2, x 3 ) = m (0, 2, 4, 5, 6) f ( x 1, x 2, x 3 ) = x 3 + x 1 x 2 (0) (2) (6) (5) (4)

30 Seite 30 IDA, Technische Universität BraunschweigTechnische Informatik II (INF 1211) Hintergrund Unit Distance Code Brawn Figure Darstellung der 4-Variablen Funktion f ( x 1, x 2, x 3, x 4 ) f ( x 1, x 2, x 3, x 4 ) = x 2 x 4 + x 1 x 3 + x 2 x 3 x 4

31 Seite 31 IDA, Technische Universität BraunschweigTechnische Informatik II (INF 1211) Karnaugh-Vieth KV-Diagramm: Rechteckiges Schema bei n Eingabevariablen 2 n 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.

32 Seite 32 IDA, Technische Universität BraunschweigTechnische Informatik II (INF 1211) c Beispiele: a b a b b c a d KV-Diagramm Karnaugh-Veith KV-Diagramm: Für Funktionen mit 2 Variablen Minimierungsregel Unit-Distance Kodierung für benachbarte Felder! Gray Code Zähler: (Nur ein Bit wechselt!) Für Funktionen mit 3 Variablen Für Funktionen mit 4 Variablen

33 Seite 33 IDA, Technische Universität BraunschweigTechnische Informatik II (INF 1211) C D C B A B A A 1 1 B 2 Variablen 3 Variablen 4 Variablen A BA CA BC ABC CB AB CB DB Beispiele: D C B A CB AB CB CD 4 Variablen-Alternativ

34 Seite 34 IDA, Technische Universität BraunschweigTechnische Informatik II (INF 1211) Z H Beispiel: Warnleuchte: P ZHPW KV-Diagramm Beispiel für ein KV-Diagramm mit 3 Variablen ZPZPH+ZPH= ZPH+ZPH = ZH

35 Seite 35 IDA, Technische Universität BraunschweigTechnische 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 (x 0 x 1 ) und ein zweiter Block (x 0 x 1 ) beide nur aus Einsen bestehen, liegen diese beiden Blöcke im KV-Diagramm nebeneinander und können zu einem doppelt so großen Block x 0 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.

36 Seite 36 IDA, Technische Universität BraunschweigTechnische 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 dont 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 dont cares (dargestellt durch den Buchstaben X oder d) mit in Blöcke aufgenommen werden.

37 Seite 37 IDA, Technische Universität BraunschweigTechnische Informatik II (INF 1211) n1n1 n0n0 m1m1 m0m0 p3p3 p2p2 p1p1 p0p Beispiel: 2-Bit Multiplizierer: n0n0 n1n1 m0m0 m1m1 p0p n0n0 n1n1 m0m0 m1m1 p1p n0n0 n1n1 m0m0 m1m1 p2p2

38 Seite 38 IDA, Technische Universität BraunschweigTechnische Informatik II (INF 1211) 1111 n0n0 n1n1 m0m0 m1m1 p0p n0n0 n1n1 m0m0 m1m1 p1p n0n0 n1n1 m0m0 m1m1 p2p2 p3p3

39 Seite 39 IDA, Technische Universität BraunschweigTechnische Informatik II (INF 1211) 1 & & & m1m1 1 p0p0 1 m0m0 1 n1n1 1 n0n0 & & & & & p3p3 p1p1 1 p2p2 2-Bit-Multiplizierer

40 Seite 40 IDA, Technische Universität BraunschweigTechnische Informatik II (INF 1211) Dont Care Dont Care Behandlung

41 Seite 41 IDA, Technische Universität BraunschweigTechnische Informatik II (INF 1211) x3x3 x2x2 x1x1 x0x0 y3y3 y2y2 y1y1 y0y XXXX Bit Codewandler: Dezimal -> Aiken XXXX XXXX XXXX XXXX XXXX Dont Care

42 Seite 42 IDA, Technische Universität BraunschweigTechnische Informatik II (INF 1211) 1.Aufstellen der Wertetabelle 2.Eintragen der Terme mit 1 in KV-Diagramm 3.Zusammenfassen von benachbarten Einsen zu Blöcken maximaler Größe 4.Ablesen der DMF KV Minimierung für Disjunktive Minimalform DMF: Zusammenfassung

43 Seite 43 IDA, Technische Universität BraunschweigTechnische Informatik II (INF 1211) 1.Aufstellen der Wertetabelle 2.Eintragen der Werte mit 0 in KV-Diagramm 3.Zusammenfassen von benachbarten Nullen zu Blöcken maximaler Größe 4.Ablesen der KMF, indem die Summenterme gebildet werden, die diese Blöcke von Nullen nicht abdecken. Zu diesem Zweck odert man die invertierten Eingabevariablen, die diese Blöcke von Nullen überdecken. KV Minimierung für konjunktive Minimalform KMF: Zusammenfassung:

44 Seite 44 IDA, Technische Universität BraunschweigTechnische Informatik II (INF 1211) KV-Diagramme mit mehr als 4 Variablen (sehr Arbeitsaufwendig) x0x0 x3x3 x4x4 x1x1 x1x1 x2x2 x0x0 x1x1 x2x2 x3x3 x4x4 x4x4 x5x5 x5x5 5 - Variablen 6 - Variablen

45 Seite 45 IDA, Technische Universität BraunschweigTechnische Informatik II (INF 1211) Das Verfahren von Quine und McCluskey (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.

46 Seite 46 IDA, Technische Universität BraunschweigTechnische 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. Edward J. McCluskey Stanford University Computer Science

47 Seite 47 IDA, Technische Universität BraunschweigTechnische Informatik II (INF 1211) Einleitendes Beispiel A B C D E F G 1,2 A,E 1,3 3,6 1,4 2,54,63,5 B,D B,GC,F

48 Seite 48 IDA, Technische Universität BraunschweigTechnische Informatik II (INF 1211) Das Verfahren von McCluskey Begonnen wird mit der Funktion in DNF 1.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.

49 Seite 49 IDA, Technische Universität BraunschweigTechnische Informatik II (INF 1211) Zweites Beispiel I IIIII IV I,II II,III III,IV 3 Primterme sind generiert bc ist ein redundanter Term, wie man am KV-Diagramm leicht sehen kann. Daher benötigen wir das Verfahren von Quine.

50 Seite 50 IDA, Technische Universität BraunschweigTechnische Informatik II (INF 1211) Das 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.

51 Seite 51 IDA, Technische Universität BraunschweigTechnische Informatik II (INF 1211) Quine 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 einsetzen 2. 1 setzen für alle Minterme die einen Primterm enthalten Primterme Minterme

52 Seite 52 IDA, Technische Universität BraunschweigTechnische Informatik II (INF 1211) Beispiel zum Verfahren von Quine McCluskey 10 beteiligte Minterme in Gruppen sortiert nach Anz. von Einsen (Gewicht) (oder Nullen) inklusive den dont cares (-) Gewicht=0 Gewicht=1 Gewicht=2 Gewicht=3 Gewicht=4

53 Seite 53 IDA, Technische Universität BraunschweigTechnische Informatik II (INF 1211) Primterme generieren Alle nicht markierte Terme werden als Primterme für die weitere Bearbeitung ausgewählt! Jede Gruppe mit der folgenden Gruppe testen! Primterme

54 Seite 54 IDA, Technische Universität BraunschweigTechnische Informatik II (INF 1211) Primimplikanten-Tabelle und minimale Funktionsauswahl Eine andere Lösung ist auch möglich! Primterme Nur Minterme mit 1 (nur 6)


Herunterladen ppt "Seite 1 IDA, Technische Universität BraunschweigTechnische Informatik II (INF 1211) Quellen: Zum Teil aus den Unterlagen Digitale Systeme, Prof. Schimmler,"

Ähnliche Präsentationen


Google-Anzeigen