14.12.2012 Aufrufe

NAND - next-internet.com

NAND - next-internet.com

NAND - next-internet.com

MEHR ANZEIGEN
WENIGER ANZEIGEN

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

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!