Formale Verifikation

  • Formale Verifikation
  • Simulation und formale Verifikation
  • Werkzeuge der formalen Verifikation
  • Equivalence-Checking: Problemstellung
  • Erfüllbarkeitsproblem(Satisfiability,SAT)
  • SAT1-Problem
  • SAT-Equivalence-Checker
  • Graphenisomorphie
  • Binary Decision Diagrams (BDDs)
  • Binärer Entscheidungsbaum: Beispiel
  • Zusammenfassen identischer Teilbäume
  • Entfernen überflüssiger Knoten
  • Abhängigkeit der Knotenanzahl von der Entwicklungsreihenfolge
  • Vorteile der BDDs
  • Beispiel:ALU(SN74181)
  • Model-Checking
  • Symbolic Model Checking
  • Zustandsmengen
  • Temporale Logik
  • Elemente von CTL
  • CTL-Syntax
  • AX und EX
  • AF and EF
  • AG und EG
  • Beispiel: Modulo-3-Zähler
Startseite
SAT-Equivalence-Checker Es wird ein EXOR-Gatter genommen und nachgewiesen, dass f = 1 nicht erfüllbar ist, d.h. zu einem Widerspruch führt. f = f1f2 + f1f2 = 1 ! Beispiel : & 1 1 ≥ 1 ab f1 = ab f2 = a + b strukturell : =1 ! a b (a + b) + a b (a + b) = 1 symbolisch : ! (a + b) (a b) + a b (a +b) = 1 ! aab +bab + aba+abb = 1 0 ≠ 1               1 1 0 0 0 1 1 1 0 1 0 1 0 1    

Im obigen Beispiel soll die Übereinstimmung der booleschen Funktionen f1 und f2 geprüft werden. Wie die Rechnung zeigt, kann es nicht gelingen, für a,b eine Wertebelegung zu finden, für die sich f=1 ergibt, da der Ausdruck f1f2+f1f2 stets 0 ist. Das kann mit einem normalen SAT-1 Löser gemacht werden.

In den entsprechenden Verifikationswerkzeugen findet der Widerspruchsbeweis auch auf andere Weise statt. Grundsätzlich geeignet sind SAT-Löser, BDD-basierte Löser und auch der D-Algorithmus, der im Abschnitt Test erläutert wird. Hier werden Signale vom Ausgang zu den Eingängen propagiert, bis sich entweder eine gültige Eingangsbelegung oder ein Widerspruch ergibt.