k312-Kombinatorische_Schaltkreise_Definition

Page 1

page-01.png

Kapitel 3 – Kombinatorische Logik

  1. Kombinatorische Schaltkreise
    1.1 Gatter, Transistoren
    1.2 Definition
  2. Boolesche Algebren
  3. Boolesche Ausdrücke, Normalformen, zweistufige Synthese
  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

Schaltkreis: Zunächst informal durch Beispiel

()

Welche Werte an den Ausgängen werden "berechnet", wenn an den Eingängen anliegt?

Page 3

page-03.png

Beispiel für einen Schaltkreis ()

Welche Werte an den Ausgängen werden "berechnet", wenn an den Eingängen anliegt?

Page 4

page-04.png

Beispiel für einen Schaltkreis ()

Page 5

page-05.png

Schaltkreise

Idee: „gerichteter Graph mit einigen zusätzlichen Eigenschaften"

Page 6

page-06.png

Exkurs: Gerichteter Graph

Definition: ist ein gerichteter Graph, wenn folgendes gilt:

  • endliche, nichtleere Menge (Knoten)
  • endliche Menge (Kanten)
  • Abbildungen und
    • ist Quelle, Ziel einer Kante
  • Abbildungen und
    • ist der Eingangsgrad,
    • der Ausgangsgrad von .

Page 7

page-07.png

Exkurs: Pfade in gerichteten Graphen

Ein Knoten mit

  • heißt Wurzel.
  • heißt Blatt.
  • heißt innerer Knoten.

Ein Pfad (der Länge ) in ist eine Folge von Kanten () mit

ü

heißt Quelle, Ziel des Pfades.

Ein Zyklus in ist ein Pfad der Länge in , bei dem Ziel und Quelle identisch sind.

heißt azyklisch, falls kein Zyklus in existiert.

Die Graph-Tiefe eines azyklischen Graphen ist definiert als die Länge des längsten Pfades in .

Page 8

page-08.png

Exkurs: Bäume, Binäre Bäume

Definition: Ein Baum ist ein gerichteter, azyklischer Graph mit genau einer Wurzel () und für alle andere Knoten .

Ein Baum heißt binär (bzw. Binärbaum), wenn für seine innere Knoten gilt.

Beispiele: Baum / Binärbaum

Page 9

page-09.png

Modellierung durch Schaltkreise (1/2)

Eine Zellenbibliothek enthält Basisoperatoren, die den Grundgattern entsprechen.

Ein 5-Tupel heißt Schaltkreis mit Eingängen und Ausgängen über der Zellenbibliothek BIB genau dann, wenn

  • ist eine endliche Folge von Eingängen.
  • ist ein azyklischer, gerichteter Graph mit .
  • Die Menge heißt Menge der Gatter. Die Abbildung ordnet jedem Gatter einen Zellentyp zu.
  • ...

Page 10

page-10.png

Modellierung durch Schaltkreise (2/2)

...

  • Für jedes Gatter mit gilt .
  • für .
  • Die Abbildung legt für jedes Gatter eine Reihenfolge der eingehenden Kanten fest, d. h. falls , dann ist mit .
  • Die Folge zeichnet Knoten als Ausgänge aus.

Page 11

page-11.png

Schaltkreis für

Page 12

page-12.png

Informale Semantikdefinition ()

Die Boolesche Funktion kann aus dem Schaltkreis hergeleitet werden, indem man für alle Werte aus den Schaltkreis auswertet („simuliert").

Page 13

page-13.png

Formale Semantikdefinition für Schaltkreise (1/2)

Sei ein Schaltkreis über einer Zellenbibliothek BIB.

Sei eine Eingangsbelegung gegeben.

Eine Belegung für alle Knoten ist dann gegeben durch die folgenden Definitionen:

Falls mit , , dann ist

Zwischenbemerkung: Warum ist das wohldefiniert? Weil azyklisch!

Page 14

page-14.png

Formale Semantikdefinition für Schaltkreise (2/2)

ist dann die unter Eingangsbelegung berechnete Ausgangsbelegung des Schaltkreises SK.

Die Berechnung von bei Eingangsbelegung heißt auch Simulation von SK für Belegung .

Die an einem Knoten berechnete Boolesche Funktion ist definiert durch

für ein beliebiges .

Die durch den Schaltkreis berechnete Funktion ist

Page 15

page-15.png

Standardzellen-Bibliothek

Eine Standardzellen-Bibliothek enthält eine Menge von Gattern (Standardzellen).

  • Z.B. AND-Gatter mit 4 Eingängen, 8-Bit-Addierer
  • Für jedes Element der Bibliothek werden Parameter wie Fläche auf dem Chip, Schaltgeschwindigkeit, Leistungsaufnahme des Gatters bzw. der Standardzelle abgespeichert.
  • Es sind oft z. B. mehrere Inverter unterschiedlicher Größe und Geschwindigkeit vorhanden.

Page 16

page-16.png

Kombinatorische Logiksynthese

  • Allgemeine kombinatorische Logiksynthese optimiert mehrere Parameter gleichzeitig.
  • Exakte Verfahren existieren, stoßen aber schon für kleinste Schaltkreise an ihre Grenzen.
  • In der Praxis werden Heuristiken eingesetzt, die auf Ausschnitten eines großen Schaltkreises lokale Optimierungen durchführen.
  • Hier beschränken wir uns auf eine wichtige Unterklasse von kombinatorischen Schaltkreisen: Die zweistufige Logik.
  • Allgemeinere kombinatorische Schaltkreise betrachten wir später bei der Einführung arithmetischer Schaltkreise.