Skip to main content

1991 | Buch

Verifikation digitaler Systeme

Eine Einführung in den Entwurf korrekter digitaler Systeme

verfasst von: Dr.-Ing. habil Hans Eveking

Verlag: Vieweg+Teubner Verlag

Buchreihe : Leitfäden und Monographien der Informatik

insite
SUCHEN

Inhaltsverzeichnis

Frontmatter

Einleitung

Einleitung
Zusammenfassung
Die heute entwickelten VLSI-Bausteine und die aus ihnen aufgebauten digitalen Systeme zählen zu den komplexesten Gebilden, die technisch überhaupt je realisiert wurden. Sie sind aus sehr vielen (hunderttausenden) Teilen aufgebaut. Ihr Entwurf steht wegen der hohen Folgekosten von Entwurfsfehlern zugleich unter dem Zwang, daß er fehlerfrei sein muß; ein Versuchsaufbau von VLSI-Bausteinen ist ausgeschlossen.
Hans Eveking

Grundlagen

Frontmatter
Kapitel 1. Entwurfskorrektheit
Zusammenfassung
Mit der zunehmenden Nutzung integrierter Bausteine auch bei sicherheitskritischen Anwendungen ist die Forderung, daß diese Bausteine und die aus ihnen aufgebauten Hardwaresysteme ohne Entwurfsfehler seien, immer dringender geworden; schließlich steuern integrierte Bausteine Flugzeuge, werden in Banken und auf Intensivstationen eingesetzt, usf.
Hans Eveking
Kapitel 2. Begriff der Abstraktionsebene
Zusammenfassung
Ein mathematisches Modell eines physikalischen Hardwaresystems besteht aus einer Reihe mathematischer Objekte, z.B. aus Zahlen, Funktionen, Relationen usw. Die Eigenschaften des mathematischen Modells stehen stellvertretend für die des physikalischen Systems (Abb. 2.1).
Hans Eveking
Kapitel 3. Modellierung von Verhalten
Zusammenfassung
Ein sehr allgemeines Modellierungskonzept des Verhaltens eines physikalischen Systems ist durch die Vorstellung gegeben, daß an ihm Beobachtungen oder Messungen in Abhängigkeit von der Zeit vorgenommen und durch ein geeignetes mathematisches Modell dargestellt werden. Messungen in Abhängigkeit von der Zeit werden durch Zeitfunktionen repräsentiert. Die Abb. 3.1 zeigt das Beispiel eines Kondensators. u(t) und i(t) sind Zeitfunktionen und stellen die in Abhängigkeit von der Zeit meßbare Spannung bzw. den Strom dar. Der Zusammenhang zwischen Strom und Spannung ist durch eine Differentialgleichung, d.h. eine Formel der Analysis festgelegt.
Hans Eveking
Kapitel 4. Sprachen der Prädikatenlogik
Zusammenfassung
Die wesentlichen Eigenschaften der Verhaltensmodelle in den beiden Beispielen von Abb. 3.1 und 3.2 wurden in textlicher Form durch Formeln repräsentiert, nämlich durch eine Formel der Analysis beim Kondensator und durch Formeln der Prädikatenlogik beim bedingten Transfer (Abb. 4.1).
Hans Eveking
Kapitel 5. Formale Systeme der Prädikatenlogik
Zusammenfassung
Werden die wesentlichen Eigenschaften eines Verhaltensmodells M durch eine Reihe von Formeln der Prädikatenlogik A1, ..., A n in textlicher Form charakterisiert, dann erlauben es die Schlußregeln der Prädikatenlogik, durch rein syntaktische Transformationen weitere, ebenfalls in M gültige Formeln abzuleiten. Dies wird mit dem Symbol “⊢” bezeichnet (Abb. 5.1).
Hans Eveking

Elementare Verifikationstechniken für Hardwarebeschreibungen

