Verifikation reaktiver Systeme - Universität Kaiserslautern
Verifikation reaktiver Systeme - Universität Kaiserslautern
Verifikation reaktiver Systeme - Universität Kaiserslautern
Erfolgreiche ePaper selbst erstellen
Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.
139<br />
Formaler Äquivalenzvergleich<br />
Florian Rothländer<br />
Technische Universität <strong>Kaiserslautern</strong><br />
Zusammenfassung: Während property checking (model checking) darauf<br />
abzielt, die Korrektheit einer Spezifikation sicherzustellen, ist es die<br />
Aufgabe des Äquivalenzvergleichs (equivilance checking) die Äquivalenz<br />
einer Implementierung mit der ursprünglichen Spezifikation. Dadurch<br />
werden Fehler erkannt, die während der zahlreichen Entwurfsverfeinerungen<br />
auftreten können. Der Aquivalenzvergleich beruht auf BDD- und<br />
SAT-basierten Verfahren zur Ausnutzung struktureller Ähnlichkeiten.<br />
Die grundlegenden Ansätze des formalen Äquivalenzvergleich sollen in<br />
dieser Arbeit gegenübergestellt werden.<br />
1 Einleitung<br />
In dieser Seminararbeit geht es um die grundlegenden Ansätze zum formalen<br />
Äquivalenzvergleich.<br />
Dabei geht es um den Vergleich von zwei digitalen Schaltungen. Eine dieser<br />
Schaltung ist die von den Entwicklern ursprünglich Spezifizierte (Spezifikation),<br />
die Andere eine davon modifizierte Version (Implementierung). Das Ziel lautet<br />
dann: <strong>Verifikation</strong> der Implementierung, sprich: “Handelt es sich bei der Implementierung<br />
noch um dieselbe spezifierte Funktion?“<br />
Zwei Schaltungen sind dabei gleich, wenn sie auf die gleichen Eingaben mit denselben<br />
Ausgaben reagieren.<br />
Modifizierungen, welche bei der Implementierung auftreten, sind unter anderem<br />
Logikoptimierungen (auf der Gatterebene), sequentielle Optimierungen oder Änderungen<br />
beim Layout durch die Umsetzungen zwischen verschiedenen Beschreibungsebenen<br />
(Synthese) während der Implementierung.<br />
Um nun zu verifizieren, dass die neue Schaltung immer noch genau dasselbe<br />
leistet wie die ursprünglich Spezifizierte, führt man einen Äquivalenzvergleich<br />
durch. Dies ist gerade bei den heutigen komplizierten und immer größer werdenden<br />
Schaltungen sehr wichtig - man denke an Handys oder PCs, um teuere<br />
Rückrufaktionen 1 und Imageverluste zu verhindern. Schließlich kann man im<br />
Gegensatz zu Software kein Update oder Service Pack nachliefern, um das Problem<br />
nachträglich zu beseitigen. Von daher ist auch das Interesse der Industrie<br />
an schnellen und vollständigen Lösungen heutzutage sehr groß.<br />
1 Siehe Intel Pentium 60, Fehler in der Fließkomma-Arithmetik(Division) 1994, Rückrufaktion<br />
kostete Intel 475 Millionen Dollar