25.11.2014 Aufrufe

Verifikation reaktiver Systeme - Universität Kaiserslautern

Verifikation reaktiver Systeme - Universität Kaiserslautern

Verifikation reaktiver Systeme - Universität Kaiserslautern

MEHR ANZEIGEN
WENIGER ANZEIGEN

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

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!