Title: PowerPoint-Pr
1Teil II Entwurf digitaler Schaltungen
- 2.1 Logik, Schaltalgebra und Schaltfunktionen
- Themen
- Boolesche Algebra und boolesche Funktionen
- Rechenregeln für boolesche Terme
- Schaltfunktionen
- Disjunktive Normalformen für Schaltfunktionen
- Verfahren zur Minimierung von Schaltfunktionen
- Karnaugh-Diagramme
- Nachbetrachtung zur Minimierung von
Schaltfunktionen
2Motivation
- Nach welchen Prinzipen funktionieren
Rechenmaschinen bzw. moderne Computer? - Wie sind digitale Rechenanlagen aufgebaut?
- Was verbirgt sich hinter einer CPU?
3Motivation (Ausblick) Addiererwerk
CPU (Central Processing Unit)
Aufgaben einer CPU Befehle der Reihe nach
abarbeiten. Beispiele Befehl- und
Datentransport Hauptspeicher ? Register
Register ? Hauptspeicher Rechnen (ALU) R2
R3 ? R1 R1 Ø R2 ? R3 R2 Ù R3 ? R1
Register R1
Register R2
Register R3
ALU (Arithmetic and Logic Unit)
x8 x7 x6 x5 x4 x3 x2 x1
y8 y7 y6 y5 y4 y3 y2 y1
Addierwerk s xy
s8 s7 s6 s5 s4 s3 s2 s1
4Motivation (Ausblick) Addiererwerk
x1 y1
x3 y3
x2 y2
xn yn
cn-1
c1
c2
c3
c0 0
cn
FA
FA
FA
FA
. . .
sn
s3
s2
s1
1
1
Volladdierer (Full Adder) (mit Hilfe von
Schaltgattern) Jedes Gatter ist aus Transistoren
etc. aufgebaut.
si
?1
ci
xi yi ci-1
5Aussagenlogik / Schaltlogik / Boolesche Algebra
- Schaltalgebra befasst sich mit der Rückführung
elektronischer Schaltungen auf eine mathematische
Beschreibung, die sog. boolesche Algebra. - Grundlage sind die Arbeiten von George Boole, der
die logische Verknüpfung von (sprachlichen)
Aussagen formal zu fassen versuchte.
George Boole. 1815-1864 engl. Mathematiker
Beispiel Aussage A es regnet,
(entweder wahr oder falsch)
Aussage B die Straße ist nass
(entweder wahr oder falsch) Verknüpfung
Wenn A wahr ist, dann ist auch B wahr.
- Eine Brücke zwischen Aussagelogik und
elektronischen Schaltungen ergibt sich aus dem
Umstand, dass die Wahrheitswerte wahr und falsch
auf einen physikalischen Sachverhalt wie z.B.
Schalter ein" bzw. Schalter aus" übertragbar
sind.
6formalisierte Aussagenlogik
Ù F W
F F F
W F W
- Notation logischer Operationen
- Ø not,
- Ù and
- Ú or
- Þ wenn...dann
- Û genau dann ... Wenn
- Å xor, bzw. entweder ... oder
-
- Basisoperationen durch Tabellen definiert
- , Ù , Ú
- Oft Verwendung anderer Operatorsymbole!
- statt Ù auch oder (mal oder
Punkt) oder - statt Ú auch oder
- statt Ø auch ' (Strich), oder
(Überstrich) oder ! - es ist also Øx dasselbe wie x' oder x
oder !x
Ø
W F
F W
Beachte F Ù ... F
Ú F W
F F W
W W W
Beachte W Ú ... W
7abgeleitete aussagenlogische Operationen
- Weitere Operationen lassen sich aus den
Grundoperatoren Ù , Ú und Ø herleiten. - Äquivalenz
- x Û y (x Ù y) Ú (Øx Ù Øy)
- Antivalenz
- x Å y (x Ù Øy) Ú (Øx Ù y)
- Implikation
- x Þ y Øx Ú y
Û F W
F W F
W F W
Å F W
F F W
W W F
Þ F W
F W W
W F W
(225) Þ Russell ist Papst
Bertrand Russell, 1872-1970 Englischer Philosoph
und Logiker
8Boolesche Algebra
- Definition Eine Boolesche Algebra ist eine
Struktur (M, , , ' ) wobei gilt - M ist eine Menge mit mindestens zwei Elementen 0
und 1 (d.h. M ? 2 ). - Es gibt zwei Verknüpfungen
- M x M ? M (a,b) a b (boolesches
Produkt) - M x M ? M (a,b) a b (boolesche
Summe) - Es gibt ein Operator ' (Strich) zur Bildung
eines inversen Elements - ' M ? M, wobei a' boolesches Komplement
von a ist ( a a' 0 ). -
- Beachte
- Der Operator wird oft nicht ausgeschrieben.
Anstelle von ab schreibt man dann nur ab. - Anstelle des Operators ' verwendet man auch
den Überstrich. Man schreibt dann a anstelle
von a'.
9Boolesche Algebra
- Es gelten die sog. Huntingtonsche Axiome (BA1)
bis (BA4) - (BA1) Die Operatoren und sind kommutativ,
d.h., es gilt - ab ba
- ab ba
- (BA2) und sind wechselseitig distributiv,
d.h., es gilt - a (bc) ab ac (Analog zum
Rechnen mit Zahlen!) - a(b c) (ab) (ac) (Vorsicht Gilt
nicht für Zahlen!) - (BA3)Es gibt neutrale Elemente 0 und 1, d.h., es
gilt - a 1 a
- a 0 a
- (BA4) a' ist komplementär zu a, derart dass
gilt a a' 0 - Außerdem
- Festlegung von Bindungs-Prioritäten Operator
Priorität - Komplement höchste
mittlere - niedrigste
10Rechenregeln für boole'sche Ausdrücke
- 0-1-Gesetze
- " a Î M a 1 a , a 0 0 und a
1 1 , a 0 a - Idempotenzgesetze
- " a Î M a a a und a a a
- Assoziativgesetze
- " a,b,c Î M a (b c) (a b) c und
a (b c) (a b) c - Absorptionsgesetz
- " a,b Î M a (ab) a a a b a
- Nachbarschaftsregel
- " a,b Î M a (bb' ) a b a b' a
- De-Morgansche-Regeln
- " a,b Î M (a b)' a' b' und (a b)'
a' b' oder (a b) a b - Doppeltes Boolesches Komplement
- " a Î M a'' a alternative
Schreibweise a a
11Beispiele für Boole'sche Algebren
- Aussagenlogik Mit den Operatoren Ø , Ù , Ú
(NICHT, UND, ODER) über einer Menge von Aussagen.
(Anwendung Künstliche Intelligenz) - Mengenalgebra auf Grundmenge G mit den Operatoren
? (Vereinigung) und ? (Durchschnitt) und ( A
? G \ A, A ? ?(G)). - Schaltalgebra mit den Operatoren ' , ,
(NICHT, UND, ODER), - man verwendet dabei bi-stabile Schaltelemente
(Transistoren, Schalter, usw.) die - ... zwei stabile Schaltzustände haben, denen
man mit Schaltwerte 0 und 1 zuordnet.
(Technische Realisierung der Schaltzustände z.B.
als Schalter offen/geschlossen, Durchgang
nichtleitend/leitend, hohes/niedriges Potential
etc.) - ... Ein- und Ausgänge haben und logische
Verknüpfungen zwischen an den Eingängen
angelegten Schaltwerten herstellen und die
Verknüpfungsergebnisse als Schaltwerte an den
Ausgängen bereitstellen.
12Schaltfunktionen sind boolesche Funktionen
Definition Schaltfunktion Eine n-stellige und
m-wertige Schaltfunktion ist eine boolesche
Funktion f 0, 1n ? 0, 1m
f(x1 .... xn) ? (y1 .... ym) Für
einwertige boolsche Funktionen f 0, 1n ? 0,
1 definiert man die Indexmenge von f als die
die Menge If der binären Zahlen b1 .... bn für
die gilt f (b1 .... bn) 1.
- Anmerkungen
- Jede einwertige (1-wertige) Schaltfunktion wird
durch n und ihre Indexmenge eindeutig definiert. - Für eine n-stellige Schaltfunktion gibt es 2n
verschiedene Eingabevektoren. - gt Es gibt 2q mit q 2n verschiedene
n-stellige, 1-wertige - Schaltfunktionen.
13Aufzählung Boolescher Funktionen
- Die 16 möglichen Schaltfunktionen fi 0,1 x
0,1 ? 0, 1
14Terme zur Angabe von Schaltfunktionen
- Motivation
- Benötigt wird eine kompakte Notation zur Angabe
von Schaltfunktionen. - Lösung
- Man führt eine Menge von booleschen Variablen x1
.... xn ein und verwendet boolesche Ausdrücke
zur Angabe von n-stelligen, einwertigen
Funktionen. - Beispiel Darstellung der Funktion fAND 0,
12 ? 0, 1 - durch den Term x1 x2 Man
schreibt fAND(x1, x2) x1 x2 - Anmerkungen
- Jede 1-wertige boolesche Funktion kann durch
einen Booleschen Ausdruck (Schaltterm)
beschrieben werden. - Jeder boolesche Ausdruck mit n verschiedenen
Variablen definiert genau eine n-stellige
Boolesche Funktion. - Für eine Boolesche Funktion kann man beliebig
viele unterschiedliche Terme angeben, die die
Funktion definieren. - gt Verfahren zur Überprüfung, ob zwei Terme
äquivalent sind.
15Vollständige Operatorsysteme / Verknüpfungsbasen
- Logische Operatoren lassen sich auf die
Grundoperatoren zurückführen. Das aus den drei
Operatoren ' , , bestehende System ist
vollständig, weil damit alle denkbaren booleschen
Funktionen beschreibbar sind. - Man sagt auch ' , , ist eine
Verknüpfungsbasis. - Frage
- Kann man auch eine andere Menge an
Grundoperatoren wählen, und mit denen man
ebenfalls alle booleschen Funktionen beschreiben
kann? - Antwort
- Ja Es gibt sogar mehrere vollständige
Operatorsysteme - Operatormenge Komplement Disjunktion Konjunktion
- ' , , a' a b a b
- ' , a' (a' b' )' a
b - ' , a' a b (a'
b' )' - NOR aNOa (aNOb)NO(aNOb)
(aNOa)NO(bNOb) - NAND aNAa (aNAa)NA(aNAa)
(aNAb)NA(aNAb) - ... weitere.
- Ein Wechsel zu einer anderen Verknüpfungsbasis
kann für die technische Realisierung der
Schaltelemente von Vorteil sein.
16Varianten zur Darstellungen Boolescher Funktionen
- Booleschen Funktion lassen sich auf verschiedene
Form darstellen - Beispiel fXOR 0, 1 2n ? 0, 1
- Wertetabelle
- Boolescher Ausdruck
- fXOR (a,b) a ? b a' b a b'
(ab)(a' b' ) - Indexmenge IXOR (01)2, (10)2
(1)10, (3)10 - Funktionsgraph (Binary Decision Diagram)
- (Wird in der Praxis zum Chip-Design verwendet.)
? 0 1
0 0 1
1 1 0
17Schaltgatter
Definition Schaltgatter Eine Schaltung zur
Realisierung spezieller (ausgezeichneter) schalta
lgebraischer Verknüpfungen nennt man
Schaltgatter. (Gebräuchlich sind auch digitales
Verarbeitungsglied, Gatter)
- Elementare Gatter Gattersymbol (DIN 40700)
- seit 1976 früher
- NICHT-Gatter (NOT)
- (Negationsglied)
- abgekürzt
- ODER-Gatter (OR)
- (Disjunktionsglied)
- UND-Gatter (AND)
- (Konjunktionsglied)
18Schaltgatter
- Weitere Gatter Gattersymbol (DIN 40700)
- neu alt
- NOR-Gatter
- (Peirce-Funktion)
- NAND-Gatter
- (Sheffer-Funktion)
- XOR-Gatter
- (Antivalenz, Paritäts-Fkt.)
-
- XOR auch als Paritätsfunktion 2k1
- Am Ausgang liegt 1 an, wenn bei einer
- ungeraden Zahl von Eingängen 1 anliegt.
e1 e2 .... en
2k1
19Schaltgatter
- Aufbau von Schaltungen aus den Basisschaltungen
- Beispiel
- XOR-Gatter
- (auch Antivalenz- oder Paritäts-Funktion
genannt) - Es gilt fXOR(e1 , e2) e1 ? e2 (e1e2' )
(e1' e2) a - gt Aufbau eines XOR-Gatters aus
- 2 Negationsglieder
- 2 UND-Gatter
- 1 ODER-Gatter
e1
a
e2
20Schaltgatter mit mehreren Eingängen
- Zur Vereinfachung arbeitet man in komplexeren
Anwendungen mit - n-stelligen Gattern.
- Beispiel
-
- ODER-Gatter mit n Eingängen
- a e1 e2 e3 ....... en
- AND-Gatter mit n Eingängen
- a e1 e2 e3 ........ en
- NOR-, NAND-Gatter mit n Eingängen entsprechend
e1 e2 .... en
a
e1 e2 .... en
a
21Aufbau komplexer Schaltfunktionen aus Gattern
- Auf integrierten Schaltkreisen lassen sich
mittlerweile mehrere Millionen Transistoren
unterbringen. - Größe eines Chips wenige mm bis 2,5 cm
Kantenlänge. - Integrationsdichte Gatter pro (Logik-)Chip
- Small Scale Integration (SSI) lt 12
- Medium Scale Integration (MSI) 12 - 100
- Large Scale Integration (LSI) 100 - 1000
- Very Large Scale Integration (VLSI) 1000 -
100 000 - Ultra Large Scale Integration (ULSI) 100
000 - 1 000 000 - Gigantic Scale Integration (GSI) gt 1 000
000 - Horrendous Scale Integration (HSI) gt 10
000 000 - Intel Core i7 Prozessor 731 Mio.
Transistoren - Dennoch ist es beim Entwurf von Schaltfunktionen
erstrebenswert, eine Darstellung zu wählen, die
sich mit einer möglichst geringen Anzahl von
physischen Gattern realisieren lässt.
22Moores Law
- Gordon Moore, Mitgründer der Firma Intel, sagte
bereits 1965 voraus, dass sich die Anzahl der
Transistoren, die sich auf einem Chip
unterbringen lassen, ungefähr alle 2 Jahre
verdoppelt.
Chips auf Silizium-Waver
23Entwurf und Realisierung logischer
Schaltfunktionen
- Den Arbeitsschritten bzw. deren Ergebnissen des
Entwurfs auf der logischen Ebene lassen sich
entsprechende Stationen auf der physischen Ebene
zuordnen.
Logische Ebene (funktionale Beschreibungen)
Komposition
Operatoren-system
Logische Funktion
DNF
DMF
Vereinfachung
Abstraktion
Konkretisierung
Gatter-Arten
2-stufige Schaltung
Minimierte Schaltung
Elektronische Schaltung
Komposition
Physische Ebene (Schaltkreise, Chips)
24Beispiel
- Funktion f 0, 1 3 ? 0, 1 2
dreistellig, zweiwertig - mit f(a,b,c) ? (x, y)
-
- wird aufgeteilt in die beiden Funktionen
- fx(a,b,c) ? x mit und
fy(a,b,c) ? y - Wertetabelle fx(a,b,c)
Wertetabelle fy(a,b,c) -
Index a b c fx(a,b,c) 0 0 0 0
1 1 0 0 1 1 2 0 1 0 1 3 0 1
1 1 4 1 0 0 1 5 1 0 1 0 6 1 1
0 1 7 1 1 1 1
Index a b c fx(a,b,c) 0 0 0 0
1 1 0 0 1 1 2 0 1 0 1 3 0 1
1 1 4 1 0 0 1 5 1 0 1 1 6 1 1
0 1 7 1 1 1 0
25Normalformen zur Beschreibung boolescher
Funktionen
- Da Schaltfunktionen auf der physischen Ebne durch
eine Kombination von Gattern realisiert werden,
möchte man Schaltfunktionen durch einen günstigen
(d.h. möglichst kurzen) booleschen Ausdruck
definieren. - Zum systematischen Finden solcher günstigen Terme
stellt man eine Schaltfunktion zunächst in einer
sog. Normalformen dar. - Von besonderer Bedeutung sind Normalformen für
sog. 2-stufige Schaltfunktionen. - Idee Funktion so beschreiben, dass in ihrer
technischen Realisierung vom Eingang bis zum
Ausgang maximal 2 Gatter durchlaufen werden. - Für die Verknüpfungsbasis ' , , gelingt
dies durch Darstellung einer Funktion als - - Konjunktion mehrerer Disjunktionen
- gt n-stelliger Konjunktionsterm
- oder umgekehrt, als
- - Disjunktion mehrerer Konjunktionen
- gt n-stelliger Disjunktionsterm
26Normalformen zur Beschreibung Boolescher
Funktionen
Definition Konjunktions- und Disjunktionsterme S
eien a1 .... an paarweise verschiedene Boolesche
Variablen und sei für 1 i n xi ai oder
xi a'i Dann nennt man n K ? xi
boolesches Produkt oder n-stelligen
Konjunktionsterm i1 n D ? xi
boolesche Summe oder n-stelligen Disjunktionsterm
i1
- Beispiele
- für 4-stellige boolesche Produkte (Operator
bzw. Ù ) - a1 a2 a3 a4 , a1 a2 a3 a4
, a1 a2 a3 a4 - für 4-stellige boolesche Summen (Operator bzw.
Ú ) - a1 a2 a3 a4 , a1 a2 a3 a4
, a1 a2 a3 a4
27Disjunktive-Normalform DNF
Definition DNF, kanonische DNF, Minterme Seien
K1 .... Km (1 i m) paarweise verschiedene
n-stellige Konjunktionsterme. Dann definiert
man die Disjunktive-Normalform als den Term
m m n DNF ? Ki ? ? xij
i1 i1 j1 Eine DNF heißt kanonisch, gdw.
wenn jeder der m Konjunktionsterme Ki alle n
verschiednen Variablen (xi ai oder xi a'i )
enthält. In diesem Falle heißen die Ki
Vollkonjunktionen oder Minterme (gt Minterm hat
Wert 1 gdw. alle xi 1)
- Beispiel
- DNF mit maximal 3-stelligen Konjunktionstermen
- a1 (a2 a3 ) (a1 a2 a 3 ) (a1
a3) - kanonische DNF (kurz kDNF) mit 3-stelligen
Konjunktionstermen - (a1 a2 a3 ) (a1 a2 a3 ) (a1
a2 a3 ) (a1 a2 a3 )
28Verwendung der DNF zur Beschreibung boolescher
Funktionen
- Satz
- Für jede echte n-stellige boolesche Funktion f
0, 1n ? 0, 1 kann man boolesche Terme in DNF
angeben, durch die f definiert wird. - Falls die eine Funktion beschreibende Terme in
kanonischer Form vorliegen, so handelt es sich
sogar um eine eindeutige Beschreibung. (abgesehen
von einer willkürlich gewählten aber festen
Reihenfolge der Variablen xi )
Beispiel Gegeben f 0, 1 3 ? 0, 1 mit
f(a, b , c ) (a b ) c ab'c
Schreibweise mit logischen Operatoren
f(a, b , c ) (a Ù Øb ) Ú c Gesucht
fkDNF(a,b,c) d.h., die kanonische DNF für f
Ansatz Verwende die Rechenregeln für
boolesche Terme zum Umformen des Terms ab'c in
die gewünschte Normalform
29Algorithmus zur Bestimmung einer kDNF
Sei f eine n-stellige boolesche Funktion f 0,
1 n ? 0, 1 gegeben durch einen definierenden
Term t(x1 ... xi) mit xi ai oder xi a'i für
1 i n Schritt 1 Eliminiere in t alle
Negationen von Produkten und Summen sowie
Mehrfachnegationen durch Anwendung der De
Morgan'schen Regeln (ab)' a'b' bzw. (ab)'
a' b' und (a')' a Schritt 2 Eliminiere
alle Klammern durch Ausmultiplizieren t(x1 ...
xi) hat jetzt die Form K1 ... Km Schritt 3
Ergänze die Summanden K1 ... Km zu
Mintermen. D.h. jedes Ki muss alle n-Variablen
xi enthalten. Dies gelingt durch Anwendung der
Nachbarschaftsregel a a(bb') Schritt 4
Eliminiere unter den Mintermen gegebenenfalls
entstandene Duplikate. Schritt 5 Ordne die
Minterme aufsteigend nach ihrem Binärwert.
(z.B. a'bc lt ab'c weil 011 lt 100 ) gt
Term t(x1 ... xi) ist jetzt in kanonischer DNF
30Verwendung von Normalformen zur Beschreibung
Boolescher Funktionen
- zu 1 Konstruktion der kanonischen DNF für f
- f(a,b,c) ab'c
- ab'(cc') c ergänze ab'
zum Minterm - ab'c ab'c' c
- ab'c ab'c' (aa') (bb') c ergänze
c zum Minterm - ab'c ab'c' (aa') (bcb'c)
- ab'c ab'c' abc ab'c a'bc a'b'c
ausmultiplizieren - ab'c ab'c' abc ab'c a'bc a'b'c
entferne Duplikate - ab'c ab'c' abc a'bc a'b'c
sortiere Minterme - a'b'c a'bc ab'c' ab'c abc
fertig! - fkDNF(a,b,c)
31Bestimmung von Mintermen aus einer
Funktionstabelle
- Satz
- Zur eindeutigen Beschreibung einer Funktion f
0, 1 n ? 0, 1 reicht es aus, alle konjunktiv
verknüpften Kombinationen von Eingangsvariablen
zu betrachten, für die die Funktion den Wert 1
annimmt. - Diejenigen Kombinationen, für die f den Wert 1
annimmt, sind gerade die Minterme der DNF von f.
Index a b c f(a,b,c) Minterm 0 0 0 0
0 1 0 0 1 1 a'b'c 2 0 1 0 0
3 0 1 1 1 a'bc 4 1 0 0 1 ab'c'
5 1 0 1 0 6 1 1 0 0 7 1
1 1 1 abc gt DNF a'b'c a'bc ab'c'
abc
32Minimierungsverfahren für Normalformen
- Motivation
- Kanonische Normalformen sind ein Instrument, um
die Äquivalenz von booleschen Termen zu
überprüfen. - Bei der Entwicklung von Schaltfunktionen hat man
jedoch das Problem, dass man möglichst kurze
beschreibende Terme für die zu realisierende
Schaltfunktion haben möchte. Man ist daher am
kürzesten booleschen Term interessiert, der f
beschreibt.
Definition Minimalformen Sei DNF eine
disjunktive Normalform der n-stelligen
Funktion f 0, 1 n ? 0, 1. Dann
bezeichnet Disjunktive-Minimalform (DMF) die
kürzeste DNF für f
- Anmerkungen
- Offenbar gibt es für jede boolesche Funktion f
einen kürzesten booleschen Term in DNF, der f
definiert. - gt Prinzipiell auffindbar, durch systematisches
Ausprobieren. - gt Ausprobieren ist jedoch unpraktikabel wegen
kombinatorischer Explosion.
33Minimierungsverfahren für Normalformen
- Zur Minimierung boolescher Terme in DNF wurden
unterschiedliche Verfahren entwickelt - Diagramm-Verfahren von Karnaugh
- Grafisches Verfahren, das die Summanden so in
einer Tabelle anordnet, dass man einfach
erkennen kann, welche Terme zusammengefasst
werden können. - Listenverfahren von Quine-McCluskey
- Von DNF ausgehend, werden die Summanden
systematische Vergleichen und soweit möglich mit
der Nachbarschaftsregel (ab ab' a) verkürzt.
Dazu werden die Summanden in Listen verwaltet. - Verwendung der baumartigen Binary Decision
Diagramme (BDD) - Grafisches Verfahren, das die Funktionstabelle
als Entscheidungsbaum darstellt. Minimale Terme
werden mit der Nachbarschaftsregel gefunden. Wird
mittlerweile in vielen CAD-Systemen verwendet. - Resolutionsmethode von Robinson
- Erweiterung des Verfahren von Quine-McCluskey.
Man benötigt jedoch keine DNF als Ausgangspunkt.
(Einsatz automatische Beweise, KI-Anwendungen)
34Grafische Minimierungsverfahren
- Grundgedanke
- Übertrag einer logischen Nachbarschaft2 gemäß
der Nachbarschaftsregel (acac' a(cc') a )
in eine räumliche Nachbarschaft der grafischen
Darstellung benachbarter Terme. - Es gibt mehrere Möglichkeiten der grafischen
Darstellung der Minterme einer DNF - als Ecken eines n-dimensionlen Würfels
- als Tabelle (Standard-Darstellung, bekannt
als Karnaugh-Diagramm ) - Ist f 0, 1n ? 0, 1 n-stellige gt Minterme
sind auch n-stellig - Beispiel Darstellung als n-dimensionaler
Würfel - n1 a a'
- ab n3
- n2 a'b ab'
- a'b'
35Karnaugh-Diagramme (Tabellenform)
- Prinzip
- Für n Variablen eines Minterms einer n-stelligen
Funktion benötigt man 2n Tabellenfelder, um alle
möglichen Belegungen zu erfassen. - Die Tabellenfelder werden so mit Variablen der
Minterme assoziiert, dass sich logische
Nachbarschaften in räumlichen widerspiegeln.
- Tabelle für 2-stellige Funktionen f (a,b)
- 2n 4 Felder. Verwende quadratische Form
0 1
0
1
a' a
b' 0 1
b 2 3
Beispiel f (a,b) a'b' a'b ab
If 0, 1, 3
m
f
a b
a
a' a
b' 1
b 1 1
a'b'
1
0 0
0
a'
1
a'b
1
0 1
1
1
1
b
b
0
1 0
2
ab
1
1 1
3
36Karnaugh-Diagramme (Tabellenform)
- Tabelle für 3-stellige Funktionen f (a,b,c)
- 23 8 Felder. Verwende folgende Zuordnung
Beispiel f (a,b,c) a'b'c' a'bc' ab'c'
ab'c abc' If 0,
2, 4, 5, 6
a
c
gt Ergebnis der Minimierung ab' c'
1
1
1
1
c
1
ab
b
37Karnaugh-Diagramme (Tabellenform)
- Tabelle für 4-stellige Funktionen f (a,b,c,d)
- 24 16 Felder. Verwende folgende Zuordnung
- Anmerkungen
- Es müssen stets alle Einsen abgedeckt werden. Im
ungünstigsten Fall muss man Schleifen um
einzelne Tabellenfelder legen (d.h., der
entsprechende Minterm wird unverkürzt in die DMF
übernommen). Anderes Extrem es liegt die
1-Funktion vor und man kann alles zusammenfassen.
38Karnaugh-Diagramme (Tabellenform)
Beispiel für 4-stellige Funktionen f
(a,b,c,d) gegeben durch If 1, 2, 6, 8,
9, 10, 11, 12, 13, 14, 15
bildet eine Schleife
gt Ergebnis der Minimierung a cd' b'c'd
39Minimierungsverfahren mit Karnaugh-Diagramm
Sei f eine n-stellige boolesche Funktion f 0,
1 n ? 0, 1 definiert durch ihre DNF. DNF wird
mit Karnaugh-Verfahren wie folgt
minimiert Schritt 1 Karnaugh-Diagramm zeichnen
(Format je nach Größe von n) und alle Einsen der
Minterme einzeichnen. Schritt 2 Benachbarte
Einsen mit möglichst großen Schleifen
zusammenfassen. Beachte die Anzahl der von
einer Schleife abgedeckten Felder ist stets eine
2er-Potenz ! Schritt 3 Versuchen, die
Schleifenzahl durch geschickte Wahl von
Überdeckungen minimieren Suche zunächst
die Einsen, die nur von einem Primimplikant
abgedeckt werden. Sie bilden den Kern der
DMF. Wähle dann für die verbleibenden
Felder eine Überdeckung aus durch Bilden
möglichst großer Schleifen. Es müssen alle
Einsen abgedeckt werden!
Anmerkung Karnaugh-Verfahren ist nur für kleine
n (bis n6) praktikabel.
40Minimierung partieller Funktionen
- Problem
- Es gibt einige Anwendungen, bei denen die
Belegungen der Eingangsvariablen einer Funktion
f 0, 1 n ? 0, 1 nicht für alle
Kombinationen von Eingabevariablen definiert ist,
weil bestimmte Eingabekombination - nie vorkommen, oder
- es irrelevant ist, ob sie auf 0 oder 1
abgebildet werden. - gt Konsequenzen für die Modellierung der Funktion
f und der Minimierung ihrer DNF (z.B. mit dem
Karnaugh-Verfahren).
Beispiel f (a,b,c)
DNF a'b'c ab'c' ab'c ??? ???
Funktionswerte irrelevant (don't care)
41Minimierung partieller Funktionen
- Ansatz
- Die in einer Funktionstabelle als irrelevant
(don't care) markierten Ausgabewerte können im
Karnaugh-Diagramm wahlweise mit einer 1 belegt
oder leer ( 0) gelassen werden. - Belegung wählt man so, dass man die größten
Schleifen erhält.
Beispiel f (a,b,c) mit DNFf a'b'c ab'c'
ab'c ??? ???
a
Minimierung mit "dont care" Werte alle auf 0
gesetzt. gt DMFf ab' b'c
1
1 1
c
b'c
ab'
b
a
- Minimierung mit dont care Werte alle auf 1
gesetzt. - DMFf a b'c
- eine Variable eingespart!
X 1
1 X 1
c
b'c
ab'
b
42Vorgehen bei mehrwertigen Schaltfunktionen
- Bisher Einschränkung auf 1-wertige
Schaltfunktionen - DNF und kDNF nur für 1-wertige Schaltfunktionen
- Minimierungsverfahren nur für 1-wertige
Schaltfunktionen - Frage
- Wie minimiert man m-wertige Funktionen f 0,
1 n ? 0, 1m - Antwort
- Man betrachtet f 0, 1 n ? 0, 1m als
Kombination von m voneinander unabhängige
1-wertige Schaltfunktionen - f1 0, 1 n ? 0, 1
- f2 0, 1 n ? 0, 1
- ......
- fm 0, 1 n ? 0, 1
- gt Minimierung (eines beschreibenden Terms) von
f 0, 1 n ? 0, 1m wird gleichgesetzt mit
der Aufgabe, die m 1-wertigen Funktionen fi zu
minimieren.
43Zusammenfassung Minimierung Boolescher Funktionen
- Allgemeines Schema beim Entwurf einer
Schaltfunktion
Textuelle Aufgabenstellung
Schritt 1 Schritt 2 Schritt 3 Schritt
4 Schritt 5
Funktionsgleichung / Wertetabelle aufstellen (bei
m-wertigen Funktionen m Einzel-Tabellen)
Minterme bestimmen
DNF aus Mintermen bestimmen
DMF bestimmen
2-stufiges Schaltnetz ableiten und zeichnen
- Zur Minimierung stehen unterschiedliche Verfahren
zur Auswahl. Für kleine Aufgaben, die von Hand
durchgeführt werden, sind die grafische Methoden
(Karnaugh-Diagramm oder BDD) gut geeignet.
44Nachbetrachtung zur Minimierung
- Die vorgestellte Vorgehensweise zur Minimierung
von Schaltkreisen für boolesche Funktionen beruht
auf einer Reihe grundlegender Annahmen und
Einschränkungen - (1) Kosten eines Schaltkreise werden
gleichgesetzt mit der Länge von Termen.
Kostenminimierung Verkürzung von Termen. - Kritik Andere Kostenfaktoren der
Schaltkreisentwicklung bleiben unberücksichtigt. - Bei hoch-integrierten CHIPS stellt z.B. die
Anzahl der Verbindungen und Überbrückungen einen
weiteren wesentlichen Kostenfaktor dar. - Nicht die Eingänge sind teuer sondern die
Invertoren (bzw. umgekehrt, je nach technischer
Realisierung) - ....
- (2) Abstraktion von Schaltkreisen auf booleschen
Terme - Kritik Die Abbildung f Term ? Schaltkreis
ist nicht surjektiv. - gt Es kommen nur bestimmte Schaltungen als
Lösungsmenge in Frage. Berücksichtigt nicht
alle möglichen Realisierungen.
45Nachbetrachtung zur Minimierung
- (3) Einschränkung auf 1-wertige Funktionen. Alle
m-wertige Funktionen werden in m voneinander
unabhängige 1-wertige Funktionen f1 ... fm
aufgeteilt. - Kritik
- a) Falls die f1 ... fm gemeinsame Teile haben,
würde es genügen, diese nur einmal zu
realisieren. - Beispiel
- f1 ab ac d
- f2 ab ac d e
- gt f2 f1 e
- b) Falls für ein fi und ein fk gilt fi ist
Komplement von fk, , - so würde es genügen, nur eine der beiden
Funktionen aufzubauen. Zur Realisierung der
anderen würde dann ein einziger zusätzlicher
Inverter ausreichen!
46Nachbetrachtung zur Minimierung
- (4) Abstraktion von technisch-physikalischen
Eigenschaften von Schaltungen. - Beispiel Beim Wechsel eines Eingabesignals kann
es aufgrund unterschiedlicher Signallaufzeiten
kurzfristig zu unerwünschten Wechseln im
Ausgangssignal kommen (statischer
Schaltungs-Hazzard). - Schaltung A Schaltung B
- Betrachte den Eingabewechsel von 111 auf 110.
- es gilt f(1,1,1) 1 f(1,1,0).
- In Schaltung A muss das x3-Signal die beiden
Gatter B und C durchlaufen. Somit steht der
Ausgang am Gatter C etwas später zur Verfügung,
als am Gatter A. Folglich springt der Ausgang von
D kurzfristig von 1 auf 0. - Schaltung B vermeidet diesen Hazzard durch das
zusätzliche Gatter E.