k332-BA_Normalformen_zweistufige_Synthese_Logikminimierung

Page 1

page-01.png

Kapitel 3 – Kombinatorische Logik

  1. Kombinatorische Schaltkreise
  2. Boolesche Algebren
  3. Boolesche Ausdrücke, Normalformen, zweistufige Synthese
    • 3.1 Boolesche Ausdrücke, Disjunktive Normalform
    • 3.2 zweistufige Logikminimierung
  4. Berechnung eines Minimalpolynoms
  5. Arithmetische Schaltungen
  6. Anwendung: ALU von ReTI

Albert-Ludwigs-Universität Freiburg
Prof. Dr. Armin Biere
Institut für Informatik

Page 2

page-02.png

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

page-03.png

Das Problem der zweistufigen Logikminimierung

Gegeben: Eine Boolesche Funktion in Variablen und Ausgängen in Form einer Tabelle der Dimension oder einer Menge von Polynomen mit .

Gesucht: Polynome , so dass für alle der Funktion entspricht und die Kosten minimal sind.

Ab sofort werden nur noch Funktionen mit einem Ausgang betrachtet (also ).

Page 4

page-04.png

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

page-05.png

Veranschaulichung von durch Karnaugh-Veitch

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

page-06.png

4 Variablen

Eigentlich Torus (Wikipedia-Bild). Für mehr als 4 Variablen: Schwer sich das Vorzustellen.

Page 7

page-07.png

Ziel: Maximale Bedeckung finden

Bedeckung = Viereck, immer maximal

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

page-08.png

Ziel: Maximale Bedeckung finden

Bedeckung = Viereck, immer maximal

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

page-09.png

Ziel: Maximale Bedeckung finden

Bedeckung = Viereck, immer maximal

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

page-10.png

Ziel: Maximale Bedeckung finden

Bedeckung = Viereck, immer maximal

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

page-11.png

Ziel: Maximale Bedeckung finden

Bedeckung = Viereck, immer maximal

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

page-12.png

Ziel: Maximale Bedeckung finden

Bedeckung = Viereck, immer maximal

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

page-13.png

Veranschaulichung durch Würfel

Jede Boolesche Funktion in Variablen und einem Ausgang kann über einen -dimensionalen Würfel durch Markierung der -Menge spezifiziert werden.

Beispiel:

Page 14

page-14.png

Monome und Polynome als Teilwürfel

Monome der Länge entsprechen -dimensionalen Teilwürfeln!

Ein Polynom entspricht einer Vereinigung von Teilwürfeln.

Beispiel:

Page 15

page-15.png

Zweistufige Logikminimierung als Überdeckungsproblem auf dem Würfel

Gegeben: Boolesche Funktion in Variablen und einem Ausgang, in Form eines markierten -dimensionalen Würfels.

Gesucht: Eine minimale Überdeckung der markierten Knoten durch maximale Teilwürfel im -dimensionalen Würfel.

Entspricht einer Minimallösung:

nicht maximal!!

Page 16

page-16.png

Minimale Kosten

Gegeben ein PLA mit Ausgängen und jede Funktion ist durch ein Minimalpolynom, also eine Minimallösung, die die Funktion überdeckt wie auf der vorherigen Folie, realisiert.

Sind die gesamten Kosten des PLA folglich auch minimal?

a. Ja.
b. Nein.

Page 17

page-17.png

Implikanten und Primimplikanten

Definition:
Eine Boolesche Funktion ist kleiner gleich einer anderen Booleschen Funktion (), wenn . (Das heißt, wenn an einer Stelle 1 ist, dann auch .)

Definition:
Sei eine Boolesche Funktion mit einem Ausgang. Ein Implikant von ist ein Monom mit . Ein Primimplikant von ist ein maximaler Implikant von , das heißt es gibt keinen Implikanten () von mit .

Implikanten und Primimplikanten können durch -dimensionale Würfel veranschaulicht werden.

Page 18

page-18.png

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

page-19.png

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

page-20.png

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

page-21.png

Bestimmung von Primimplikanten

Es gibt 3 Primimplikanten der durch unseren Würfel definierten Funktion:

Page 22

page-22.png

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

page-23.png

Bestimmung von Primimplikanten

Es gibt 3 Primimplikanten der durch unseren Würfel definierten Funktion:

Page 24

page-24.png

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

page-25.png

Bestimmung von Primimplikanten

Es gibt 3 Primimplikanten der durch unseren Würfel definierten Funktion:

Page 26

page-26.png

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

page-27.png

Polynome und Implikanten einer Funktion

Lemma:
Die Monome eines Polynoms von sind alle Implikanten von .

Beweis: (durch Widerspruch)

Annahme:
Es gibt ein Polynom von , das ein Monom enthält, welches nicht Implikant von ist, d.h. es gilt nicht:

Das heißt es gibt Belegung der Variablen mit

Demnach ist , also kein Polynom von .

⇒ Widerspruch!