Table Of ContentLeitfliden der Informatik
R. Drechsler/B. Becker
Graphenbasierte Funktionsdarstellung
Leitfiiden der Informatik
Herausgegeben von
Prof. Dr. Hans-Jurgen Appelrath, Oldenburg
Prof. Dr. Volker Claus, Stuttgart
Prof. Dr. Dr. h.c. mult. Gunter Hotz, Saarbrucken
Prof. Dr. Lutz Richter, Zurich
Prof. Dr. Wolffried Stucky, Karlsruhe
Prof. Dr. Klaus Waldschmidt, Frankfurt
Die Leitfaden der Informatik behandeln
- Themen aus der Theoretischen, Praktischen und Technischen Informatik
entsprechend dem aktuellen Stand der Wissenschaft in einer systemati
schen und fundierten Darstellung des jeweiligen Gebietes.
- Methoden und Ergebnisse der Informatik, aufgearbeitet und dargestellt
aus Sicht der Anwendungen in einer fOr Anwender verstandlichen, exak
ten und prazisen Form.
Die Bande der Reihe wenden sich zum einen als Grundlage und Erganzung
zu Vorlesungen der Informatik an Studierende und Lehrende in Informa
tik-Studiengangen an Hochschulen, zum anderen an "Praktiker", die sich
einen Uberblick uber die Anwendungen der Informatik( -Methoden) ver
schaffen wollen; sie dienen aber auch in Wirtschaft, Industrie und Verwal
tung tatigen Informatikern und Informatikerinnen zur Fortbildung in pra
xisrelevanten Fragestellungen ihres Faches.
Graphenbasierte
Funktionsdarstellung
Boolesche und
Pseudo-Boolesche Funktionen
Von Dr. phil. nat. Rolf Drechsler
und Prof. Dr. rer. nat. Bernd Becker
Universitat Freiburg
B. G. Teubner Stuttgart 1998
Dr. phil. nat. Rolf Drechsler
Geboren 1969 in Rtisselsheim. Studium der Informatik und Mathematik an der
Johann Wolfgang Goethe-Universitat in Frankfurt am Main (1988 bis 1992), 1995
Promotion. Seit 1996 wiss. Assistent am Institut fUr Informatik der Albert-Ludwigs
Universitat Freiburg.
Prof. Dr. rer. nat. Bernd Becker
Geboren 1954 in Hermeskeil. Studium der Mathematik und Informatik an der Uni
versitat des Saari andes (1973 bis 1979). 1982 Promotion und 1988 Habilitation. Von
1989 bis 1995 Professor (Komplexitatstheorie und Effiziente Algorithmen) an der
Johann Wolfgang Goethe-Universitat in Frankfurt am Main, seit 1995 Professor
(Rechnerarchitektur) an der Albert-Ludwigs-Universitat in Freiburg.
Die Deutsche Bibliothek - CIP-Einheitsaufnahme
Drechsler, Rolf:
Graphenbasierte Funktionsdarstellung : Boolesche und Pseudo
Boolesche Funktionen / von Rolf Drechsler und Bernd Becker. -
Stuttgart: Teubner, 1998
(Leitfiiden der Informatik)
ISBN 978-3-519-02149-0 ISBN 978-3-663-01442-3 (eBook)
DOI 10.1007/978-3-663-01442-3
Das Werk einschlieBlich aller seiner Teile ist urheberrechtlich geschiitzt. Jede Verwertung auBerhalb
der engen Grenzen des U rheberrechtsgesetzes ist ohne Zustimmung des Verlages unzulassig und
strafbar. Das gilt besonders fUr Vervielfaltigungen, Obersetzungen, Mikroverfilmungen und die Ein
speicherung und Verarbeitung in elektronischen Systemen.
© B. G. Teubner Stuttgart 1998
Gesamtherstellung: Zechnersche Buchdruckerei GmbH, Speyer
Einband: Peter Pfitz, Stuttgart
Fur
M onika) Michael) Marvin und Miklas
und
Usch) Bastian) Ruben und Johanna
Ach Gott! die Kunst ist lang;
Und kurz ist unser Leben.
Mir wird, bei meinem kritischen Bestreben,
Doch oft urn Kopf und Busen bang.
Wie schwer sind nicht die Mittel zu erwerben,
Durch die man zu den Quellen steigt!
Und eh man nur den halben Weg erreicht,
MuB wohl ein armer Teufel sterben.
Johann Wolfgang von Goethe, Faust I, 1808
Vorwort
Kompakte Darstellung und effiziente Manipulation Boolescher Funktionen sind
in vie len Bereichen, insbesondere des computergestutzten Schaltkreisentwurfes,
zentrale Aufgaben. 1m Hinblick auf Anwendungen ist es dabei von groBem Inter
esse, einen guten KompromiB zwischen den oben angesprochenen, sich "wider
sprechenden" Zielen, Kompaktheit und EjJizienz, zu finden.
Besonderer Beliebtheit erfreuen sich in dies em Zusammenhang die von Bryant
1986 eingefUhrten Ordered Binary Decision Diagrams (OBDDs): Sie werden ins
besondere in den Bereichen Verijikation und Logiksynthese auch industriell er
folgreich eingesetzt.
Mit wachsender Zahl von Anwendungen sind auch inharente Nachteile sichtbar
geworden und haben vor all em in den letzten drei Jahren zu Weiterentwicklungen
des Basiskonzeptes gefUhrt. Dabei hat sich eine ganze Familie von graphenba
sierten Funktionsdarstellungen entwickelt, dieje nach Anwendungsgebiet Vorteile
gegenuber den klassischen OBDDs bieten.
In dies em Buch wird eine Klassifizierung der verschiedenen Ansatze sowohl aus
theoretischer wie auch praktischer Sicht gegeben. Es werden diverse Datenstruk
turen fUr Boolesche (und Pseudo-Boolesche) Funktionen vorgestellt und deren
Vor- und Nachteile untersucht. Das Buch wendet sich sowohl an den Einsteiger
als einfuhrende Darstellung als auch an den erfahrenen Benutzer. Es werden ver
schiedene Anwendungen diskutiert, die dem Leser ein tieferes Verstandnis der
Materie ermoglichen.
Grundlage des Buches ist sowohl die Dissertationsschrift des Erstautors als auch
Materialien zu der Vorlesung "Datenstrukturen und effiziente Algorithmen" , die
8
der Zweitautor an der Johann Wolfgang Goethe-Universitat in Frankfurt am
Main uber mehrere Jahre hinweg hielt.
In diesem Zusammenhang sei unserem Fachkollegen Prof. Hans Eveking gedankt,
der sich als Zweitgutachter zu obiger Dissertation zur Verfugung stellte.
Weiterhin haben viele Diskussionen mit den Forschungsgruppen von Prof. Chri
stoph Meinel, Prof. Paul Molitor und Prof. Ingo Wegener wesentlich zur Gestal
tung des Buches beigetragen.
Wir mochten all denen danken, die in den vergangenen Jahren intensiv durch Zu
sammenarbeiten zu diesem Buch beigetragen haben: Stefan Eckrich, Reinhard
Enders, Dr. Ralf Hahn, Thilo Harich, Dr. Joachim Hartmann, Harry Hengster,
Andreas Hett, Stefan Horeth, Andrea Jahnke, Martin Keirn, Dr. Rolf Krieger, Mi
chael Martin, Dirk Moller, Konrad Novak, Prof. Marek Perkowski, Tonja Pfeiffer,
Stefan Ruppertz, Andisheh Sarabi, Horst Schafer, Michael Theobald, Dr. Ralph
Werchner. Ohne ihre Hilfe ware die oftmals aufwendige Entwicklung und Um
setzung der im folgenden beschriebenen Konzepte nicht in dieser Form moglich
gewesen.
Unser besonderer Dank gilt den Korrekturlesern Dr. Ursula Becker, Nicole
Gockel, Wolfgang Gunther und Dr. Christoph Scholl fur die sorgfaltige Durch
sicht des Buches und zahlreiche konstruktive Verbesserungsvorschlage.
AbschlieBend danken wir dem Teubner Verlag, insbesondere Dr. Peter Spuhler,
fur die reibungslose Zusammenarbeit und Prof. Gunter Hotz fUr vertrauensvolle
Unterstutzung, nicht nUl" bei der Herausgabe des vorliegenden Buches.
Freiburg im Breisgau, im November 1997 Rolf Drechsler
Bernd Becker
Inhaltsverzeichnis
1 Einleitung 13
2 Decision Diagrams 19
2.1 Einleitung 19
2.2 Boolesche Funktionen, Pseudo-Boolesche Funktionen 19
2.3 Grundlagen 24
2.4 Restriktionen 27
2.5 Reduktion 28
2.6 Aufgaben 34
3 Bit-level Decision Diagrams 37
3.1 Einleitung .. 37
3.2 Allgemeine Bemerkungen . 37
3.3 Binary Decision Diagrams 38
3.4 Functional Decision Diagrams 42
3.5 Kronecker Functional Decision Diagrams 43
3.6 Komplementierte Kanten . 44
3.7 Aufgaben 50
4 Word-level Decision Diagrams 51
4.1 Einleitung 51
4.2 Kantengewichte 52
10 INHALTSVERZEICHNIS
4.3 Multi-Terminal Binary Decision Diagrams 53
4.4 Edge-Valued Binary Decision Diagrams . 54
4.5 Multiplicative Binary Moment Diagrams 54
4.6 Kronecker Multiplicative Binary Moment Diagrams 55
4.7 Aufgaben ................. . 57
5 Darstellungsgro6e von Decision Diagrams 59
5.1 Einleitung ......... . 59
5.2 Bit-level Decision Diagrams 60
5.2.1 Wieviele bit-level DD-Typen gibt es? 60
5.2.2 Allgemeine T-Funktion . . . 65
5.2.3 Exponentielle Unterschiede . 70
5.2.4 Untere Schranken fur die GroBe von OBDDs und OpFDDs 79
5.3 Word-level Decision Diagrams 91
5.3.1 Einfache Uberlegungen 91
5.3.2 Kantengewichte. 92
5.3.3 Zerlegungstypen. 92
5.4 Uberblick 94
5.5 Aufgaben 96
6 Algorithmen fUr Decision Diagrams 99
6.1 Einleitung .......... . 99
6.2 Auswertung und Erfiillbarkeit 100
6.3 Syntheseoperationen 102
6.3.1 OBDDs ... 102
6.3.2 OFDDs und OKFDDs 108
6.3.3 Word-level DDs 115
6.4 Minimieren von DDs 115
6.4.1 Vertauschen von Variablen . 115
INHALTSVERZEICHNIS 11
6.4.2 Exaktes Minimieren 119
6.4.3 Heuristisches Minimieren . 121
6.5 Aufgaben ... 128
7 Implementierung 131
7.1 Einleitung ........ . 131
7.2 Ein einfaches BDD-Paket . 131
7.3 Speicherverwaltung 143
7.4 Verfiigbare Pakete . 144
7.5 Aufgaben ..... 144
8 Experimentelle Ergebnisse 147
8.1 Einleitung ........ . 147
8.2 Bit-level Decision Diagrams 147
8.2.1 Exakte Minimierung 147
8.2.2 Heuristische Methoden 148
8.3 Word-level Decision Diagrams 154
8.4 Aufgaben ........... 159
9 Ausblick und weitere Anwendungen 161
9.1 Einleitung.. 161
9.2 Logiksynthese 161
9.2.1 Minimierung zweistufiger Schaltungen . 161
9.2.2 Synthese von mehrstufigen (testbaren) Schaltungen 164
9.3 Testen ........................ . 166
9.3.1 Testmustergenerierung und Fehlersimulation 166
9.3.2 Initialisierung endlicher Automaten 167
9.3.3 Built-in-Self-Test 167
9.4 Verifikation . . . . . . . 168
9.4.1 Verifikation kombinatorischer Schaltkreise 168