k331-BA_Normalformen_zweistufige_Synthese_DNF
Page 1
Kapitel 3 – Kombinatorische Logik
- Kombinatorische Schaltkreise
- Boolesche Algebren
- Boolesche Ausdrücke, Normalformen, zweistufige Synthese
- 3.1 Boolesche Ausdrücke, Disjunktive Normalform
- 3.2 zweistufige Logikminimierung
- Berechnung eines Minimalpolynoms
- Arithmetische Schaltungen
- Anwendung: ALU von ReTI
Albert-Ludwigs-Universität Freiburg
Prof. Dr. Armin Biere
Institut für Informatik
Page 2
Kombinatorische Schaltkreise – zweistufig
Ziel:
Wir werden zeigen, dass sich jede Boolesche Funktion als ein Polynom, d.h. als eine Disjunktion (ODER-Verknüpfung) von Monomen, die ihrerseits Konjunktionen (UND-Verknüpfungen) von Eingangsvariablen und negierten Eingangsvariablen sind, darstellen lässt.
Wir werden für solche Darstellungen Kostenkriterien aufstellen und diese optimieren.
Monome und Polynome sind spezielle Boolesche Ausdrücke. Beginne daher mit einer exakten Definition, was wir unter einem Booleschen Ausdruck verstehen.
Page 3
Boolesche Ausdrücke – allgemein
Formal vollständige Definition Boolescher Ausdrücke:
- Syntax (korrekte Schreibweise) → Def. Boolescher Ausdrücke
- Semantik (Bedeutung) → Interpretationsfunktion
von
Page 4
Syntax Boolescher Ausdrücke
Sei
Sei
Definition:
Die Menge
, und , , sind Boolesche Ausdrücke- Sind
und Boolesche Ausdrücke, so auch:- die Disjunktion
, - die Konjunktion
, - die Negation
.
- die Disjunktion
Bsp.:
Page 5
Schreibweise von
Konvention: Negation
→ Klammern können weggelassen werden, ohne dass Mehrdeutigkeiten entstehen.
Man schreibt auch:
- statt
: , - statt
: , - statt
: , , .
→ So „vereinfachte" Ausdrücke entsprechen zwar nicht genau der obigen Definition, es gibt aber für jeden solchen Ausdruck einen äquivalenten vollständig geklammerten Ausdruck im Sinne der Definition.
Beispiel: Der äquivalente vollständig geklammerte Ausdruck für „
Page 6
Semantik Boolescher Ausdrücke
Definition:
Jedem Booleschen Ausdruck
Page 7
Alternative Betrachtung der Semantik Boolescher Ausdrücke
Sei
Bsp.:
Gilt
In Zukunft schreiben wir auch
Zwei Boolesche Ausdrücke
Sie sind gleich, wenn
Page 8
Beziehung zwischen Schaltkreisen und Booleschen Ausdrücken (1/2)
Zu jedem Ausgang eines Schaltkreises lässt sich durch „symbolische Simulation" ein Boolescher Ausdruck berechnen, der die entsprechende Boolesche Funktion darstellt.
Symbolische Simulation benutzt zur Simulation eines Schaltkreises keine festen Booleschen Werte an den Inputs, sondern Boolesche Variablen.
Es wird dann für jeden Knoten ein Boolescher Ausdruck zu der Funktion bestimmt, die der Knoten berechnet.
Page 9
Beziehung zwischen Schaltkreisen und Booleschen Ausdrücken (2/2)
(
Page 10
Spezielle Boolesche Ausdrücke: Literale
Definition:
Als Literal einer Booleschen Funktion
(auch geschrieben) wird positives Literal genannt, (auch geschrieben) wird negatives Literal genannt.
Anmerkung:
Eine andere Notation für ein negatives Literal
Wie schon erwähnt bezeichnet das Literal
...
Page 11
Spezielle Boolesche Ausdrücke: Monome
Definition:
Ein Monom ist eine Konjunktion von Literalen, in der kein Literal mehr als einmal vorkommt und zu keiner Variable sowohl das positive als auch das negative Literal vorkommt. Außerdem ist „1" ein Monom.
und sind Monome, ist kein Monom, ist kein Monom.
Ein Monom heißt vollständig oder Minterm, wenn jede Variable entweder als positives oder als negatives Literal vorkommt.
Wenn drei Variablen
Für eine Eingabebelegung
(Notation:
der zu
Page 12
Monome als Beschreibung Boolescher Funktionen
Beispiel: Das Monom
Beispiel: Der Minterm
Page 13
Spezielle Boolesche Ausdrücke: Polynome
Eine Disjunktion von paarweise verschiedenen Monomen heißt Polynom. Außerdem ist „0" ein Polynom. Sind alle Monome des Polynoms vollständig, so heißt das Polynom vollständig.
Beispiel: Bei einer Booleschen Funktion mit drei Variablen
ein Polynom,
ein vollständiges Polynom.
Das Polynom
Page 14
Disjunktive Normalform
Ein Polynom für
ist in DNF, aber nicht in KDNF.
Manchmal auch als Summe von Produkten bezeichnet, engl. „sum of products (SOP)"
nicht zu verwechseln mit Konjunktiver Normalform (KNF) bei SAT und in der Logik, engl. „conjunctive normal form (CNF)" bzw. „product of sums (POS)"
Page 15
Bestimmung der kanonischen disjunktiven Normalform
Für
Die KDNF ist gegeben durch:
Die KDNF ist (bis auf Anordnung von Literalen in Mintermen und von Monomen im Polynom) eindeutig.
Beispiel: KDNF für
| 0 | 0 | 0 | 1 |
| 0 | 0 | 1 | 1 |
| 0 | 1 | 0 | 0 |
| 0 | 1 | 1 | 0 |
| 1 | 0 | 0 | 0 |
| 1 | 0 | 1 | 1 |
| 1 | 1 | 0 | 1 |
| 1 | 1 | 1 | 1 |
Anmerkung:
Analog zur Erfüllbarkeitsmenge ist
Page 16
Realisierungen von DNF
Erste Möglichkeit:
Benutze „gewöhnliche" UND- und ODER-Gatter.
Zweite Möglichkeit: PLAs (Programmable Logic Arrays)
Programmierbare logische Felder können nur Funktionen in DNF implementieren. Sie benötigen dafür weniger Transistoren als eine Realisierung mit UND- und ODER-Gattern.
Page 17
Realisierung durch Logikgatter
Bilde erst alle Monome durch UND-Gatter. Verbinde dann alle Monome mit ODER-Gattern.
Notation: Man verzichtet in der Regel auf die Abbildung von Invertern.
Die Kosten ergeben sich dann aus allen benötigten UND- und ODER-Gattern.
Page 18
Programmierbare logische Felder (PLA)
Zweistufige Darstellung zur Realisierung von Booleschen Polynomen.
mit
- UND-Feld: Enthält Monom
Literale, so werden Transistoren in der entsprechenden Zeile des UND-Feldes benötigt. - ODER-Feld: Besteht die Beschreibung von Funktion
aus Monomen, so benötigt man Transistoren in der entsprechenden Spalte des ODER-Feldes.
Fläche:
Page 19
PLAs: Realisierungsdetails
Beispiel:
Page 20
Realisierungsdetails, waagerechte Monomleitungen
Ein n-Kanal-Transistor leitet, wenn sein Gate mit 1 belegt ist. Wenn ein n-Kanal-Transistor leitet, dann zieht er die entsprechende Monomleitung auf 0.
Bsp.: Die erste Monomleitung ist genau dann 1, wenn beide Transistoren der Reihe sperren, d.h. wenn
⇒ Die Leitung realisiert die Funktion
Page 21
Realisierungsdetails, senkrechte Funktionsleitungen
Ein n-Kanal-Transistor leitet, wenn sein Gate mit 1 belegt ist. Wenn n-Kanal-Transistor leitet, dann zieht er die entsprechende Leitung auf 0.
Bsp.: Der
Der Inverter-Eingang ist genau dann 0, wenn mindestens einer der drei Transistoren der Spalte leitet, d.h. wenn
⇒ Der
Page 22
Kosten von PLA-Realisierungen von Monomen und Polynomen
Sei
Seien
Die primären Kosten
Die sekundären Kosten
Page 23
Kombiniertes Kostenmaß
Sei im Folgenden
genau dann gilt, wenn
- entweder
- oder
und
Page 24
Kosten der Realisierung
Welche der folgenden PLAs ist die kostengünstigste Lösung?
a. PLA 1 mit 10 Zeilen und 19 Transistoren.
b. PLA 2 mit 15 Zeilen und 30 Transistoren.
c. PLA 3 mit 12 Zeilen und 15 Transistoren.
d. PLA 4 mit 12 Zeilen und 19 Transistoren.























