Technische Informatik II
This presentation is the property of its rightful owner.
Sponsored Links
1 / 54

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


  • 97 Views
  • Uploaded on
  • Presentation posted in: General

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.

Download Presentation

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

An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript


Quellen zum teil aus den unterlagen digitale systeme prof schimmler prof loogen

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


Quellen zum teil aus den unterlagen digitale systeme prof schimmler prof loogen

Schaltnetze

Definition:

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

Schaltnetz mit einem Ausgang:

Schaltfunktion

y = f(X)

x1

x2

.

.

xn

y

.

.

2n

Anz. Funktionen = 2


Quellen zum teil aus den unterlagen digitale systeme prof schimmler prof loogen

Schaltfunktion

Eingangswerte

Ausgangswerte


Quellen zum teil aus den unterlagen digitale systeme prof schimmler prof loogen

Schaltfunktionen

m

n

f(X)

f

x


Quellen zum teil aus den unterlagen digitale systeme prof schimmler prof loogen

Beispiel des Schaltnetzes:

x0

x1

&

x2

&

y0

≥1

x3

1


Quellen zum teil aus den unterlagen digitale systeme prof schimmler prof loogen

Logische Funktionen von einer Variablen

1

1


Quellen zum teil aus den unterlagen digitale systeme prof schimmler prof loogen

Logische Funktionen von zwei Variablen(1)

22

Anz. Funktionen = 2 =16

f


Quellen zum teil aus den unterlagen digitale systeme prof schimmler prof loogen

22

Anz. Funktionen = 2 =16

Logische Funktionen von zwei Variablen(2)


Quellen zum teil aus den unterlagen digitale systeme prof schimmler prof loogen

Verbreiteten Funktionen bis zwei Variablen

grafische Darstellung der

verschalteten Logik


Quellen zum teil aus den unterlagen digitale systeme prof schimmler prof loogen

Rechengesetze der Schaltalgebra

Grafische Darstellung der

verschalteten Logik


Quellen zum teil aus den unterlagen digitale systeme prof schimmler prof loogen

Rechengesetze der Schaltalgebra


Quellen zum teil aus den unterlagen digitale systeme prof schimmler prof loogen

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:


Quellen zum teil aus den unterlagen digitale systeme prof schimmler prof loogen

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:


Quellen zum teil aus den unterlagen digitale systeme prof schimmler prof loogen

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:

( x0 x1 x2 sind alle Eingangsvariablen)

( x0 ist die einzige Eingangsvariable)

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


Quellen zum teil aus den unterlagen digitale systeme prof schimmler prof loogen

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:

Die folgende Funktion ist nicht in KDNF;

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


Quellen zum teil aus den unterlagen digitale systeme prof schimmler prof loogen

Minterm

Beispiel einer Wertetabelle einer Funktion y1:

x0

x1

y1

x2

0

0

0

0

1

0

0

0

0

1

0

0

1

1

0

1

0

0

1

0

1

0

1

1

0

1

1

1

1

1

1

1

y1 =

+

+

+


Quellen zum teil aus den unterlagen digitale systeme prof schimmler prof loogen

Beispiel des Schaltbildes einer Funktion in KDNF:

y1 =

+

+

+

x1

x2

x0

1

1

1

&

&

y1

≥1

&

&


Quellen zum teil aus den unterlagen digitale systeme prof schimmler prof loogen

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:


Quellen zum teil aus den unterlagen digitale systeme prof schimmler prof loogen

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:


Quellen zum teil aus den unterlagen digitale systeme prof schimmler prof loogen

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 x1 gibt.


Quellen zum teil aus den unterlagen digitale systeme prof schimmler prof loogen

Definition:

DieKanonische 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:

Die folgende Funktion ist nicht in KKNF;

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


Quellen zum teil aus den unterlagen digitale systeme prof schimmler prof loogen

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

.

.

.

y1 =

Beispiel einer Wertetabelle einer Funktion:

Einzelvariablen

werden invertiert

im Maxterme!

x0

x1

y1

Maxterm

x2

0

0

0

0

1

0

0

0

0

1

0

0

1

1

0

1

0

0

1

0

1

0

1

1

0

1

1

1

1

1

1

1


Quellen zum teil aus den unterlagen digitale systeme prof schimmler prof loogen

x1

x2

x0

1

1

1

≥1

≥1

y1

&

≥1

≥1

.

.

.

y1 =

Beispiel des Schaltbildes einer Funktion in KKNF:


Quellen zum teil aus den unterlagen digitale systeme prof schimmler prof loogen

Beispiel einer Funktion im Auto:

