1. Trang chủ
  2. » Công Nghệ Thông Tin

Digitale Hardware/ Software-Systeme- P10 ppt

30 334 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 30
Dung lượng 332,18 KB

Nội dung

6.1 ¨ Aquivalenzpr ¨ ufung kombinatorischer und sequentieller Schaltungen 263 w ¨ ahrend der symbolischen Simulation die Erreichbarkeitsmenge S R [t] f ¨ ur die in Zeit- schritt t erreichbaren Zust ¨ ande berechnet. Man beachte den Unterschied der beiden Definitionen von Erreichbarkeitsmengen: W ¨ ahrend bei den Verfahren zur Pr ¨ ufung von Automaten ¨ aquivalenz aus Kapitel 4.3 alle w ¨ ahrend t Zeitschritten erreichba- ren Zust ¨ ande berechnet werden (S R [t] := S R [t − 1] ∪SUCC(S R [t − 1])), wird bei der symbolischen Simulation der Miter-Schaltung lediglich die Menge an Zust ¨ anden bestimmt, in der die Schaltwerke nach genau t Zeitschritten sein k ¨ onnen (S R [t] := SUCC(S R [t − 1])). SUCC(S) ist dabei jeweils die Menge der aus der Menge S von Zust ¨ anden in genau einem Schritt erreichbaren Zust ¨ anden. Um den Fixpunkt bei der symbolischen Simulation erkennen zu k ¨ onnen, muss somit vor der Simulation eines neuen Zeitschritts die Menge aller bisher erreichten Zust ¨ ande bestimmt und mit der vorherigen verglichen werden. 6.1.4 Strukturelle ¨ Aquivalenzpr ¨ ufung auf der Logikebene Die implizite kombinatorische ¨ Aquivalenzpr ¨ ufung auf der Logikebene mit ROBDDs oder ROKFDDs kann aufgrund des hohen Speicherbedarfs oftmals nicht f ¨ ur große kombinatorische Schaltungen durchgef ¨ uhrt werden. Auf der anderen Seite ist die formale explizite kombinatorische ¨ Aquivalenzpr ¨ ufung f ¨ ur große Systeme aufgrund der großen Laufzeit auch nicht anwendbar. Zusammenfassend kann man sagen, dass sich die formalen Methoden lediglich auf kleine bis mittlere Probleminstanzen anwenden lassen. Um diese Verfahren auch f ¨ ur gr ¨ oßere Systeme zu verwenden, besteht die M ¨ oglichkeit, diese mit strukturellen Verfahren zu kombinieren. Im Folgenden werden zun ¨ achst wieder nur Schaltnetze, also Systeme ohne Speicher betrachtet. Anschließend wird ein strukturelles Verfah- ren f ¨ ur Schaltwerke vorgestellt. Strukturelle ¨ Aquivalenzpr ¨ ufung auf Basis von Schaltungspartitionierung F ¨ ur eine explizite strukturelle ¨ Aquivalenzpr ¨ ufung ist der Ausgangspunkt die Miter- Schaltung zweier kombinatorischer Schaltkreise. Beginnend von den Eing ¨ angen, werden in beiden Schaltungen ¨ aquivalente (interne) Signale gesucht. Dies kann durch explizite oder implizite Verfahren erfolgen. Sind ¨ aquivalente Signale gefunden wor- den, kann das Signal der einen Schaltung durch das Signal der anderen Schaltung substituiert werden (vgl. auch Kapitel 4.4). Anschließend werden weitere ¨ aquivalen- te Signale gesucht und substituiert, bis die Erf ¨ ullbarkeit des Ausgangs der Miter- Schaltung gezeigt oder widerlegt ist. Alternativ kann die Schaltung entlang eines Schnittes partitioniert werden. Zu- n ¨ achst muss dann die ¨ Aquivalenz der Signale an den Schnittpunkten gezeigt werden. Anschließend werden die Schnittpunkte als weitere prim ¨ are Schaltungseing ¨ ange be- trachtet und die Erf ¨ ullbarkeit des Miter-Ausgang ¨ uberpr ¨ uft. Beispiel 6.1.13. F ¨ ur die beiden kombinatorischen Schaltungen aus Abb. 6.3 auf Sei- te 238 wurde bereits in Beispiel 6.1.2 mittels ROBDDs deren ¨ Aquivalenz bewiesen. Die Verwendung der strukturellen ¨ Aquivalenzpr ¨ ufung auf Basis von Partitionierung 264 6 Hardware-Verifikation wird nun an diesem Beispiel gezeigt. Abbildung 6.19 zeigt die Miter-Schaltung der beiden kombinatorischen Schaltungen, sowie einen Schnitt durch beide Systeme. Der Schnitt basiert auf der Annahme, dass z 5 ≡ z  5 , z 6 ≡ z  6 und z 7 ≡ z  7 . & & ≥ 1 & & ≥ 1 & & ≥ 1 ≥ 1 & ≥ 1 & ≥ 1 & 1 & = 1 & y 1 y x 1 x 2 x 3 x 4 x 5 x 6 x 7 z 1 z 2 z 3 z 4 z 6 z 8 z 5 Schnitt z  5 z  6 z  8 z  7 z  3 z  4 z  2 z  1 y  1 z 7 Abb. 6.19. Strukturelle ¨ Aquivalenzpr ¨ ufung der beiden Schaltungen aus Abb. 6.3 Durch Betrachtung der Teilschaltungen vor den Schnittpunkten ergibt sich, dass in der Tat die oben genannten ¨ Aquivalenzen gelten. Entsprechend dem Partitionie- rungsansatz muss deshalb im folgenden Schritt gezeigt werden, dass die beiden Teil- schaltungen hinter den Schnittpunkten ¨ aquivalent sind bzw. der Ausgang y der Miter- Schaltung nicht erf ¨ ullbar ist. Gelingt dies, so ist bewiesen, dass die beiden Schaltun- gen ¨ aquivalent sind. Hierf ¨ ur werden zun ¨ achst f ¨ ur beide Teilschaltungen ROBDDs mit der selben Variablenordnung x 5 < x 6 < z 1 < z 2 < x 2 < z 3 entwickelt. Die ROBDDs sind in Abb. 6.20b) und c) zu sehen. Man erkennt, dass die ROBDDs f ¨ ur y 1 und y 2 nicht iso- morph sind und somit die beiden Teilschaltungen (dargestellt in Abb. 6.20a)) nicht ¨ aquivalent sind. Dies kann zus ¨ atzlich am ROBDD f ¨ ur den Miter-Ausgang y, darge- stellt in Abb. 6.20d), gesehen werden. Dieses m ¨ usste bei ¨ Aquivalenz den konstanten Wert F repr ¨ asentieren, damit der Ausgang nie erf ¨ ullbar ist. 6.1 ¨ Aquivalenzpr ¨ ufung kombinatorischer und sequentieller Schaltungen 265 & ≥ 1 & ≥ 1 & 1 = 1 T x 6 FT y 1 y y  1 x 5 x 6 z 7 z 6 x 2 z 5 a) b) y 1 :d)y: F z 5 z 6 x 2 z 7 x 5 z 5 z 6 x 2 z 7 x 5 x 6 TF x 6 z 5 z 6 x 2 z 7 c) y 2 : Abb. 6.20. ROBDDs f ¨ ur die Signale b) y 1 c) y 2 und d) y der Miter-Schaltung aus a) Obwohl also die beiden kombinatorischen Schaltungen aus Abb. 6.3 ¨ aquivalent sind, kann dies nicht direkt durch eine strukturelle ¨ Aquivalenzpr ¨ ufung auf Basis von Schaltungspartitionierung gezeigt werden. Das ROBDD f ¨ ur den Miter-Ausgang y der Teilschaltungen aus Abb. 6.20a) liefert eine Belegung, die den Ausgang erf ¨ ullt. Diese Belegung kann aus dem ROBDD als Pfad zum Terminalknoten T ausgelesen werden, d. h. x 5 = z 5 = x 2 = z 7 := F und x 6 = z 6 := T. Allerdings muss, wie in Kapitel 4.4, noch ¨ uberpr ¨ uft werden, ob diese Belegung im Gesamtsystem ¨ uberhaupt auftreten kann. Da bereits bekannt ist, dass die beiden Schaltungen ¨ aquivalent sind, muss das Ergebnis dieser ¨ Uberpr ¨ ufung sein, dass diese Belegung nicht erreicht werden kann. Beispiel 6.1.14. Entsprechend dem einzigen Pfad zu dem Terminalknoten mit dem Wert T in Abb. 6.20d) werden die Eing ¨ ange x 2 und x 5 mit dem Wert F und der Ein- gang x 6 mit dem Wert T belegt. Die internen Signale z 5 , z 6 und z 7 werden ebenfalls entsprechend dem Pfad belegt. Die Werte f ¨ ur die internen Signale, die sich aus den Eingabewerten ergeben, sind in Abb. 6.21 zu sehen. Durch diese Belegung ergibt sich f ¨ ur die Signale z 1 und z 3 der Wert F. Hierdurch ergibt sich auch der Wert F f ¨ ur das Signal z 4 .Mitz 3 = z 4 = F ergibt sich z 6 = z 3 ∨z 4 = F. Dies steht aber in Konflikt zu dem zugewiesenen Wert z 6 := T. Aus diesem Konflikt kann man schließen, dass die Variablenbelegung, welche die Miter-Schaltung in Abb. 6.20a) erf ¨ ullt, im unpartitionierten System nicht erreichbar ist. Dies bedeutet, dass es sich bei dem Ergebnis der strukturellen ¨ Aquivalenzpr ¨ ufung auf Basis der Schaltungspartitionierung um ein falschnegatives Ergebnis handelt, also ein Gegenbeispiel f ¨ ur die ¨ Aquivalenz der beiden Systeme aus Abb. 6.19, welches aber falsch ist. Das Auftreten von falschnegativen Ergebnissen kann zumindest teilweise ver- mieden werden, wenn die Schaltung in ¨ uberlappende Partitionen zerlegt wird. Hier- 266 6 Hardware-Verifikation & & ≥ 1 & & & & ≥ 1≥ 1 y 1 z 8 z 5 := F z 7 := F z 1 = F z 3 = F z 4 = F Konflikt x 1 x 3 x 7 x 4 x 2 := F x 5 := F x 6 := T z 2 z 6 := T Abb. 6.21. Konflikt durch falschnegatives Ergebnis im unpartitionierten System durch kann der steuerbare Wertebereich der Variablen an den Schnittpunkten einge- schr ¨ ankt werden. Strukturelle sequentielle ¨ Aquivalenzpr ¨ ufung In Abschnitt 6.1.3 wurde eine formale Methode zur ¨ Aquivalenzpr ¨ ufung von zwei Schaltwerken auf Basis des iterativen Schaltungsmodells vorgestellt. F ¨ ur eine struk- turelle ¨ Aquivalenzpr ¨ ufung von zwei Schaltwerken bietet sich die Verwendung des iterativen Schaltungsmodells ebenfalls an, da bei einem solchen Vorgehen die Er- gebnisse f ¨ ur die strukturelle ¨ Aquivalenzpr ¨ ufung von kombinatorischen Schaltungen wiederverwendet werden k ¨ onnen. Bei der formalen ¨ Aquivalenzpr ¨ ufung von Schaltwerken wurden die Verfahren aus Abschnitt 4.3 zur Pr ¨ ufung von Automaten ¨ aquivalenz auf das iterative Schal- tungsmodell einer Miter-Schaltung angepasst. Ein Problem war allerdings die un- terschiedliche Bestimmung der Erreichbarkeitsmengen. Wie in Abschnitt 6.1.3 dar- gestellt, wird bei der symbolischen Simulation die Erreichbarkeitsmenge f ¨ ur jeden Zeitschritt explizit bestimmt. Ein solches Vorgehen schr ¨ ankt jedoch das Einsatzge- biet struktureller Pr ¨ ufungsverfahren auf einen einzelnen Zeitschritt ein. Alternativ kann das iterative Schaltungsmodell der Miter-Schaltung bis zur sequentiellen Tiefe des zugeh ¨ origen Automaten aufgebaut werden. In diesem Fall ist sichergestellt, dass der Fixpunkt erreicht wird. Dies wird allerdings in der Regel zu sehr großen und somit nicht handhabbaren Probleminstanzen f ¨ uhren. Sollen mehrere Zeitschritte bei der strukturellen ¨ Aquivalenzpr ¨ ufung gleichzei- tig Ber ¨ ucksichtigung finden, ohne das iterative Schaltungsmodell f ¨ ur die gesamte sequentielle Tiefe aufzubauen, muss der Fixpunkt aus der Menge der in genau t Zeitschritten erreichbaren Zust ¨ ande ermittelbar sein. Dieser Fixpunkt kann im Allge- meinen allerdings nicht nur aus zwei aufeinander folgenden Erreichbarkeitsmengen bestimmt werden. Die Erreichbarkeitsmengen werden allerdings immer nach einer Zeit t ≥ t fix anfangen, mit einer Periode T zu oszillieren, d. h.: ∀t ≥ t fix : S R [t]=S R [t − T ] 6.1 ¨ Aquivalenzpr ¨ ufung kombinatorischer und sequentieller Schaltungen 267 Hieraus folgt, dass der Fixpunkt detektiert werden kann, wenn gilt: ∃T : S R [t]=S R [t − T ] Die Frage bleibt, wie das Auftreten der Periode T im iterativen Schaltungsmodell detektiert werden kann. W ¨ ahrend bei der Automaten- ¨ Aquivalenzpr ¨ ufung lediglich die ROBDDs der Mengen S R [t] und S R [t −1] auf Isomorphie ¨ uberpr ¨ uft werden, muss beim iterativen Schaltungsmodell ¨ uberpr ¨ uft werden, ob f ¨ ur zwei Zeitpunkte t und t − T die Wertebereiche der durch die kombinatorischen Schaltungen implementierten Booleschen Funktionen ¨ aquivalent sind. Dabei m ¨ ussen eventuell Schaltungen mit mehreren Ausg ¨ angen ber ¨ ucksichtigt werden. Hierf ¨ ur schlagen Stoffel et al. [412] eine strukturelle Form der Existenz-Quantifizierung vor. Die strukturelle Existenz-Quantifizierung beruht auf der funktionalen Dekompo- sition des iterativen Schaltungsmodells, dargestellt in Abb. 6.22. Abbildung 6.22a) zeigt das iterative Schaltungsmodell eines Schaltwerks f ¨ ur t Zeitschritte. Dabei wur- de die Notation f + f ¨ ur die erweiterte ¨ Ubergangsfunktion verwendet (siehe Kapi- tel 4.3). Diese bestimmt aus einem Anfangszustand s[0] und einer Sequenz w der L ¨ ange t von Eingabesymbolen den Folgezustand s[t] nach t Zeitschritten. Durch sym- bolische Simulation des iterativen Schaltungsmodells erh ¨ alt man die Menge S R [t] von erreichbaren Zust ¨ anden in genau t Zeitschritten. f + [t] ist dabei die Boolesche Funktion, die durch das iterative Schaltungsmodell implementiert ist, und die f ¨ ur beliebige Sequenzen w der L ¨ ange t den Folgezustand berechnet. s[0] s[t] a) w f + [t] s[0] s[t] b) StubR w Abb. 6.22. Strukturelle Form der Existenz-Quantifizierung [412] Die interessante Frage lautet nun, welche Zust ¨ ande in S R [t] sind. Wie diese be- rechnet werden ist dabei nicht von Interesse. Mit anderen Worten: Wir sind lediglich an dem Wertebereich von f + [t] interessiert. Aus diesem Grund kann das iterative 268 6 Hardware-Verifikation Schaltungsmodell in zwei Teile zerlegt werden [411]: Eine sog. Stub-Schaltung Stub und eine sog. Restschaltung R. Dies ist in Abb. 6.22b) dargestellt. Die von der Stub-Schaltung implementierte Funktion ist dabei wertebereich ¨ aqui- valent zur Funktion des iterativen Schaltungsmodells, also der Funktion f + [t].Zwei Funktionen heißen wertebereich ¨ aquivalent, wenn diese die selbe Wertemenge besit- zen. Dabei k ¨ onnen die beiden Funktionen durchaus unterschiedliche Definitionsbe- reiche haben. Dies bedeutet, dass die Stub-Schaltung exakt die selben Werte pro- duzieren kann, wie das iterative Schaltungsmodell. Wird nun die Restschaltung R aus der Schaltung herausgenommen, so ist der Zusammenhang zwischen Anfangs- zustand und Eingabe zu den erreichbaren Zust ¨ anden entfernt. Allerdings bleibt die Erreichbarkeitsmenge weiterhin durch die Stub-Schaltung repr ¨ asentiert. Somit wird eine strukturelle Existenz-Quantifizierung der Funktion f + [t] bez ¨ uglich der Eingabe w und des Anfangszustand s[0] durchgef ¨ uhrt. W ¨ ahrend einer Zeitschrittsimulation des iterativen Schaltungsmodells kann die Dekomposition und das Heraustrennen der Restschaltung in jedem Zeitschritt erfol- gen. Dies entspricht exakt der Quantifizierung bei der Automatentraversierung. Aber im Gegensatz zur symbolischen Simulation in Abschnitt 6.1.3 wird die Schaltung f ¨ ur einen neuen Zeitschritt nicht an das komplette bis dahin erstellte iterative Schal- tungsmodell angeh ¨ angt, sondern lediglich an die ermittelte Stub-Schaltung. Dies ist in Abb. 6.23a) zu sehen. Nach Anh ¨ angen der Schaltung f ¨ ur den neuen Zeitschritt (im Beispiel wird die kombinatorische Schaltung f ¨ ur die Funktion f angeh ¨ angt), kann wiederum die funktionale Dekomposition der Schaltung in eine Restschaltung R und eine Stub-Schaltung vorgenommen werden. i s[t +1] b) f s[t] a) R s[t +1] Stub Stub Abb. 6.23. Heraustrennung der Restschaltung vor dem Anh ¨ angen des n ¨ achsten Zeitschritts [412] Neben der Reduktion der Schaltungsgr ¨ oße wird dieses Vorgehen auch zur De- tektion des Fixpunktes verwendet [412]. Falls S R [t] und S R [t + T ] gleich sind, dann muss es auch m ¨ oglich sein, die iterativen Schaltungsmodelle der L ¨ ange t und der L ¨ ange t + T so zu zerlegen, dass wertebereich ¨ aquivalente Stub-Schaltungen entste- 6.1 ¨ Aquivalenzpr ¨ ufung kombinatorischer und sequentieller Schaltungen 269 hen. Der Fixpunkt wird somit bestimmt, indem die Identit ¨ at der Dekompositions- schritte f ¨ ur verschiedene Zeitschritte gezeigt wird. Allerdings ist die Konstruktion wertebereich ¨ aquivalenter Stub-Schaltungen im Allgemeinen ein schweres Problem und eine exakte Bestimmung, auch wenn m ¨ oglich, f ¨ ur realistische Probleminstanzen nicht anwendbar. Aus diesem Grund werden in der Regel anwendungsspezifische Approximationen verwendet. Im Folgenden wird dies f ¨ ur den Fall der sequentiellen ¨ Aquivalenzpr ¨ ufung gezeigt. Der Record&Play-Algorithmus Im Folgenden wird die formale sequentielle ¨ Aquivalenzpr ¨ ufung zweier Schaltwer- ke betrachtet. Ausgangspunkt ist dabei das iterative Schaltungsmodell der Miter- Schaltung der beiden Schaltwerke. Der Fixpunkt kann durch identische Dekomposition des iterativen Schaltungs- modells f ¨ ur zwei verschiedene Zeitschritte detektiert werden. Die Dekomposition beruht auf Verfahren, wie sie bereits f ¨ ur die strukturelle kombinatorische ¨ Aquiva- lenzpr ¨ ufung vorgestellt wurden. Die Dekompositionsschritte werden dabei in sog. Instruktionsqueues Q mit einer FIFO-Strategie (engl. First In, First Out) gespeichert. In Q[t] stehen diejenigen Instruktionen, die zu Zeitschritt t durchgef ¨ uhrt werden, um die Stub-Schaltung zu generieren. Die Speicherung dieser Instruktionen wird als engl. record bezeichnet. Im darauf folgenden Zeitschritt t + 1 hofft man, von bereits aufgezeichneten In- formationen zu profitieren, indem versucht wird, die selben Instruktionen aus ei- ner der vorherigen Instruktionsqueues wieder anzuwenden. Falls dies m ¨ oglich ist, wird die anwendbare Instruktion auch in der Instruktionsqueue Q[t + 1] aufgenom- men. Das Ausprobieren der Instruktionen einer Instruktionsqueue wird als engl. play bezeichnet. Falls die gespeicherten Instruktionen nicht ausreichen, um die Stub- Schaltung im Zeitschritt t + 1 zu erzeugen, werden weitere ¨ Aquivalenzen gesucht und die resultierenden Schaltungstransformationen aufgezeichnet. Durch das st ¨ andige Aufzeichnen und Abspielen der Instruktionen wird neue rele- vante Information in jeder neuen Instruktionsqueue gespeichert. Zu einem Zeitpunkt wird es schließlich m ¨ oglich sein, eine Instruktionsqueue aus einem der vorherigen Zeitschritte komplett abzuspielen und hierdurch eine Stub-Schaltung zu erzeugen. In diesem Fall ist der Fixpunkt detektiert. Der hieraus resultierende Record&Play-Algorithmus wurde erstmals in [411] vorgestellt und wird im Folgenden diskutiert. Er ist generell f ¨ ur eine Oszillation mit einer Periode T einsetzbar. Um die Beschreibung ¨ ubersichtlich zu halten, wird hier lediglich der Fall T = 1 beschrieben. Der Record&Play-Algorithmus ist in Abb. 6.24 dargestellt. Zu Beginn wird die Zeit auf t := 0 gesetzt und danach der iterative Teil aus- gef ¨ uhrt. Zun ¨ achst wird jeweils die Schaltung f ¨ ur einen neuen Zeitschritt angeh ¨ angt und das Abspielen und Aufnehmen alter und neuer Instruktionen durchgef ¨ uhrt. Ist dies abgeschlossen, wird gepr ¨ uft, ob die Schaltungsausg ¨ ange ¨ aquivalent sind. Falls die Ausg ¨ ange nicht ¨ aquivalent sind, so sind auch die beiden Schaltwerke nicht ¨ aqui- valent. Falls sie ¨ aquivalent sind, wird ¨ uberpr ¨ uft, ob w ¨ ahrend der Play-Phase die In- 270 6 Hardware-Verifikation t := 0 nein ja nein ja Systeme ¨ aquivalent neuen Zeitschritt anh ¨ angen (t := t + 1) Ausg ¨ ange ¨ aquivalent? Stub-Bestimmung Entfernung von R Record&Play wiederholbar? Q[t − 1] nicht ¨ aquivalent Systeme Schaltung f ¨ ur Abb. 6.24. Record&Play-Algorithmus struktionsqueue abgespielt werden konnte. Ist dies der Fall, sind die Schaltwerke ¨ aquivalent. Andernfalls muss eine neue Stub-Schaltung generiert werden und die Restschaltung abgetrennt werden. Anschließend wird ein neuer Zeitschritt begon- nen. Beispiel 6.1.15. Der Record&Play-Algorithmus soll zum Vergleich der Schaltwerke aus Abb. 6.17 auf Seite 260 verwendet werden. Als Anfangszustand wird den drei Registern in beiden Schaltwerken der Wert F zugewiesen. Hierdurch vereinfacht sich die Miter-Schaltung f ¨ ur den ersten Zeitschritt. Dies ist in Abb. 6.25a) zu sehen. Die Play-Phase des Record&Play-Aufrufs in diesem Zeitschritt wird ¨ ubersprun- gen, da Q[0]= eine leere Sequenz ist. In der Record-Phase l ¨ asst sich f ¨ ur diese Schaltung ein Schnittpunkt f ¨ ur die ¨ aquivalenten Signale z 1 [1] und z  1 [1] bestimmen. Zur Schaltungsreduktion wird das Signal z 1 [1] in das Schaltwerk M  ¨ ubertragen. Die Transformation wird in der Instruktionsqueue Q[1]=(z 1 [t] → z  1 [t]) gespeichert, wobei der Ausdruck x → y die Substitution des Signals y durch das Signal x beschreibt. Anschließend werden die Ausg ¨ ange der Miter-Schaltung auf Erf ¨ ullbarkeit ¨ uberpr ¨ uft. Dies ist hier nicht m ¨ oglich. Da in der Play-Phase keine vor- 6.1 ¨ Aquivalenzpr ¨ ufung kombinatorischer und sequentieller Schaltungen 271 & & & ≥ 1 F F F y[0]=F z 2 [1] z 1 [1] z  1 [1] x 1 [0] x 2 [0] F F y[0]=F x 1 [0] x 2 [0] z 1 [1] F z 2 [1] z 1 [1] z  1 [1] a) b) Stub-Schaltung Verschmelzungspunkt = 1 = 1 Abb. 6.25. a) Iteratives Schaltungsmodell f ¨ ur den ersten Zeitschritt und b) generierte Stub- Schaltung [412] herige Instruktionsqueue abgespielt werden konnte, wird die Stub-Schaltung f ¨ ur die n ¨ achste Iteration extrahiert. Hierf ¨ ur werden die sog. Verschmelzungspunkte (engl. merge points) bestimmt. Anschaulich handelt es sich dabei um diejenigen Signale, welche die Registerwerte beider Schaltwerke beeinflussen. Man kann die Verschmelzungspunkte bestimmen, indem man von den Zustandsvariablen in der Schaltung r ¨ uckw ¨ arts Signale verfolgt und abbricht, sobald die Pfade der Zustandsvariablen auf gemeinsame Variablen zur ¨ uckgef ¨ uhrt sind. Die Stub-Schaltung ist dann diejenige Schaltung, die hinter den Verschmelzungspunkten liegt (siehe Abb. 6.25b)). Man beachte, dass es durch die Schaltungspartitionierung zu falschnegativen Ergebnissen kommen kann, was einer ¨ Uberapproximation der Erreichbarkeitsmenge entspricht. In der n ¨ achsten Iteration wird das Schaltungsmodell f ¨ ur den folgenden Zeitschritt an die zuvor generierte Stub-Schaltung, die die m ¨ oglichen Anfangszust ¨ ande f ¨ ur die- sen Zeitschritt festlegt, angeh ¨ angt. Die resultierende Schaltung ist in Abb. 6.26a) zu sehen. Das Abspielen der Instruktionsqueue Q[1] ist f ¨ ur die resultierende Schaltung nicht m ¨ oglich. Aus diesem Grund wird in der Schaltung nach strukturellen ¨ Aquiva- lenzen gesucht. Diese sind f ¨ ur die Signale s 1 [1] und s 2 [1] gegeben. Die zugeh ¨ orige Instruktion in der Instruktionsqueue lautet deshalb: Q[2]=(s 1 [t] → s 2 [t]) Anschließend erfolgt die ¨ Uberpr ¨ ufung des Miter-Ausgangs, der nicht erf ¨ ullbar ist. Da die vorherige leere Instruktionsqueue nicht abgespielt werden konnte, muss eine neue Stub-Schaltung generiert werden. Die Verschmelzungspunkte liegen diesmal an den Schaltungseing ¨ angen, weshalb die gesamte Schaltung als Stub-Schaltung aus- 272 6 Hardware-Verifikation gew ¨ ahlt wird (Abb. 6.26b)). Allerdings f ¨ uhrt dies zu keiner weiteren Reduktion der Schaltung. ≥ 1 & & ≥ 1 & ≥ 1 y[1] x 1 [1] x 2 [1] y  1 [1] y 1 [1] z 1 [1] z 1 [2] z 2 [2] z  1 [2] = 1 s 2 [1] s 1 [1] ≥ 1 x 1 [1] x 2 [1] y  1 [1] y 1 [1] z 1 [1] z 1 [2] z 2 [2] z  1 [2] b) ≥ 1 & & & = 1 s 1 [1] y[1]= F a) Abb. 6.26. a) Iteratives Schaltungsmodell f ¨ ur den zweiten Zeitschritt und b) generierte Stub- Schaltung [412] Nun folgt das Anh ¨ angen des Schaltungsmodells f ¨ ur den dritten Zeitschritt. Dies ist in Abb. 6.27 dargestellt. ≥ 1 & & ≥ 1 ≥ 1 & ≥ 1 x 1 [1] x 2 [1] y  1 [1] y 1 [1] ≥ 1 & & & z  1 [2] y[1] z 2 [2] z 1 [2] ≥ 1 y[2] x 1 [2] x 2 [2] y  1 [2] y 1 [2] z 1 [3] z 2 [3] z  1 [3] z 1 [1] = 1 = 1 s 1 [1] s 1 [2] s 2 [2] Abb. 6.27. Iteratives Schaltungsmodell f ¨ ur den dritten Zeitschritt [412] Der Ausgang der Miter-Schaltung ist hier nach wie vor nicht erf ¨ ullbar. Durch Abspielen der Instruktionsqueue Q[2] kann strukturell noch nicht die ¨ Aquivalenz der [...]... im Allgemeinen auch nicht auf modulare Arithmetik anwenden, wie sie bei Hardware-Implementierungen oder bei der Implementierung 6.3 Formale Verifikation von Prozessoren 291 in Festpunkt-Arithmetik auf digitalen Signalprozessoren auftreten Dies wird an einem Beispiel illustriert [398] Beispiel 6.2.6 Gegeben sind zwei prim¨ re Eingangssignale a und b, wobei a durch a einen Bitvektor der L¨ nge 12 und... Instruction Set Architecture, ISA) als sog Mikroarchitektur Die 292 6 Hardware-Verifikation Mikroarchitektur ist dabei eine Hardware-Beschreibung auf Architekturebene Es handelt sich hierbei also um die Hardware/Software-Schnittstelle des Prozessors Die Instruktionssatzarchitektur kann auch als eine sequentielle Mikroarchitektur des Prozessors betrachtet werden, bei der jede Instruktion in der Reihenfolge

Ngày đăng: 02/07/2014, 14:20