Verifikation reaktiver Systeme - Universität Kaiserslautern
Verifikation reaktiver Systeme - Universität Kaiserslautern
Verifikation reaktiver Systeme - Universität Kaiserslautern
Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.
YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.
106<br />
und Loveland mit BCP (siehe Abschnitt 4.3) umgangen.<br />
A = {(x 1 , 0), (x 2 , 1)} (2)<br />
ϕ = ω 1 · ...· ω n (3)<br />
ω i =(x 1 + ¬x 2 + x k ) (4)<br />
ω j =(x 1 + ¬x 2 + ¬x k ) (5)<br />
Das Davis-Logemann-Loveland-Verfahren kann schlimmstenfalls exponentiell<br />
viel Zeit benötigen. Durch zahlreiche Varianten ist es die Basis für viele moderne<br />
SAT-Solver geworden.<br />
Funktionale Repräsentation Die funktionale<br />
Repräsentation in Form von gerichteten azyklischen<br />
Graphen (directed acyclic graphs, DAG) wurde von<br />
Bryant [8] eingeführt. Die Schwierigkeit bei dieser<br />
Repräsentation ist der Aufbau des Graphen, da die<br />
Größe des Graphen abhängig von der Konstruktionsreihenfolge<br />
ist.<br />
Ein Beispiel für einen DAG ist in Abbildung 4<br />
dargestellt. Die repräsentierte Gleichung ist ϕ =<br />
(x 1 +x 3 )·(x 2 +x 3 ). Gesucht ist ein Pfad vom Startknoten<br />
(im Beispiel x 1 ) zum Wahrheitswert 1. An<br />
jedem Knoten wird entschieden, ob die entsprechende<br />
Variable mit 0 oder 1 belegt wird.<br />
Eine SAT-Gleichung ist erfüllbar, wenn es einen<br />
Pfad vom Startknoten (im Beispiel x 1 ) zum Wahrheitswert<br />
1 gibt.<br />
x 1<br />
1<br />
0<br />
x 2<br />
x 3 0<br />
1<br />
0 1<br />
0 1<br />
Abb. 4. Beispiel für einen<br />
gerichteten, azyklischen<br />
Graphen.<br />
3 ATPG – Automatic Test Pattern Generation<br />
Automatic Test Pattern Generation (ATPG) beschäftigt sich mit der Erstellung<br />
von Testfällen zum Validieren von digitalen Schaltungen. Dabei werden Eingangsbelegungen<br />
gesucht, die auf Herstellungsfehler im Inneren der Schaltung<br />
schließen lassen. Die Eingangsbelegungen ”<br />
provozieren” einen Fehler, wodurch<br />
eine andere Ausgangsbelegung zu erzeugt wird, als sie eine fehlerfreie Schaltung<br />
erzeugen würde.<br />
Eine Einführung zu dem Thema findet sich in [9].<br />
3.1 Boolesches Netzwerk & Gatter<br />
Zur Simulation wird die Schaltung in einen Graphen, ein boolesches Netzwerk,<br />
überführt. Dabei repräsentieren die Knoten einfache Gatter, die gerichteten Kanten<br />
die Verbindungen zwischen den Gatternsignalen. Die Gatter implementieren<br />
einfache logische Operationen (AND, OR, . . . ) und können somit auch als SAT-