Zündung: Z=1 : Zündung an

Hitze:H=1 : Temperatur>95o

Pegel:P=1 : ausreichend Wasser

Ausgangsfunktion Warnleuchte W

Z

H

P

W

Minterm

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


Quellen zum teil aus den unterlagen digitale systeme prof schimmler prof loogen

Warnleuchten-Funktion in KDNF:

H

P

Z

1

1

1

&

&

W

≥1

&


Quellen zum teil aus den unterlagen digitale systeme prof schimmler prof loogen

Minimierung durch Hilfe der Schaltalgebra


Quellen zum teil aus den unterlagen digitale systeme prof schimmler prof loogen

Warnleuchten-Funktion in DMF:

H

P

Z

1

&

W

≥1

&


Quellen zum teil aus den unterlagen digitale systeme prof schimmler prof loogen

A (B + B)

A

A B + A B

11

01

x

x

f

2

1

0

0

0

x

2

0

1

1

1

0

1

1

1

1

Die Stelle des

Bitwechsels

wird gekürzt

x

1

00

10

Hintergrund der logischen Minimierung

„ Unit Distance Code“

Schlüsseloperation:

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

-1

1

2

3

1-

Brawn Figure 4.33. Ref. Brown


Quellen zum teil aus den unterlagen digitale systeme prof schimmler prof loogen

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

Hintergrund „ Unit Distance Code“

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

(2)

(6)

- - 0

(5)

1 0 -

(0)

(4)

Ref.: Brawn Figure 4.33.


Quellen zum teil aus den unterlagen digitale systeme prof schimmler prof loogen

Hintergrund „ Unit Distance Code“

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

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

Brawn Figure 4.33.


Quellen zum teil aus den unterlagen digitale systeme prof schimmler prof loogen

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.


Quellen zum teil aus den unterlagen digitale systeme prof schimmler prof loogen

Karnaugh-VeithKV-Diagramm:

Beispiele:

b

Unit-Distance Kodierung

für benachbarte Felder!

Gray Code Zähler:

00 → 01 →11 →10

(Nur ein Bit wechselt!)

b

a

a

b

Für Funktionen mit 2 Variablen

c

Für Funktionen mit 3 Variablen

a

d

Minimierungsregel

c

Für Funktionen mit 4 Variablen


Quellen zum teil aus den unterlagen digitale systeme prof schimmler prof loogen

CA

BA

A

ABC

BC

CB

CB

AB

AB

CB

CB

DB

CD

Beispiele:

B

A

A

1

1

1

1

B

1

1

1

C

2 Variablen

3 Variablen

B

B

1

1

1

1

1

1

A

A

1

1

1

1

1

1

D

D

1

1

1

1

1

1

1

1

1

1

C

C

4 Variablen

4 Variablen-Alternativ


Quellen zum teil aus den unterlagen digitale systeme prof schimmler prof loogen

ZPH+ZPH = ZH

ZPH+ZPH=

ZP

Beispiel für ein KV-Diagramm mit 3 Variablen

Beispiel: Warnleuchte:

Z

H

P

W

0

0

0

0

0

0

1

0

P

0

1

0

0

Z

1

1

1

0

0

1

1

0

0

0

0

0

1

0

0

1

1

0

1

0

H

1

1

0

1

1

1

1

1


Quellen zum teil aus den unterlagen digitale systeme prof schimmler prof loogen

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.


Quellen zum teil aus den unterlagen digitale systeme prof schimmler prof loogen

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.


Quellen zum teil aus den unterlagen digitale systeme prof schimmler prof loogen

n1

Beispiel: 2-Bit Multiplizierer:

p0

n0

n1

n0

m1

m0

p3

p2

p1

p0

1

1

1

1

m0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

1

0

0

0

0

0

0

1

0

m1

0

0

0

0

0

0

1

1

n1

0

0

0

0

0

1

0

0

p1

0

1

0

1

0

0

0

1

n0

1

1

0

0

1

0

0

1

1

0

1

1

m0

0

0

1

1

0

1

1

1

1

1

0

0

0

0

1

0

0

0

0

0

1

0

1

0

0

1

m1

0

1

0

0

1

0

1

0

n1

1

0

1

1

0

1

1

0

p2

1

1

0

0

0

0

0

0

n0

1

0

0

1

1

1

1

0

1

m0

1

1

1

0

0

1

1

0

1

1

0

0

1

1

1

1

1

1

m1


Quellen zum teil aus den unterlagen digitale systeme prof schimmler prof loogen

n1

p0

n0

1

1

1

1

m0

m1

n1

p1

1

1

n0

1

1

m0

1

1