Frontmatter
Kapitel 6. Hardwarebeschreibungen
Zusammenfassung
Die Axiomatisierung von Programmierspachen [Hoa69, Dij76, Gri81] ist eine Methode, die Bedeutung von Programmen dadurch zu erklären, daß Anweisungen eines Programms in einer Programmiersprache in Formeln der Prädikatenlogik transformiert werden; die Schlußregeln der Prädikatenlogik erlauben dann das formale Argumentieren über Programme. Prinzipiell bedeutet daher die Axiomatisierung die Transformation eines Textes in einer formalen Sprache in eine formale Sprache der Prädikatenlogik; die entstehenden Formeln werden als Axiome in eine Theorie der Prädikatenlogik (Abschnitt 5.5) aufgenommen.
Hans Eveking
Kapitel 7. Logikverifikation
Zusammenfassung
Als eine besonders einfache Hardwarebeschreibungssprache soll im folgenden die Sprache der booleschen Terme betrachtet werden, die in vielen HWBS als Untersprache enthalten ist. Ihre Aufgabe ist die Repräsentation boolescher Funktionen, mit denen das logische Verhalten von Verknüpfungsnetzen modelliert werden kann. Zeitliches Verhalten wird nicht berücksichtigt.
Hans Eveking
Kapitel 8. Statische Beschreibungen
Zusammenfassung
Nach Abschnitt 3.3 bedeutet statisches Verhalten eines Systems, daß die Ausgänge des Systems zu einem Zeitpunkt t eindeutig durch die Eingänge ebenfalls zum Zeitpunkt t bestimmt sind. Im Beispiel der Abb. 8.1 sind etwa a(t) und b(t) die Werte an den Eingängen eines Und-Gatters, die den Ausgangswert x(t) eindeutig festlegen.
Hans Eveking
Kapitel 9. Transitionale Beschreibungen
Zusammenfassung
Bei einem System mit transitionalem Verhalten ist der Ausgang zu einem Zeitpunkt t eindeutig durch den Eingang und den Ausgang zum vorherigen Zeitpunkt t-1 bestimmt (Abschnitt 3.3). Ein Beispiel für derartiges Verhalten sind die Zustandstabellen endlicher Automaten.
Hans Eveking
Kapitel 10. Kombiniert statisch/transitionale Beschreibungen
Zusammenfassung
Mit den im vorigen Kapitel eingeführten ert-Beschreibungen können Zustandsänderungen unter zeitlich sich wechselseitig ausschließenden Bedingungen spezifiziert werden. Sie entsprechen den Darstellungen des Verhaltens endlicher Automaten durch Zustandsdiagramme.
Hans Eveking
Kapitel 11. Beschreibungen mit Vielfach-Verzögerungen
Zusammenfassung
In den vorangegangenen Kapiteln wurden Konstrukte der HWBS SMAX zur Modellierung von Verhalten betrachtet, das nach der Klassifikation von Abschnitt 3.3 statisch oder transitional war. Die Kenntnis des gegenwärtigen bzw. vorherigen Zustands reichte bereits aus, um den Ausgang eines Systems eindeutig zu bestimmen.
Hans Eveking
Kapitel 12. Switch-Level Beschreibungen
Zusammenfassung
Das Grundelement von Switch-Level Beschreibungen ([Bry84, Hay82] ist der MOS-Transistor als bidirektionaler Schalter mit drei Anschlüssen, Gate, Source und Drain genannt. Ein einfaches zweiwertiges Modell eines NMOS-Transistors ist dadurch gegeben, daß der Wert H an Gate bewirkt, daß Source und Drain denselben Wert annehmen (Abb. 12.1). Man beachte, daß das Verhalten eines MOS-Transistors durch die Angabe einer Gleichheit, d.h. durch ein Prädikat definiert wird, im Gegensatz zur Modellierung etwa eines Gatters durch eine boolesche Funktion.
Hans Eveking
Kapitel 13. Strukturbeschreibungen
Zusammenfassung
In den vorigen Kapiteln wurde an einigen Beispielen das Konzept der Axiomatisierung von Aktivitätsaufrufen diskutiert. Aufgabe von Aktivitätsaufrufen ist es, die Zeitfunktionen der privaten Träger (Definition 6.3) einer Beschreibung zu definieren.
Hans Eveking

Entwurfsmethodik

Frontmatter
Kapitel 14. Strukturierte Entwurfsmethoden
Zusammenfassung
In den vorangegangenen Kapiteln wurde die Aufgabe gelöst, die Modellvorstellungen einer Reihe von Abstraktionsebenen zu definieren und einer formalen Argumentation zugänglich zu machen. Dabei wurde auch die Schwerfälligkeit formaler Argumentationsweisen deutlich. Da nicht erwartet werden kann, ein komplexes System in einem Schritt verifizieren zu können, muß geklärt werden, wie die Entwurfsaufgabe, ein System zu verifizieren, in eine Reihe kleiner, beherrschbarer Verifikationsschritte unterteilt werden kann.
Hans Eveking
Kapitel 15. Erweiterungen von Beschreibungen
Zusammenfassung
In den folgenden Kapiteln werden Situationen betrachtet, in denen als Spezifikation und Implementierung (s. Abb. 1.1) zwei Hardwarebeschreibungen benutzt werden (Abb. 15.1). Eine derartige Technik wird Hardware-Spezifikationstechnik genannt [Eve85a].
Hans Eveking
Kapitel 16. Interpretierbare Beschreibungen
Zusammenfassung
Der im vorigen Kapitel behandelte Fall der Erweiterung ist für eine Hardware-Spezifikationstechnik (s. Abb. 16.1) insofern einfach, als die grundlegenden Modellvorstellungen und damit die Konzepte der Zeit und der Werte übereinstimmen.
Hans Eveking
Kapitel 17. Zeitliche Abstraktion
Zusammenfassung
Im folgenden soll am Beispiel der Implementierung des transitionalen Verhaltens eines bedingten Transfers durch eine Beschreibung mit Vielfachverzögerungen (s. Abb. 17.1) das Problem der zeitlichen Abstraktion (Abschnitt 16.2) erneut diskutiert werden. Die Beschreibung mit Vielfachverzögerungen enthält ein vorderflankengesteuertes D-Flipflop (Abschnitt 11.8) sowie ein NAND-Gatter zur Verknüpfung der Transferbedingung a mit dem Takt clock. Die Abb. 17.1 gibt ein Beispiel für das Verhalten der Schaltung, wobei für die Verzögerungszeiten des Flipflops und des NAND-Gatters 3 bzw. 2 Zeiteinheiten angenommen werden.
Hans Eveking
Kapitel 18. Äquivalenz von Beschreibungen
Zusammenfassung
Der Begriff der Erweiterung einer Beschreibung aus Kap. 15 kann sehr einfach dazu benutzt werden, um die Trägeräquivalenz von Beschreibungen zu definieren.
Hans Eveking
Kapitel 19. Verifikation von Teilen
Zusammenfassung
Die simulationsgestützte Verifikation eines Teils eines komplexen Systems ist eine sehr schwierige Aufgabe; ein System wird meist als Ganzes simuliert. Der Grund hierfür ist die problematische Entwicklung der Simulationsstimuli für einen aus einem Gesamtsystem herausgelösten Teil; die Stimuli stehen dann nämlich stellvertretend für das Verhalten des restlichen Systems und es ist unklar, inwieweit tatsächliches und durch die Simulationsstimuli unterstelltes Verhalten übereinstimmen. Versuche, nur Teile eines Systems zu simulieren, sind regelmäßig fehlgeschlagen; der Zwang, Systeme als Ganzes simulieren zu müssen, hat zur Entwicklung immer leistungsfähigerer Simulatoren bis hin zur Unterstützung durch spezielle Hardware geführt.
Hans Eveking
Kapitel 20. Horizontale Verifikation
Zusammenfassung
In den Kapiteln 16 und 17 wurde gezeigt, daß die korrekte Implementierung der Funktion einer Beschreibung oft davon abhängt, daß die Umgebung der Beschreibung eine Reihe von Schnittstellenbedingungen (Definition 13.2) einhält. Ein bekanntes Beispiel hierfür sind die Setup- und Haltezeit-Bedingungen von Flipflopbausteinen. Die gewünschte Funktion dieser Bausteine, nämlich die sichere Speicherung in Abhängigkeit von einem Taktsignal, ist nur dann garantiert, wenn Daten- und Takt-Eingangssignale die erwähnten Bedingungen einhalten. Andernfalls kann unerwünschtes Verhalten, etwa metastabile Zustände auftreten. Das Beispiel zeigt, daß Schnittstellenbedingungen relativ zu einer gewünschten Funktion verstanden werden müssen — das Gatternetz beispielsweise, das das Flipflopverhalten realisieren soll, reagiert ja auch irgendwie, wenn die Setup- und Haltezeit-Bedingungen nicht eingehalten werden.
Hans Eveking
Kapitel 21. Timing-Verifikation
Zusammenfassung
Die Grundaufgabe der Timing-Verifikation läßt sich wie folgt formulieren: Gegeben seien die internen Zeitbedingungen eines Systems, d.h. die Zeitbedingungen der Teile eines Systems. Wie lauten die externen Zeitbedingungen an der Schnittstelle des Systems, die eingehalten werden müssen, um die internen Zeitbedingungen zu erfüllen?
Hans Eveking
Kapitel 22. Struktur von Verifikations-Werkzeugen
Zusammenfassung
Im letzten Kapitel soll kurz auf die prinzipielle Struktur von Verifikations-Werkzeugen eingegangen werden. Das bei der Entwicklung eines derartigen Werkzeuges zu berücksichtigende Wissen kann nach Abb. 22.1 drei verschiedenen Kategorien zugeordnet werden:
  • auf der Daten-Ebene werden die wesentlichen Eigenschaften der zu verifizerenden Hardware repräsentiert;
  • die Wissensbasis-Ebene enthalt das grundsätzliche Wissen über die Eigenschaften der Modellvorstellungen, z.B. die Axiome der booleschen Algebra, sowie zusätzliche “nützliche” Hilfssätze, z.B. die Äquivalenzen der Abb. 11.6;
  • schließlich die Kontroll-Ebene, die ein Wissen darüber enthält, wann welche Axiome und Hilfssätze anzuwenden sind.
Hans Eveking
Backmatter
Metadaten
Titel
Verifikation digitaler Systeme
verfasst von
Dr.-Ing. habil Hans Eveking
Copyright-Jahr
1991
Verlag
Vieweg+Teubner Verlag
Electronic ISBN
978-3-322-94684-3
Print ISBN
978-3-519-02249-7
DOI
https://doi.org/10.1007/978-3-322-94684-3