T14-BDDs-und-Formale-Verifikation
BDDs & Formale Verifikation
Zusammenfassung
Vier Slide-Kapitel (k610–k630), 0 Punkte in beiden Klausuren, 0 Übungsaufgaben. ABER: Der ITE-Operator aus k623 ist strukturell analog zum Fredkin-Gate (Klausuraufgabe A4c, 12 Punkte). Wer ITE versteht — if F then G else H — hat das mentale Modell für Fredkin: das Fredkin-Gate ist ein physikalisches ITE. Dies ist der einzige indirekte Pfad von diesem Topic in die Klausur.
Exam-Relevanz
Direkt: LOW — 0 Punkte in beiden Klausuren.
Indirekt: MITTEL — Der ITE-Operator
Lese-Tipp: Mindestens k623-Binaere_Entscheidungsdiagramme_BDDs_ITE-Beispiel_Variablenordnung durchlesen, besonders die Definition
und die Terminalfälle.
Boolesche Ausdrücke (Wiederholung)
Boolesche Ausdrücke
Eindeutige Darstellungen existieren (Funktionstabelle, KDNF), sind aber sperrig:
BDD Definition
Ein Binary Decision Diagram ist ein azyklischer gerichteter Graph
- genau einer Wurzel,
für alle inneren Knoten,- Markierung:
für innere Knoten, für Blätter, - zwei Nachfolger pro innerem Knoten:
und .
Kompositionsregel (Semantik):
Ein BDD enthält dieselbe Information wie eine Funktionstabelle, aber kompakter.
ROBDD
Ein Reduced Ordered BDD (ROBDD) ist ein BDD mit zwei zusätzlichen Eigenschaften:
- Geordnet: Auf jedem Pfad von Wurzel zu Blatt erscheint jede Variable höchstens einmal, und die Variablen stehen in derselben Reihenfolge (Variablenordnung).
- Reduziert:
- Kein Knoten mit
(keine redundanten Knoten). - Keine zwei verschiedenen Knoten mit gleichem Label und identischen Kindern (keine isomorphen Teil-BDDs).
- Kein Knoten mit
Ab der Vorlesung wird "BDD" synonym für "ROBDD" verwendet.
Satz von Bryant (1986)
Satz: ROBDDs sind kanonische Darstellungen Boolescher Funktionen. Für eine fixe Variablenordnung ist das ROBDD einer Funktion eindeutig.
Bedeutung: Zwei Funktionen
Shannon-Zerlegung
Für eine Boolesche Funktion
Dabei sind
Die Shannon-Zerlegung ist die Grundlage der BDD-Konstruktion: jeder innere Knoten berechnet die Zerlegung nach seiner Variablen, die Kinder sind die Kofaktor-BDDs.
Top-Down-Konstruktion: Zerlege
ITE-Operator
Bedeutung: If
Alle binären Operationen sind auf ITE zurückführbar:
| Operation | ITE-Ausdruck |
|---|---|
Rekursive Berechnung auf BDDs
Sei
Terminalfälle:
Effizienz: Mit Computed Table (CT) für bereits berechnete ITE-Aufrufe und Unique Table (UT) für bereits existierende Knoten wird die Komplexität zu
Verbindung zu Fredkin (A4c, 12P)
Das Fredkin-Gate ist ein physikalisches ITE.
Das Fredkin-Gate mit Kontrollbit
Wer die ITE-Definition
Variablenordnung
Die Größe eines BDDs hängt stark von der Variablenordnung ab.
Beispiel:
| Variablenordnung | BDD-Größe |
|---|---|
| exponentiell | |
| linear |
- Finden der optimalen Variablenordnung ist NP-hart.
- Für einige Funktionen (z. B. Multiplizierer) ist die BDD-Größe für jede Variablenordnung exponentiell.
- Praxis: heuristische und exakte Reordering-Verfahren.
Formale Verifikation
Äquivalenz-Check
Vergleich von Spezifikation und Implementierung:
- Erstelle ROBDD für die Spezifikation (z. B. aus Funktionstabelle).
- Erstelle ROBDD für die Implementierung (z. B. aus Schaltkreis via symbolischer Simulation).
- Vergleiche: sind die ROBDDs identisch? → korrekt oder nicht.
Fehlerdiagnose: Falls nicht äquivalent, berechne BDD für
Eigenschafts-Check
Nachweis, dass eine Eigenschaft immer gilt. Beispiel aus der Vorlesung: Bus Contention auf ReTI-Bus
Vorgehen: BDD für die OR-Verknüpfung beider Signale berechnen; muss aus einem einzigen 1-Terminal bestehen.
Symbolische Simulation
Schaltkreis wird Gatter für Gatter durch BDD-Operationen (AND, OR, XOR, NOT → alle via ITE) simuliert. Die BDDs repräsentieren alle möglichen Eingangsbelegungen gleichzeitig.
Quellen
Priorität
LOW für direkte Klausurrelevanz — 0 Punkte in beiden Klausuren.
ABER: k623-Binaere_Entscheidungsdiagramme_BDDs_ITE-Beispiel_Variablenordnung lesen für ITE → Fredkin (A4c, 12P). Die Definition