m1

n1

p2

1

n0

m0

1

1

p3

m1


Quellen zum teil aus den unterlagen digitale systeme prof schimmler prof loogen

2-Bit-Multiplizierer

m1

m0

n1

n0

1

1

1

1

p0

&

&

&

p1

≥1

&

&

&

p2

≥1

&

p3

&


Quellen zum teil aus den unterlagen digitale systeme prof schimmler prof loogen

Don’t Care Behandlung

Don’t Care


Quellen zum teil aus den unterlagen digitale systeme prof schimmler prof loogen

4-Bit Codewandler: Dezimal -> Aiken

x3

x2

x1

x0

y3

y2

y1

y0

0

0

0

0

0

0

0

0

0

0

0

1

0

0

0

1

0

0

1

0

0

0

1

0

0

0

1

1

0

0

1

1

0

1

0

0

0

1

0

0

0

1

0

1

1

0

1

1

1

1

0

0

0

1

1

0

1

1

0

1

0

1

1

1

1

1

1

0

1

0

0

0

1

1

1

1

1

0

0

1

X

X

X

X

1

0

1

0

1

0

1

1

X

X

X

X

Don’t Care

1

1

0

0

X

X

X

X

X

X

X

X

1

1

0

1

1

1

1

0

X

X

X

X

X

X

X

X

1

1

1

1


Quellen zum teil aus den unterlagen digitale systeme prof schimmler prof loogen

KV Minimierung für Disjunktive Minimalform DMF:

Zusammenfassung

  • Aufstellen der Wertetabelle

  • Eintragen der Terme „mit 1“ in KV-Diagramm

  • Zusammenfassen von benachbarten Einsen zu Blöcken maximaler Größe

  • Ablesen der DMF


Quellen zum teil aus den unterlagen digitale systeme prof schimmler prof loogen

KV Minimierung für konjunktive Minimalform KMF:

Zusammenfassung:

  • Aufstellen der Wertetabelle

  • Eintragen der Werte „mit 0“ in KV-Diagramm

  • Zusammenfassen von benachbarten Nullen zu Blöcken maximaler Größe

  • 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.


Quellen zum teil aus den unterlagen digitale systeme prof schimmler prof loogen

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

x2

x3

x3

x4

x5

x0

x0

x2

x1

x5

x1

x1

x4

x4

5 - Variablen

6 - Variablen


Quellen zum teil aus den unterlagen digitale systeme prof schimmler prof loogen

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.


Quellen zum teil aus den unterlagen digitale systeme prof schimmler prof loogen

  • Das Verfahren von Quine und McCluskey

  • McCluskey:

  • Systematische Anwendung der Regel

  • Konstruktion aller Primterme

  • Quine

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

Edward J. McCluskey

Stanford University

Computer Science


Quellen zum teil aus den unterlagen digitale systeme prof schimmler prof loogen

4,6

3,6

2,5

3,5

1,2

1,3

1,4

A,E

B,D

B,G

C,F

Einleitendes Beispiel

1 2 3 45 6

A B C D E F G


Quellen zum teil aus den unterlagen digitale systeme prof schimmler prof loogen

  • Das Verfahren von McCluskey

  • Begonnen wird mit der Funktion in DNF

  • 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.

  • 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.


Quellen zum teil aus den unterlagen digitale systeme prof schimmler prof loogen

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.


Quellen zum teil aus den unterlagen digitale systeme prof schimmler prof loogen

  • Das Verfahren von Quine

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

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

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

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


Quellen zum teil aus den unterlagen digitale systeme prof schimmler prof loogen

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

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

Quine Verfahren, minimaler Abdeckung

1. Primterme horizontal, Minterme vertikal einsetzen

2. 1 setzen für alle Minterme die einen Primterm enthalten

Primterme

Minterme

1

1

1

1

1

1


Quellen zum teil aus den unterlagen digitale systeme prof schimmler prof loogen

Gewicht=0

Gewicht=1

Gewicht=2

Gewicht=3

Gewicht=4

Beispiel zum Verfahren von Quine McCluskey

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


Quellen zum teil aus den unterlagen digitale systeme prof schimmler prof loogen

Primterme generieren

Jede Gruppe mit der folgenden Gruppe testen!

Primterme

Alle nicht markierte Terme werden als Primterme

für die weitere Bearbeitung ausgewählt!


Quellen zum teil aus den unterlagen digitale systeme prof schimmler prof loogen

Primimplikanten-Tabelle und minimale Funktionsauswahl

Nur Minterme mit 1 (nur 6)

Primterme

Eine andere Lösung ist auch möglich!


  • Login