NAND - next-internet.com
NAND - next-internet.com
NAND - next-internet.com
Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.
YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.
Prof. Dr. W. Karl<br />
Vorstellung<br />
� Professur für Entwurf von Systemen in Hardware<br />
und Organisation innovativer<br />
Rechnerarchitekturen an der Fakultät für<br />
Informatik der Universität Karlsruhe (TH)<br />
� Lehrstuhl für Rechnerarchitektur und<br />
Parallelverarbeitung<br />
Institut für Rechnerentwurf und Fehlertoleranz<br />
Dr.-Ing. Dr. Ing. T. Asfour<br />
Ziele:<br />
Minimalformen<br />
� „Möglichst kurze“ Boolesche Ausdrücke für eine<br />
gegebene Boolesche Funktion.<br />
� Technische Realisierung einer Schaltung mit möglichst<br />
geringen Kosten.<br />
Ähnlich zum Aufbau der disjunktiven und konjunktiven<br />
Normalform gibt es eine disjunktive (DMF) und<br />
konjunktive (KMF) Minimalform.<br />
Institut für Rechnerentwurf und Fehlertoleranz<br />
Dr.-Ing. Dr. Ing. T. Asfour<br />
6-1<br />
6-3<br />
Wiederholung<br />
� Produktterm, Implikant, Minterm<br />
� “Sumterm”, Implikat, Maxterm<br />
� Normalformen<br />
� Disjunktive Normalform<br />
� Konjunktive Normalform<br />
� Shannonscher Entwicklungssatz<br />
Institut für Rechnerentwurf und Fehlertoleranz<br />
Dr.-Ing. Dr. Ing. T. Asfour<br />
Gegeben:<br />
Disjunktive Minimalform (DMF)<br />
Eine Boolesche Funktion y(x 1,...,x ,...,xn ) und Kostenfunktionen ΨUND(k) UND(k)<br />
und ΨODER(k ODER(k),<br />
, die die Realisierungskosten einer k-stelligen UND- bzw.<br />
ODER-Verknüpfung beschreiben. (Die Kosten für die Negation einer<br />
Variablen sind vernachlässigt.)<br />
Definition:<br />
Ein Ausdruck ist in disjunktiver Minimalform (Abk.: DMF), wenn<br />
er eine Disjunktion von Konjunktionen<br />
y(x 1,...,x ,...,xn) ) = (L 11 ·... ...· L1k) 1k)<br />
∨ ... ∨ (L m1 ·... ...· Lmj mj )<br />
mit den Literalen Lvw vw ∈ { x 1,..., ,..., xn, , ⎯x1,..., ,..., ⎯xn } darstellt und die<br />
Realisierungskosten<br />
Yy = ΨODER(m) ODER(m)<br />
+ ΨUND(k) UND(k)<br />
+ ... + ΨUND(j) UND(j)<br />
minimal sind.<br />
Institut für Rechnerentwurf und Fehlertoleranz<br />
Dr.-Ing. Dr. Ing. T. Asfour<br />
6-2<br />
6-4
Beispiel: DMF<br />
Kostenmaß: Kostenma : Anzahl der auftretenden Gatter<br />
Es sei Ψ UND(k) = Ψ ODER(k) = k, k: Anzahl Gattereingänge<br />
Der Ausdruck<br />
y 1 = ⎯a b ∨ a⎯b<br />
ist in disjunktiver Minimalform<br />
y 2 =⎯a b ∨ a b jedoch nicht, da y 2 auch kürzer durch<br />
y 2 = b<br />
ausgedrückt werden kann.<br />
Institut für Rechnerentwurf und Fehlertoleranz<br />
Dr.-Ing. Dr. Ing. T. Asfour<br />
Beispiel: KMF<br />
Es sei Ψ UND (k) = Ψ ODER (k) = k, k: Anzahl Gattereingänge<br />
y 1 = (⎯a ∨ b ) ( a ∨ c ) ist in konjunktiver Minimalform,<br />
y 2 =⎯a (⎯a ∨ c ) ( b ∨ c ) jedoch nicht,<br />
da y 2 auch kürzer durch<br />
y 2 =⎯a ( b ∨ c )<br />
ausgedrückt werden kann.<br />
Institut für Rechnerentwurf und Fehlertoleranz<br />
Dr.-Ing. Dr. Ing. T. Asfour<br />
6-5<br />
6-7<br />
Konjunktive Minimalform (KMF)<br />
Definition:<br />
Ein Ausdruck in konjunktiver Minimalform (Abk.: KMF)<br />
ist eine Konjunktion von Disjunktionen<br />
y(x 1,...,x ,...,xn) ) = (L 11 ∨ ... ∨ L1k) 1k)<br />
· ... · (L m1 ∨... ... ∨ Lmj mj )<br />
mit den Literalen Lvw vw ∈ { x 1 ,..., x n ,⎯x1 1 ,...,⎯x ,..., n } derart, dass die<br />
gesamten Realisierungskosten<br />
Yy = ΨUND(m) UND(m)<br />
+ ΨODER(k) ODER(k)<br />
+ ... + ΨODER(j) ODER(j)<br />
minimal sind.<br />
Institut für Rechnerentwurf und Fehlertoleranz<br />
Dr.-Ing. Dr. Ing. T. Asfour<br />
Minimalformen sind nicht eindeutig!<br />
Es kann mehrere disjunktive und konjunktive<br />
Minimalformen für die gleiche Funktion geben.<br />
Beispiel:<br />
y = a⎯b ∨ b⎯c ∨⎯a c und<br />
y = a⎯c ∨⎯b c ∨⎯a b<br />
DMF & KMF<br />
stellen dieselbe Funktion dar, beides sind disjunktive<br />
Minimalformen.<br />
Institut für Rechnerentwurf und Fehlertoleranz<br />
Dr.-Ing. Dr. Ing. T. Asfour<br />
6-6<br />
6-8
Beispiel<br />
Die Kosten für eine disjunktive und eine konjunktive<br />
Minimalform derselben Funktion sind im allgemeinen<br />
unterschiedlich.<br />
Beispiel:<br />
Es sei Ψ UND (k) = Ψ ODER (k) = 2·(k+1).<br />
y = a b c ∨⎯a⎯b⎯c disjunktive Minimalform<br />
mit Ψ y = 6 + 8 + 8 = 22<br />
y = (⎯a ∨ b ) ( a ∨ ⎯c ) (⎯b ∨ c ) konjunktive Minimalform<br />
mit Ψ y = 8 + 6 + 6 + 6 = 26<br />
Institut für Rechnerentwurf und Fehlertoleranz<br />
Dr.-Ing. Dr. Ing. T. Asfour<br />
3.1.6 Funktionsdarstellung im Würfelkalkül<br />
Ein Produktterm K lässt sich auch im sogenannten<br />
Würfelkalkül beschreiben.<br />
Ein Würfel C := (c 1, , …, , cn) ) ∈ {0, 1, –} n wird durch den<br />
Produktterm K wie folgt bestimmt:<br />
⎧ 0, falls das Literal ⎯xi in K vorkommt<br />
ci := ⎨ 1, falls das Literal xi in K vorkommt<br />
⎩ –, falls die Variable xi in K nicht vorkommt<br />
Es seien die Variablen x1 ,...,x6 gegeben.<br />
Dem Produktterm K = x 2 ∧ ⎯x3 ∧ ⎯x5 ∧ x6 ist der Würfel<br />
C = (–,1,0, ,1,0,–,0,1) ,0,1) zugeordnet.<br />
Institut für Rechnerentwurf und Fehlertoleranz<br />
Dr.-Ing. Dr. Ing. T. Asfour<br />
6-9<br />
6-11 11<br />
Anmerkungen<br />
Das Auffinden einer Minimalform ist insbesondere für Funktionen<br />
mit einer größeren Anzahl von Variablen keine triviale Aufgabe.<br />
Oft können nur suboptimale Lösungen unter Verwendung von<br />
Heuristiken gefunden werden.<br />
Bei Minimierungsverfahren geht man in zwei Schritten vor:<br />
� Es wird eine Menge von Implikanten bzw. Implikate der<br />
Funktion y mit einer möglichst geringen Anzahl von<br />
Literalen gebildet.<br />
� Aus dieser Menge wird eine möglichst geringe Anzahl<br />
von Implikanten bzw. Implikate herausgesucht, deren<br />
Disjunktion bzw. Konjuktion die Funktion y ergeben.<br />
Institut für Rechnerentwurf und Fehlertoleranz<br />
Dr.-Ing. Dr. Ing. T. Asfour<br />
Würfelkalkül<br />
� Ein n-Tupel (c 1, , …, , cn), ), das an keiner Stelle ein "–“<br />
besitzt, beschreibt einen 0-dimensionalen Würfel, also<br />
einen Punkt.<br />
� Ein n-Tupel, das an m ≤ n Stellen ein "–" besitzt, ist ein<br />
m-dimensionaler Würfel.<br />
� Der Begriff Würfel lässt sich für n = 3<br />
= 3 besonders leicht<br />
veranschaulichen.<br />
Institut für Rechnerentwurf und Fehlertoleranz<br />
Dr.-Ing. Dr. Ing. T. Asfour<br />
6-10 10<br />
6-12 12
(0 ,0,0)<br />
(0 ,1,1)<br />
(0 ,0,1) (–,0,1)<br />
(0 ,1, –)<br />
(0 ,1,0)<br />
Würfelkalkül<br />
(–,0,0)<br />
Institut für Rechnerentwurf und Fehlertoleranz<br />
Dr.-Ing. Dr. Ing. T. Asfour<br />
(–,1,1)<br />
(0 ,–,1) (–,–,1) (1 ,–,1)<br />
(0 ,–,–)<br />
(–,1,0)<br />
(1 ,0,1)<br />
(0 ,0,–) (–,0,–) (1 ,0,–)<br />
(0 ,–,0)<br />
(–,1,–)<br />
(–,–,0)<br />
(1 ,0,0)<br />
Würfelkalkül<br />
Institut für Rechnerentwurf und Fehlertoleranz<br />
Dr.-Ing. Dr. Ing. T. Asfour<br />
(1 ,–,–)<br />
(1 ,–,0)<br />
(1 ,1,1)<br />
(1 ,1,–)<br />
(1 ,1,0)<br />
� Der n-dimensionale Würfel (–,…,–) heißt Universum.<br />
� Jeder Würfel C := (c 1 , …, c n ), der genau m ≤ n<br />
Komponenten mit c i = "–" enthält, bildet einen<br />
m-dimensionalen Unterraum und somit ebenfalls<br />
einen Würfel.<br />
� Jeder Würfel C := (c 1 , …, c n ) definiert somit eine Menge<br />
von Mintermen (seine Ecken).<br />
� Der Würfel, (1,-,1) entspricht z. B. den Mintermen<br />
x 1 ∧ x 2 ∧ x 3 und x 1 ∧⎯x 2 ∧ x 3<br />
6-13 13<br />
6-15 15<br />
Würfelkalkül<br />
� Jeder der acht möglichen Minterme von (x 1 , x 2 , x 3 )<br />
repräsentiert eine Ecke eines Würfels.<br />
� Zwischen zwei Mintermen (Ecken) wird eine Kante<br />
gezogen, wenn sie sich genau in einem Literal<br />
unterscheiden.<br />
� Entsprechend werden die sechs Flächen aus den<br />
Kanten gebildet.<br />
� Der gesamte Kubus wird durch den Würfel (–, –, –)<br />
beschrieben.<br />
Institut für Rechnerentwurf und Fehlertoleranz<br />
Dr.-Ing. Dr. Ing. T. Asfour<br />
Würfelkalkül<br />
Funktionsdarstellung im Würfelkalkül:<br />
Zur Beschreibung einer Funktion y zeichnet man im Universum<br />
diejenigen Eckpunkte aus, die den Mintermen entsprechen.<br />
Anwendung des Würfelkalküls:<br />
Consensus-Verfahren zur Minimierung Boolescher Funktionen.<br />
Prinzip:<br />
Spannen Minterme einer Funktion einen größeren Unterraum<br />
auf, kann dieser als Würfel einfacher dargestellt werden.<br />
Beispiel: (1,1,1) und (1,0,1) ⇒ (1,-,1)<br />
Institut für Rechnerentwurf und Fehlertoleranz<br />
Dr.-Ing. Dr. Ing. T. Asfour<br />
6-14 14<br />
6-16 16
Weitere Definitionen<br />
� Ein Würfel A := (a 1 , …, a n ) enthält („überdeckt“) den Würfel<br />
B := (b 1 , …, b n ), in Zeichen: B ⊆ A,<br />
wenn in jeder Komponente (a i = b i ) oder a i = "–" gilt.<br />
Beispiel: A: (1,-,-)<br />
B: (1,0,0) A enthält B<br />
� Die Würfelmenge, bzw. der Würfel, C := (C1 , …, Cm ) ist eine<br />
Überdeckung eines Würfels A, in Zeichen: A ⊆ C,<br />
wenn alle Minterme von A durch mindestens einen Würfel<br />
in C überdeckt werden.<br />
Da jeder Würfel in der Überdeckung einem Produktterm<br />
entspricht, repräsentiert eine Überdeckung eine Boolesche<br />
Funktion als Disjunktion dieser Produktterme.<br />
Institut für Rechnerentwurf und Fehlertoleranz<br />
Dr.-Ing. Dr. Ing. T. Asfour<br />
Weitere Definitionen<br />
Schnittmenge zweier Würfel:<br />
Gegeben: zwei Würfel A := (a 1 , …, a n ) und B := (b 1 , …, b n ).<br />
Dann sei der Würfel C = A ∩ B = {c 1 ,...,c n } mit<br />
k ∈ {1,...,n} wie folgt definiert:<br />
Wenn a k = 1 und b k ∈ {1,–} oder b k = 1 und a k ∈ {1,–},<br />
dann c k = 1<br />
Wenn a k = 0 und b k ∈ {0,–} oder b k = 0 und a k ∈ {0,–},<br />
dann c k = 0<br />
Wenn a k = – und b k = –, dann c k = –<br />
Institut für Rechnerentwurf und Fehlertoleranz<br />
Dr.-Ing. Dr. Ing. T. Asfour<br />
6-17 17<br />
Anderenfalls existiert die Schnittmenge zweier Würfel nicht.<br />
6-19 19<br />
f(a,b,c) = a⎯b<br />
Beispiel<br />
Würfel (1,0,-)<br />
enthält (1,0,1)<br />
Würfelmenge {(1,0,1), (1,0,0)}<br />
überdeckt {(1,0,-)}<br />
Institut für Rechnerentwurf und Fehlertoleranz<br />
Dr.-Ing. Dr. Ing. T. Asfour<br />
Beispiele als Aufgabe: A ∩ B = ??<br />
A: (1,-,1)<br />
B: (-,1,1)<br />
⇒ A ∩ B = (1,1,1)<br />
A: (0,-,1)<br />
B: (-,-,0)<br />
⇒ Schnittmenge existiert nicht<br />
Institut für Rechnerentwurf und Fehlertoleranz<br />
Dr.-Ing. Dr. Ing. T. Asfour<br />
A: (0,-,0)<br />
B: (-,-,0)<br />
⇒ A ∩ B = (0,-,0)<br />
6-18 18<br />
6-20 20
3.1.7 <strong>NAND</strong>/NOR-Konversion<br />
(⎯∧ )-System (<strong>NAND</strong>-System) und (⎯∨ )-System (NOR-<br />
System) sind vollständige Operatorensysteme<br />
� beliebige disjunktive und konjunktive Ausdrücke können<br />
mit <strong>NAND</strong>- und NOR-Verknüpfungen dargestellt werden.<br />
Überführungen (vier Fälle):<br />
1. Fall: Funktion in disjunktiver Form ⇒ <strong>NAND</strong>-System<br />
2. Fall: Funktion in disjunktiver Form ⇒ NOR-System<br />
3. Fall: Funktion in konjunktiver Form ⇒ NOR-System<br />
4. Fall: Funktion in konjunktiver Form ⇒ <strong>NAND</strong>-System<br />
Institut für Rechnerentwurf und Fehlertoleranz<br />
Dr.-Ing. Dr. Ing. T. Asfour<br />
Beispiel: 1.Fall<br />
y = ⎯a b c ∨ a⎯b c ∨ a b⎯c ∨⎯a⎯b⎯c<br />
y = ⎯a b c ∨ a⎯b c ∨ a b⎯c ∨⎯a⎯b⎯c<br />
= ⎯a b c ∨ a⎯b c ∨ a b⎯c ∨⎯a⎯b⎯c<br />
= ⎯a b c ∧ a⎯b c ∧ a b⎯c ∧⎯a⎯b⎯c<br />
= <strong>NAND</strong> 4 (<strong>NAND</strong> 3 (⎯a, b, c ), <strong>NAND</strong> 3 (a,⎯b, c),<br />
<strong>NAND</strong> 3 (a, b,⎯c ), <strong>NAND</strong> 3 (⎯a,⎯b,⎯c ))<br />
Dabei ist <strong>NAND</strong> k (x 1 ,...,x k ) eine k-stellige Funktion, für die gilt:<br />
<strong>NAND</strong> k (x 1 ,...,x k )<br />
⎧<br />
⎨<br />
⎩<br />
Institut für Rechnerentwurf und Fehlertoleranz<br />
Dr.-Ing. Dr. Ing. T. Asfour<br />
0 für x 1 = ... = x k = 1<br />
1 sonst<br />
6-21 21<br />
6-23 23<br />
<strong>NAND</strong>-Konvertierung<br />
1. Fall: Funktion in disjunktiver Form ⇒ <strong>NAND</strong>-System<br />
Gegeben sei eine Funktion in disjunktiver Form.<br />
Überführung:<br />
1. Doppelte Negation und<br />
2. anschließende Anwendung der DeMorgan-Gesetze<br />
Dann erhält man einen Ausdruck, der nur noch <strong>NAND</strong> als<br />
Operator enthält.<br />
Institut für Rechnerentwurf und Fehlertoleranz<br />
Dr.-Ing. Dr. Ing. T. Asfour<br />
<strong>NAND</strong> 2-Funktion<br />
Darstellung der <strong>NAND</strong> 2 -Funktion durch den ⎯∧ Operator:<br />
Problem: Die Operatoren ⎯∧ und ⎯∨ sind nicht assoziativ.<br />
( x 1 ⎯∧ x 2 )⎯∧ x 3 ≠ x 1 ⎯∧ ( x 2 ⎯∧ x 3 )<br />
( x 1 ⎯∨ x 2 )⎯∨ x 3 ≠ x 1 ⎯∨ ( x 2 ⎯∨ x 3 )<br />
<strong>NAND</strong> 3 (x 1 , x 2 , x 3 ) = x 1 ∧ x 2 ∧ x 3 = (x 1 ⎯∧ x 2 ) ⎯∧ x 3<br />
(x 1 ⎯∧ x 2 ) ⎯∧ x 3 = x 1 ∧ x 2 ∧ x 3 ≠<br />
x 1 ⎯∧ ( x 2 ⎯∧ x 3 )= x 1 ∧ x 2 ∧ x 3<br />
Institut für Rechnerentwurf und Fehlertoleranz<br />
Dr.-Ing. Dr. Ing. T. Asfour<br />
6-22 22<br />
6-24 24
<strong>NAND</strong> k-Funktion<br />
Um die <strong>NAND</strong> k -Funktion trotzdem für k > 2 durch<br />
⎯∧-Operatoren auszudrücken, geht man wie folgt vor:<br />
1. Die Variablen x 1 bis x k werden durch den ⎯∧-Operator<br />
verknüpft: x 1 ⎯∧...⎯∧ x k<br />
2. Auf die linke Seite des Terms werden k-2 offene<br />
Klammern"(" und hinter jede Variable außer x 1 und x k<br />
wird jeweils eine geschlossene Klammer ")" gesetzt:<br />
(...(x 1 ⎯∧ x 2 ) ...⎯∧ x k-1 ) ⎯∧ x k<br />
3. Schließlich wird jede Klammerebene negiert:<br />
(...(x 1 ⎯∧ x 2 ) ...⎯∧ x k-1 ) ⎯∧ x k<br />
Institut für Rechnerentwurf und Fehlertoleranz<br />
Dr.-Ing. Dr. Ing. T. Asfour<br />
NOR-Konversion<br />
2. Fall: Funktion in disjunktiver Form ⇒ NOR-System<br />
Gegeben: Boolesche Funktion in disjunktiver Form.<br />
Überführung:<br />
1. Die Funktion wird zunächst negiert.<br />
2. Anschließend werden die Konjunktionen doppelt<br />
negiert und<br />
3. die DeMorganschen Regeln angewendet.<br />
4. Das Ergebnis muss dann noch negiert werden.<br />
Institut für Rechnerentwurf und Fehlertoleranz<br />
Dr.-Ing. Dr. Ing. T. Asfour<br />
6-25 25<br />
6-27 27<br />
(x 1 ⎯∧ x 2 ) ⎯∧ x 3<br />
Überprüfung der Regel<br />
= x 1 ∧ x 2 ∧ x 3<br />
= x 1 ∧ x 2 ∧ x 3<br />
Institut für Rechnerentwurf und Fehlertoleranz<br />
Dr.-Ing. Dr. Ing. T. Asfour<br />
= <strong>NAND</strong> 3 (x 1 , x 2 , x 3 )<br />
((x 1 ⎯∧ x 2 ) ⎯∧ x 3 )⎯∧ x 4 = x 1 ∧ x 2 ∧ x 3 ∧ x 4<br />
= x 1 ∧ x 2 ∧ x 3 ∧ x 4<br />
= x 1 ∧ x 2 ∧ x 3 ∧ x 4<br />
Institut für Rechnerentwurf und Fehlertoleranz<br />
Dr.-Ing. Dr. Ing. T. Asfour<br />
= <strong>NAND</strong> 4 (x 1 , x 2 ,x 3 ,x 4 )<br />
Beispiel: 2.Fall<br />
y=⎯a b c ∨ a⎯b c ∨ a b⎯c ∨⎯a⎯b⎯c<br />
⎯y=⎯a b c ∨ a⎯b c ∨ a b⎯c ∨⎯a⎯b⎯c<br />
=⎯a b c ∨ a⎯b c ∨ a b⎯c ∨⎯a⎯b⎯c<br />
= (a ∨ ⎯b ∨⎯c) ∨ (⎯a ∨ b ∨ c) ∨ (⎯a ∨⎯b ∨ c) ∨ (a ∨ b ∨ c)<br />
= NOR 4 (NOR 3 (a, ⎯b, ⎯c),NOR 3 (⎯a, b, ⎯c),NOR 3 (⎯a, ⎯b, c),<br />
NOR 3 ( a, b, c))<br />
Die Negation von⎯y zu y erhält man mit y =⎯y⎯∨⎯y.<br />
y = ⎯y ∨⎯y = NOR 2 (⎯y, ⎯y) = NOR 2 (----‘‘----,----‘‘-----)<br />
6-26 26<br />
6-28 28
NOR-Funktion<br />
Dabei ist NOR k (x 1 ,...,x k ) eine k-stellige Funktion, für die gilt:<br />
⎧ 1 für x1 = ... = xk = 0<br />
NORk (x1 ,...,xk ) ⎨<br />
⎩ 0 sonst<br />
Die NORk -Funktion lässt sich ebenfalls ausschließlich mit<br />
⎯∨ als Operator darstellen.<br />
Institut für Rechnerentwurf und Fehlertoleranz<br />
Dr.-Ing. Dr. Ing. T. Asfour<br />
Beispiel: 3. Fall<br />
y = (⎯a ∨ b ∨ c ) ( a ∨⎯b ∨ c ) ( a ∨ b ∨⎯c ) (⎯a ∨⎯b ∨⎯c )<br />
= (⎯a ∨ b ∨ c ) ( a ∨⎯b ∨ c ) ( a ∨ b ∨⎯c ) (⎯a ∨⎯b ∨⎯c )<br />
= (⎯a ∨ b ∨ c ) ∨ ( a ∨⎯b ∨ c ) ∨ ( a ∨ b ∨⎯c ) ∨ (⎯a ∨⎯b ∨⎯c )<br />
= NOR 4 ( NOR 3 (⎯ a, b, c), NOR 3 (a,⎯b, c),<br />
NOR 3 (a, b,⎯c), NOR 3 (⎯a,⎯b,⎯c) )<br />
Institut für Rechnerentwurf und Fehlertoleranz<br />
Dr.-Ing. Dr. Ing. T. Asfour<br />
6-29 29<br />
6-31 31<br />
NOR-Konversion<br />
3. Fall: Funktion in konjunktiver Form ⇒ NOR-System<br />
Gegeben: Boolesche Funktion in konjunktiver Form<br />
Überführung:<br />
1. Der Ausdruck wird doppelt negiert.<br />
2. Anschließend wendet man die DeMorgan-Regeln an.<br />
Institut für Rechnerentwurf und Fehlertoleranz<br />
Dr.-Ing. Dr. Ing. T. Asfour<br />
<strong>NAND</strong>-Konversion<br />
4. Fall: Funktion in konjunktiver Form ⇒ <strong>NAND</strong>- System<br />
Gegeben: Boolesche Funktion in konjunktiver Form<br />
Überführung:<br />
1. Die Funktion wird negiert.<br />
2. Anschließend werden die Disjunktionen doppelt negiert<br />
und<br />
3. die DeMorgan-Regeln angewendet.<br />
4. Das Ergebnis ist dann noch zu negieren.<br />
Institut für Rechnerentwurf und Fehlertoleranz<br />
Dr.-Ing. Dr. Ing. T. Asfour<br />
6-30 30<br />
6-32 32
Beispiel: 4.Fall<br />
y = (⎯a ∨ b ∨ c ) ( a ∨⎯b ∨ c ) ( a ∨ b ∨⎯c ) (⎯a ∨⎯b ∨⎯c )<br />
⎯y = (⎯a ∨ b ∨ c ) ( a ∨⎯b ∨ c ) ( a ∨ b ∨⎯c ) (⎯a ∨⎯b ∨⎯c )<br />
= (⎯a ∨ b ∨ c ) ∧ ( a ∨⎯b ∨ c ) ∧ ( a ∨ b ∨⎯c ) ∧ (⎯a ∨⎯b ∨⎯c )<br />
= <strong>NAND</strong> 4 (<strong>NAND</strong> 3 ( a,⎯b,⎯c), <strong>NAND</strong> 3 (⎯a, b,⎯c),<br />
<strong>NAND</strong> 3 (⎯a,⎯b, c), <strong>NAND</strong> 3 ( a, b, c))<br />
Die Negation von⎯y zu y erhält man auch mit y =⎯y⎯∧⎯y.<br />
y = ⎯y ∧⎯y = <strong>NAND</strong> 2 (⎯y, ⎯y) = <strong>NAND</strong> 2 (----‘‘----,----‘‘-----)<br />
Institut für Rechnerentwurf und Fehlertoleranz<br />
Dr.-Ing. Dr. Ing. T. Asfour<br />
6-33 33<br />
Zusammenfassung<br />
� Würfelkalkül: kompakte Darstellung der<br />
Produktterme; wird für das Consensus-<br />
Minimierungsverfahren gebraucht<br />
� <strong>NAND</strong>-/NOR-Konversionen:<br />
� Funktion in disjunktiver Form ⇒ <strong>NAND</strong>-System<br />
� Funktion in disjunktiver Form ⇒ NOR-System<br />
� Funktion in konjunktiver Form ⇒ NOR-System<br />
� Funktion in konjunktiver Form ⇒ <strong>NAND</strong>-System<br />
Institut für Rechnerentwurf und Fehlertoleranz<br />
Dr.-Ing. Dr. Ing. T. Asfour<br />
6-34 34