k332-BA_Normalformen_zweistufige_Synthese_Logikminimierung
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.
Page 3
Das Problem der zweistufigen Logikminimierung
Gegeben: Eine Boolesche Funktion
Gesucht:
Ab sofort werden nur noch Funktionen mit einem Ausgang betrachtet (also
Page 4
Veranschaulichung von
1-dim Würfel: 0 — 1
2-dim Würfel:
01 —— 11
| |
00 —— 10
3-dim Würfel:
100 —— 101
/| /|
110 —— 111
| 011 -|- 001
|/ |/
010 —— 000
4-dim Würfel: (siehe Bild)
Page 5
Veranschaulichung von
Funktion wird als Tabelle dargestellt.
Gray-Code für die Einträge: nur ein Bit Unterscheidung von einem Wert zum nächsten.
| 00 | 01 | 11 | 10 | |
|---|---|---|---|---|
| 00 | ||||
| 01 | ||||
| 11 | ||||
| 10 |
Page 6
4 Variablen
Eigentlich Torus (Wikipedia-Bild). Für mehr als 4 Variablen: Schwer sich das Vorzustellen.
Page 7
Ziel: Maximale Bedeckung finden
Bedeckung =
| 00 | 01 | 11 | 10 | |
|---|---|---|---|---|
| 00 | 1 | 1 | 0 | 0 |
| 01 | 0 | 0 | 0 | 0 |
| 11 | 0 | 1 | 0 | 0 |
| 10 | 1 | 1 | 1 | 1 |
Page 8
Ziel: Maximale Bedeckung finden
Bedeckung =
| 00 | 01 | 11 | 10 | |
|---|---|---|---|---|
| 00 | 1 | 1 | 0 | 0 |
| 01 | 0 | 0 | 0 | 0 |
| 11 | 0 | 1 | 0 | 0 |
| 10 | 1 | 1 | 1 | 1 |
Page 9
Ziel: Maximale Bedeckung finden
Bedeckung =
| 00 | 01 | 11 | 10 | |
|---|---|---|---|---|
| 00 | 1 | 1 | 0 | 0 |
| 01 | 0 | 0 | 0 | 0 |
| 11 | 0 | 1 | 0 | 0 |
| 10 | 1 | 1 | 1 | 1 |
Page 10
Ziel: Maximale Bedeckung finden
Bedeckung =
| 00 | 01 | 11 | 10 | |
|---|---|---|---|---|
| 00 | 1 | 1 | 0 | 0 |
| 01 | 0 | 0 | 0 | 0 |
| 11 | 0 | 1 | 0 | 0 |
| 10 | 1 | 1 | 1 | 1 |
1001 nicht maximal!
Page 11
Ziel: Maximale Bedeckung finden
Bedeckung =
| 00 | 01 | 11 | 10 | |
|---|---|---|---|---|
| 00 | 1 | 1 | 0 | 0 |
| 01 | 0 | 0 | 0 | 0 |
| 11 | 0 | 1 | 0 | 0 |
| 10 | 1 | 1 | 1 | 1 |
Page 12
Ziel: Maximale Bedeckung finden
Bedeckung =
| 00 | 01 | 11 | 10 | |
|---|---|---|---|---|
| 00 | 1 | 1 | 0 | 0 |
| 01 | 0 | 0 | 0 | 0 |
| 11 | 0 | 1 | 0 | 0 |
| 10 | 1 | 1 | 1 | 1 |
Also:
Page 13
Veranschaulichung durch Würfel
Jede Boolesche Funktion
Beispiel:
Page 14
Monome und Polynome als Teilwürfel
Monome der Länge
Ein Polynom entspricht einer Vereinigung von Teilwürfeln.
Beispiel:
Page 15
Zweistufige Logikminimierung als Überdeckungsproblem auf dem Würfel
Gegeben: Boolesche Funktion
Gesucht: Eine minimale Überdeckung der markierten Knoten durch maximale Teilwürfel im
Entspricht einer Minimallösung:
nicht maximal!!
Page 16
Minimale Kosten
Gegeben ein PLA mit
Sind die gesamten Kosten des PLA folglich auch minimal?
a. Ja.
b. Nein.
Page 17
Implikanten und Primimplikanten
Definition:
Eine Boolesche Funktion
Definition:
Sei
Implikanten und Primimplikanten können durch
Page 18
Veranschaulichung durch Würfel
- Ein Implikant von
ist ein Teilwürfel, der nur markierte Knoten enthält. - Ein Primimplikant von
ist ein maximaler Teilwürfel mit dieser Eigenschaft.
Page 19
Illustration für konkrete Funktion
Implikanten:
- alle markierten Knoten
- alle Kanten, deren Ecken alle markiert sind
- alle Flächen, deren Ecken alle markiert sind
- alle 3-dimensionalen Würfel, deren Ecken alle markiert sind
Allgemein:
Die Implikanten sind die Teilwürfel, deren Ecken alle markiert sind.
Page 20
Illustration für konkrete Funktion
| 00 | 01 | 11 | 10 | |
|---|---|---|---|---|
| 00 | 1 | 1 | 1 | 1 |
| 01 | 0 | 1 | 0 | 0 |
| 11 | 1 | 1 | 1 | 1 |
| 10 | 0 | 1 | 0 | 0 |
Implikanten:
- alle markierten Knoten
- alle Kanten, deren Ecken alle markiert sind
- alle Flächen, deren Ecken alle markiert sind
- alle 3-dimensionalen Würfel, deren Ecken alle markiert sind
Allgemein:
Die Implikanten sind die Teilwürfel, deren Ecken alle markiert sind.
Page 21
Bestimmung von Primimplikanten
Es gibt 3 Primimplikanten der durch unseren Würfel definierten Funktion:
Page 22
Bestimmung von Primimplikanten
| 00 | 01 | 11 | 10 | |
|---|---|---|---|---|
| 00 | 1 | 1 | 1 | 1 |
| 01 | 0 | 1 | 0 | 0 |
| 11 | 1 | 1 | 1 | 1 |
| 10 | 0 | 1 | 0 | 0 |
Es gibt 3 Primimplikanten der durch unseren Würfel definierten Funktion:
Page 23
Bestimmung von Primimplikanten
Es gibt 3 Primimplikanten der durch unseren Würfel definierten Funktion:
Page 24
Bestimmung von Primimplikanten
| 00 | 01 | 11 | 10 | |
|---|---|---|---|---|
| 00 | 1 | 1 | 1 | 1 |
| 01 | 0 | 1 | 0 | 0 |
| 11 | 1 | 1 | 1 | 1 |
| 10 | 0 | 1 | 0 | 0 |
Es gibt 3 Primimplikanten der durch unseren Würfel definierten Funktion:
Page 25
Bestimmung von Primimplikanten
Es gibt 3 Primimplikanten der durch unseren Würfel definierten Funktion:
Page 26
Bestimmung von Primimplikanten
| 00 | 01 | 11 | 10 | |
|---|---|---|---|---|
| 00 | 1 | 1 | 1 | 1 |
| 01 | 0 | 1 | 0 | 0 |
| 11 | 1 | 1 | 1 | 1 |
| 10 | 0 | 1 | 0 | 0 |
Es gibt 3 Primimplikanten der durch unseren Würfel definierten Funktion:
Page 27
Polynome und Implikanten einer Funktion
Lemma:
Die Monome eines Polynoms
Beweis: (durch Widerspruch)
Annahme:
Es gibt ein Polynom
Das heißt es gibt Belegung
Demnach ist
⇒ Widerspruch!


























