PowerPoint-Pr - PowerPoint PPT Presentation

1 / 46
About This Presentation
Title:

PowerPoint-Pr

Description:

Teil II Entwurf digitaler Schaltungen 2.1 Logik, Schaltalgebra und Schaltfunktionen Themen Boolesche Algebra und boolesche Funktionen Rechenregeln f r boolesche Terme – PowerPoint PPT presentation

Number of Views:49
Avg rating:3.0/5.0
Slides: 47
Provided by: ris121
Category:

less

Transcript and Presenter's Notes

Title: PowerPoint-Pr


1
Teil 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

2
Motivation
  • Nach welchen Prinzipen funktionieren
    Rechenmaschinen bzw. moderne Computer?
  • Wie sind digitale Rechenanlagen aufgebaut?
  • Was verbirgt sich hinter einer CPU?

3
Motivation (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
4
Motivation (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
5
Aussagenlogik / 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.

6
formalisierte 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
7
abgeleitete 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
8
Boolesche 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'.

9
Boolesche 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

10
Rechenregeln 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

11
Beispiele 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.

12
Schaltfunktionen 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.

13
Aufzählung Boolescher Funktionen
  • Die 16 möglichen Schaltfunktionen fi 0,1 x
    0,1 ? 0, 1

14
Terme 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.

15
Vollstä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.

16
Varianten 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
17
Schaltgatter
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)

18
Schaltgatter
  • 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
19
Schaltgatter
  • 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
20
Schaltgatter 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
21
Aufbau 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.

22
Moores 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
23
Entwurf 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)
24
Beispiel
  • 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
25
Normalformen 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

26
Normalformen 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

27
Disjunktive-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 )

28
Verwendung 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
29
Algorithmus 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
30
Verwendung 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)

31
Bestimmung 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
32
Minimierungsverfahren 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.

33
Minimierungsverfahren 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)

34
Grafische 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'

35
Karnaugh-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
36
Karnaugh-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
37
Karnaugh-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.

38
Karnaugh-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
39
Minimierungsverfahren 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.
40
Minimierung 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)
41
Minimierung 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
42
Vorgehen 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.

43
Zusammenfassung 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.

44
Nachbetrachtung 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.

45
Nachbetrachtung 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!

46
Nachbetrachtung 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.
Write a Comment
User Comments (0)
About PowerShow.com