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

Digitale Hardware/ Software-Systeme- P10 ppt

30 334 0
Tài liệu đã được kiểm tra trùng lặp

Đ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

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

6.1.4 Strukturelle ¨ Aquivalenzpr ¨ufung auf der Logikebene Die implizite kombinatorische ¨Aquivalenzpr¨ufung auf der Logikebene mit ROBDDsoder ROKFDDs kann aufgrund des hohen Speicherbe

Trang 1

6.1 ¨Aquivalenzpr¨ufung kombinatorischer und sequentieller Schaltungen 263

w¨ahrend der symbolischen Simulation die Erreichbarkeitsmenge SR [t] f¨ur die in schritt t erreichbaren Zust¨ande berechnet Man beachte den Unterschied der beiden

Zeit-Definitionen von Erreichbarkeitsmengen: W¨ahrend bei den Verfahren zur Pr¨ufung

von Automaten¨aquivalenz aus Kapitel 4.3 alle w¨ahrend t Zeitschritten ren Zust¨ande berechnet werden (SR [t] := S R [t − 1] ∪ SUCC(S R [t − 1])), wird bei der

erreichba-symbolischen Simulation der Miter-Schaltung lediglich die Menge an Zust¨anden

bestimmt, in der die Schaltwerke nach genau t Zeitschritten sein k¨onnen (SR [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 dersymbolischen Simulation erkennen zu k¨onnen, muss somit vor der Simulation einesneuen Zeitschritts die Menge aller bisher erreichten Zust¨ande bestimmt und mit dervorherigen verglichen werden

6.1.4 Strukturelle ¨ Aquivalenzpr ¨ufung auf der Logikebene

Die implizite kombinatorische ¨Aquivalenzpr¨ufung auf der Logikebene mit ROBDDsoder ROKFDDs kann aufgrund des hohen Speicherbedarfs oftmals nicht f¨ur großekombinatorische Schaltungen durchgef¨uhrt werden Auf der anderen Seite ist dieformale explizite kombinatorische ¨Aquivalenzpr¨ufung f¨ur große Systeme aufgrundder großen Laufzeit auch nicht anwendbar

Zusammenfassend kann man sagen, dass sich die formalen Methoden lediglichauf 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 ren f¨ur Schaltwerke vorgestellt

Verfah-Strukturelle ¨ Aquivalenzpr ¨ufung auf Basis von Schaltungspartitionierung

F¨ur eine explizite strukturelle ¨Aquivalenzpr¨ufung ist der Ausgangspunkt die Schaltung zweier kombinatorischer Schaltkreise Beginnend von den Eing¨angen,werden in beiden Schaltungen ¨aquivalente (interne) Signale gesucht Dies kann durchexplizite oder implizite Verfahren erfolgen Sind ¨aquivalente Signale gefunden wor-den, kann das Signal der einen Schaltung durch das Signal der anderen Schaltungsubstituiert 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

Miter-Alternativ kann die Schaltung entlang eines Schnittes partitioniert werden 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

Zu-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 mitSei-tels ROBDDs deren ¨Aquivalenz bewiesen.Die Verwendung der strukturellen ¨Aquivalenzpr¨ufung auf Basis von Partitionierung

Trang 2

wird nun an diesem Beispiel gezeigt Abbildung 6.19 zeigt die Miter-Schaltung derbeiden kombinatorischen Schaltungen, sowie einen Schnitt durch beide Systeme.

Der Schnitt basiert auf der Annahme, dass z5≡ z 

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 rungsansatz muss deshalb im folgenden Schritt gezeigt werden, dass die beiden Teil-

Partitionie-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 gen ¨aquivalent sind

Schaltun-Hierf¨ur werden zun¨achst f¨ur beide Teilschaltungen ROBDDs mit der selben

Variablenordnung x5< x6< z1< z2< x2< z3 entwickelt Die ROBDDs sind in

Abb 6.20b) und c) zu sehen Man erkennt, dass die ROBDDs f¨ur y1und y2nicht morph sind und somit die beiden Teilschaltungen (dargestellt in Abb 6.20a)) nicht

iso-¨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 konstantenWertF repr¨asentieren, damit der Ausgang nie erf¨ullbar ist

Trang 3

6.1 ¨Aquivalenzpr¨ufung kombinatorischer und sequentieller Schaltungen 265

Abb 6.20 ROBDDs f¨ur die Signale b) y1c) y2und d) y der Miter-Schaltung aus a)

Obwohl also die beiden kombinatorischen Schaltungen aus Abb 6.3 ¨aquivalentsind, 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 DieseBelegung kann aus dem ROBDD als Pfad zum TerminalknotenT ausgelesen werden,

d h x5= z5= x2= z7:= F und x6= z6:= T Allerdings muss, wie in Kapitel 4.4,noch ¨uberpr¨uft werden, ob diese Belegung im Gesamtsystem ¨uberhaupt auftretenkann Da bereits bekannt ist, dass die beiden Schaltungen ¨aquivalent sind, muss dasErgebnis dieser ¨Uberpr¨ufung sein, dass diese Belegung nicht erreicht werden kann

Beispiel 6.1.14 Entsprechend dem einzigen Pfad zu dem Terminalknoten mit dem

WertT in Abb 6.20d) werden die Eing¨ange x2und x5mit dem WertF und der

Ein-gang x6mit dem WertT belegt Die internen Signale z5, z6und z7werden ebenfallsentsprechend 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 z1und z3derWertF Hierdurch ergibt sich auch der Wert F f¨ur das Signal z4 Mit z3= z4= F ergibt

sich z6= z3∨z4= F Dies steht aber in Konflikt zu dem zugewiesenen Wert z6:= T.Aus diesem Konflikt kann man schließen, dass die Variablenbelegung, welche dieMiter-Schaltung in Abb 6.20a) erf¨ullt, im unpartitionierten System nicht erreichbarist 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, welchesaber falsch ist

Das Auftreten von falschnegativen Ergebnissen kann zumindest teilweise mieden werden, wenn die Schaltung in ¨uberlappende Partitionen zerlegt wird Hier-

Trang 4

Abb 6.21 Konflikt durch falschnegatives Ergebnis im unpartitionierten System

durch kann der steuerbare Wertebereich der Variablen an den Schnittpunkten schr¨ankt werden

einge-Strukturelle sequentielle ¨ Aquivalenzpr ¨ufung

In Abschnitt 6.1.3 wurde eine formale Methode zur ¨Aquivalenzpr¨ufung von zweiSchaltwerken auf Basis des iterativen Schaltungsmodells vorgestellt F¨ur eine struk-turelle ¨Aquivalenzpr¨ufung von zwei Schaltwerken bietet sich die Verwendung desiterativen Schaltungsmodells ebenfalls an, da bei einem solchen Vorgehen die Er-gebnisse f¨ur die strukturelle ¨Aquivalenzpr¨ufung von kombinatorischen Schaltungenwiederverwendet werden k¨onnen

Bei der formalen ¨Aquivalenzpr¨ufung von Schaltwerken wurden die Verfahrenaus 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 jedenZeitschritt explizit bestimmt Ein solches Vorgehen schr¨ankt jedoch das Einsatzge-biet struktureller Pr¨ufungsverfahren auf einen einzelnen Zeitschritt ein Alternativkann das iterative Schaltungsmodell der Miter-Schaltung bis zur sequentiellen Tiefedes zugeh¨origen Automaten aufgebaut werden In diesem Fall ist sichergestellt, dassder Fixpunkt erreicht wird Dies wird allerdings in der Regel zu sehr großen undsomit nicht handhabbaren Probleminstanzen f¨uhren

Sollen mehrere Zeitschritte bei der strukturellen ¨Aquivalenzpr¨ufung tig Ber¨ucksichtigung finden, ohne das iterative Schaltungsmodell f¨ur die gesamte

gleichzei-sequentielle Tiefe aufzubauen, muss der Fixpunkt aus der Menge der in genau t

Zeitschritten erreichbaren Zust¨ande ermittelbar sein Dieser Fixpunkt kann im meinen allerdings nicht nur aus zwei aufeinander folgenden Erreichbarkeitsmengenbestimmt werden Die Erreichbarkeitsmengen werden allerdings immer nach einer

Allge-Zeit t ≥ tfixanfangen, mit einer Periode T zu oszillieren, d h.:

∀t ≥ t : SR [t] = S [t − T]

Trang 5

6.1 ¨Aquivalenzpr¨ufung kombinatorischer und sequentieller Schaltungen 267Hieraus 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 SR [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 mitmehreren 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 sition des iterativen Schaltungsmodells, dargestellt in Abb 6.22 Abbildung 6.22a)

Dekompo-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 SR [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.

w

Abb 6.22 Strukturelle Form der Existenz-Quantifizierung [412]

Die interessante Frage lautet nun, welche Zust¨ande in SR [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

Trang 6

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 valent zur Funktion des iterativen Schaltungsmodells, also der Funktion f+[t] Zwei

wertebereich¨aqui-Funktionen heißen wertebereich¨aquivalent, wenn diese die selbe Wertemenge 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 Raus der Schaltung herausgenommen, so ist der Zusammenhang zwischen Anfangs-zustand und Eingabe zu den erreichbaren Zust¨anden entfernt Allerdings bleibt dieErreichbarkeitsmenge weiterhin durch die Stub-Schaltung repr¨asentiert Somit wird

besit-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 dieDekomposition 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 Schaltungf¨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 undeine Stub-Schaltung vorgenommen werden

Neben der Reduktion der Schaltungsgr¨oße wird dieses Vorgehen auch zur

De-tektion des Fixpunktes verwendet [412] Falls SR [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-

Trang 7

6.1 ¨Aquivalenzpr¨ufung kombinatorischer und sequentieller Schaltungen 269hen Der Fixpunkt wird somit bestimmt, indem die Identit¨at der Dekompositions-schritte f¨ur verschiedene Zeitschritte gezeigt wird Allerdings ist die Konstruktionwertebereich¨aquivalenter Stub-Schaltungen im Allgemeinen ein schweres Problemund eine exakte Bestimmung, auch wenn m¨oglich, f¨ur realistische Probleminstanzennicht anwendbar Aus diesem Grund werden in der Regel anwendungsspezifischeApproximationen 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 Schaltung der beiden Schaltwerke

Miter-Der Fixpunkt kann durch identische Dekomposition des iterativen modells f¨ur zwei verschiedene Zeitschritte detektiert werden Die Dekompositionberuht auf Verfahren, wie sie bereits f¨ur die strukturelle kombinatorische ¨Aquiva-lenzpr¨ufung vorgestellt wurden Die Dekompositionsschritte werden dabei in sog

Schaltungs-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 formationen zu profitieren, indem versucht wird, die selben Instruktionen aus ei-ner der vorherigen Instruktionsqueues wieder anzuwenden Falls dies m¨oglich ist,

In-wird die anwendbare Instruktion auch in der Instruktionsqueue Q [t + 1] men Das Ausprobieren der Instruktionen einer Instruktionsqueue wird als engl play

aufgenom-bezeichnet Falls die gespeicherten Instruktionen nicht ausreichen, um die

Stub-Schaltung im Zeitschritt t+ 1 zu erzeugen, werden weitere ¨Aquivalenzen gesuchtund die resultierenden Schaltungstransformationen aufgezeichnet

Durch das st¨andige Aufzeichnen und Abspielen der Instruktionen wird neue vante Information in jeder neuen Instruktionsqueue gespeichert Zu einem Zeitpunktwird es schließlich m¨oglich sein, eine Instruktionsqueue aus einem der vorherigenZeitschritte komplett abzuspielen und hierdurch eine Stub-Schaltung zu erzeugen

rele-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.24dargestellt

Zu Beginn wird die Zeit auf t := 0 gesetzt und danach der iterative Teil gef¨uhrt Zun¨achst wird jeweils die Schaltung f¨ur einen neuen Zeitschritt angeh¨angtund das Abspielen und Aufnehmen alter und neuer Instruktionen durchgef¨uhrt Istdies abgeschlossen, wird gepr¨uft, ob die Schaltungsausg¨ange ¨aquivalent sind Fallsdie 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-

Trang 8

aus-t := 0

nein ja

struktionsqueue abgespielt werden konnte Ist dies der Fall, sind die Schaltwerke

¨aquivalent Andernfalls muss eine neue Stub-Schaltung generiert werden und dieRestschaltung 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 dreiRegistern in beiden Schaltwerken der WertF zugewiesen Hierdurch vereinfacht sichdie 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 z1[1] und z 

1[1] bestimmen

Zur Schaltungsreduktion wird das Signal z1[1] in das Schaltwerk M  ¨ubertragen Die

Transformation wird in der Instruktionsqueue

Trang 9

vor-6.1 ¨Aquivalenzpr¨ufung kombinatorischer und sequentieller Schaltungen 271

Hierf¨ur werden die sog Verschmelzungspunkte (engl merge points) bestimmt.

Anschaulich handelt es sich dabei um diejenigen Signale, welche die Registerwertebeider Schaltwerke beeinflussen Man kann die Verschmelzungspunkte bestimmen,indem man von den Zustandsvariablen in der Schaltung r¨uckw¨arts Signale verfolgtund abbricht, sobald die Pfade der Zustandsvariablen auf gemeinsame Variablenzur¨uckgef¨uhrt sind Die Stub-Schaltung ist dann diejenige Schaltung, die hinter denVerschmelzungspunkten liegt (siehe Abb 6.25b)) Man beachte, dass es durch dieSchaltungspartitionierung 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 sen Zeitschritt festlegt, angeh¨angt Die resultierende Schaltung ist in Abb 6.26a) zu

die-sehen Das Abspielen der Instruktionsqueue Q[1] ist f¨ur die resultierende Schaltungnicht m¨oglich Aus diesem Grund wird in der Schaltung nach strukturellen ¨Aquiva-

lenzen gesucht Diese sind f¨ur die Signale s1[1] und s2[1] gegeben Die zugeh¨origeInstruktion in der Instruktionsqueue lautet deshalb:

Q [2] = (s1[t] → s2[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 eineneue Stub-Schaltung generiert werden Die Verschmelzungspunkte liegen diesmal anden Schaltungseing¨angen, weshalb die gesamte Schaltung als Stub-Schaltung aus-

Trang 10

gew¨ahlt wird (Abb 6.26b)) Allerdings f¨uhrt dies zu keiner weiteren Reduktion derSchaltung.

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

Trang 11

6.2 ¨Aquivalenzpr¨ufung arithmetischer Schaltungen 273Ausg¨ange der Schaltwerke gezeigt werden Hierzu muss zus¨atzlich der Fall betrach-

tet werden, dass y1[2] ¨aquivalent mit z 

1[2] ist Die neue Instruktionsqueue ergibt sichzu:

Abb 6.28 Stub-Schaltung f¨ur den dritten Zeitschritt [412]

Man erkennt, dass die im zweiten und dritten Schritt ermittelte Stub-Schaltung

identisch ist Aus diesem Grund wird durch Abspielen von Q[3] nach Anh¨angendes Schaltungsmodells f¨ur den vierten Zeitschritt ¨Aquivalenz erkannt Da somit derFixpunkt detektiert ist, und in keinem Zeitschritt der Miter-Ausgang erf¨ullbar war,sind die beiden Schaltwerke ¨aquivalent

6.2 ¨ Aquivalenzpr ¨ufung arithmetischer Schaltungen

Im Folgenden werden Verfahren f¨ur die Architekturebene pr¨asentiert, die zur ¨valenzpr¨ufung arithmetischer Schaltungen geeignet sind Diese eignen sich weiterhinauch zur ¨Aquivalenzpr¨ufung zwischen Modellen auf Architektur- und Logikebene

Aqui-6.2.1 Implizite ¨ Aquivalenzpr ¨ufung auf der Architekturebene

Auf der Architekturebene (siehe Abb 6.1 auf Seite 235) ist die Granularit¨at der rationen in der Verhaltensspezifikation oftmals durch arithmetische Funktionen spe-zifiziert Entsprechend sind die Objekte der Strukturmodelle der Implementierung

Ope-Addierer, Multiplizierer, ALUs (engl Arithmetic Logical Units) etc In der

Synthe-se werden die arithmetischen Funktionen auf eine Architektur bestehend aus einem

Trang 12

Datenpfad und einem Steuerwerk abgebildet Ganzzahlige arithmetische Funktionen

besitzen die Form f :Zn → Z F¨ur die implizite ¨Aquivalenzpr¨ufung dieser

Funktio-nen bedarf es einer geeigneten kanonischen Repr¨asentation

Eine m¨ogliche kanonische Repr¨asentation besteht darin, erweiterte

Diagram-me ¨ahnlich zu ROBDDs zu verwenden Da bei BDDs allerdings der bereich endlich ist, bedarf es einer Einschr¨ankung der Menge der (ganzzahligen)arithmetischen Funktionen Diese Einschr¨ankung ist durchaus eine g¨ultige Annah-

Definitions-me, da bei Hardware-Implementierungen bereits Datentypen mit festen Wortbreiten(Ganzzahl- oder Festpunkt-Datentypen) verwendet werden, diese also bereits einge-

schr¨ankt sind Seien l ∈ Z und u ∈ Z zwei ganze Zahlen mit l < u Dann beschreibe

Z[l,u] ⊂ Z die endliche Menge {l,l + 1, ,u} Eine Funktion f : Z n

[l,u] → Z l¨asst

sich in einem Entscheidungsdiagramm darstellen, indem jeder Knoten mit einer der

n Variablen assoziiert wird und jeder Knoten genau u −l +1 Nachfolger besitzt Dies

bedeutet, dass der WertebereichZ[l,u] f¨ur jede Variable in u − l + 1 Partitionsbl¨ocke

aufgeteilt wird, d h.Δ(Z[l,u] ) = {Δl(Z[l,u] ),Δl+1(Z[l,u] ), ,Δu(Z[l,u] )} (siehe

An-hang B.1) Bei der Traversierung des Diagramms wird dann eine Kante entsprechendder Variablenbelegung ausgew¨ahlt Der Wertebereich der Funktion selbst muss hier-bei nicht beschr¨ankt werden, da der endliche Definitionsbereich in einem endlichenEntscheidungsdiagramm resultiert (siehe Abb 6.29)

Abb 6.29 Darstellung einer ganzzahligen arithmetischen Funktion mit endlichem

Definiti-onsbereich als Entscheidungsdiagramm [272]

Eine solche Repr¨asentation besitzt allerdings den Nachteil, dass sie sowohl ponentiell in der Anzahl der Variablen als auch der Gr¨oße des Definitionsbereichs

ex- Z[l,u] wachsen kann [272] Dies gilt auch, wenn der Definitionsbereich bin¨ar codiertwird und ROBDDs zum Einsatz kommen Viele der f¨ur die Hardware-Verifikation

auf Architekturebene relevanten Funktionen lassen auf die Klasse der sog Booleschen Funktionen einschr¨anken Eine Pseudo-Boolesche Funktion ist eine Ab- bildung f :Bn → Z, d h nur der Wertebereich umfasst die ganzen Zahlen Eine Belegung ist eine Funktionβ, die jeder Variable in f den WertT oder F zuweist.Wie bei Booleschen Funktionen gibt es auch unterschiedliche Repr¨asentationenf¨ur Pseudo-Boolesche Funktionen als Entscheidungsdiagramme F¨ur die Verifika-tion sind hierbei wieder kanonische Repr¨asentationen besonders wichtig, also Re-pr¨asentationen, die vollst¨andig und eindeutig sind Eine offensichtliche Repr¨asen-tation Pseudo-Boolescher Funktionen basiert auf der Idee von ROBDDs, wobei zu

Trang 13

Pseudo-6.2 ¨Aquivalenzpr¨ufung arithmetischer Schaltungen 275

beachten ist, dass die Menge der Terminalknoten VTnicht mehr auf die WerteT und

F beschr¨ankt ist, sondern ganze Zahlen beinhalten kann, d h value : VT→ Z (siehe

Anhang B.1) Eine solche kanonische Repr¨asentation Pseudo-Boolescher

Funktio-nen, basierend auf der Shannon-Zerlegung, heißt algebraisches gramm (engl Algebraic Decision Diagram, ADD) oder engl Multi-Terminal BDD

Entscheidungsdia-(MTBDD) [99, 106] Das folgende Beispiel stammt aus [66]

Beispiel 6.2.1 Gegeben ist die Pseudo-Boolesche Funktion in Tabelle 6.4 Das

ent-sprechende MTBDD ist in Abb 6.30 zu sehen Wie bei ROBDDs w¨ahlt eine gungβ der Variablen einen Pfad im MTBDD vom Quellknoten zu einem Terminal-knoten aus Die Terminalknoten sind mit den entsprechenden Funktionswerten f¨urdie gegebene Belegung beschriftet

Bele-Tabelle 6.4 Pseudo-Boolesche Funktion [66]

Abb 6.30 MTBDD der Pseudo-Booleschen Funktion aus Tabelle 6.4

Die Repr¨asentation von Funktionen durch MTBDDs hat in der Praxis oftmals denNachteil, dass diese exponentiell mit der Anzahl der Variablen wachsen Dies kanndadurch begr¨undet werden, dass es aufgrund vieler unterschiedlicher Funktionswer-

te h¨aufig schwierig ist, die Reduktionsregeln anzuwenden, da die Identifikation morpher Teilgraphen nicht mehr trivial ist Anstatt eine Funktionstabelle direkt in ein

iso-MTBDD abzubilden, stellt sich eine momentenbasierte Zerlegung als vorteilhaft aus Die resultierende Repr¨asentation wird als bin¨arer Momentengraph (engl Binary Moment Diagram, BMD) bezeichnet (siehe u a [324]) BMDs wurden erstmalig von

her-Bryant und Chen vorgestellt [65, 66]

Trang 14

Zun¨achst wird aus der Funktionstabelle der Pseudo-Booleschen Funktion ein nearer Ausdruck gebildet: Die Belegungβ(x i ) = T wird als Literal x i und die Be-legungβ(x i ) = F wird als Literal (1 − x i) codiert Ein Ausdruck f¨ur jede Belegungwird durch Multiplikation der entsprechenden Literale gebildet Dabei wird die Co-dierung der Belegung noch mit dem Funktionswert gewichtet Anschließend werdenalle Ausdr¨ucke aufsummiert.

li-Beispiel 6.2.2 Betrachtet wird wiederum die Pseudo-Boolesche Funktion in

Tabel-le 6.4 Der lineare Ausdruck nach obiger Konstruktionsvorschrift ergibt sich zu:

x1

Abb 6.31 BMD der Pseudo-Booleschen Funktion aus Tabelle 6.4

Aus mathematischer Sicht basieren MTBDDs auf der Shannon-Zerlegung Diese lautet f¨ur eine Pseudo-Boolesche Funktion f :Bn → Z:

Hierbei wird f | x i: = Fals konstantes Moment und f |x i als lineares Moment

bezeich-net Damit l¨asst sich ein bin¨arer Momentengraph formal definieren:

Definition 6.2.1 (Bin¨arer Momentengraph) Gegeben sei eine Pseudo-Boolesche

Funktion f :Bn → Z mit den Variablen x1, ,x n Der zugeh¨orige bin¨are tengraph (BMD) (V,E) mit Quellknoten v0ist ein Entscheidungsdiagramm nach De- finition B.1.1 auf Seite 533 mit folgenden Eigenschaften:

Trang 15

Momen-6.2 ¨Aquivalenzpr¨ufung arithmetischer Schaltungen 277

• Der Quellknoten v0repr¨asentiert die Funktion f , d h.φ(v0) = f

• F¨ur jeden Knoten v ∈ V gilt:

– Falls v ∈ VT, dann repr¨asentiert v die entsprechende konstante Boolesche Funktion value (v), d h.φ(v) = value(v).

Pseudo-– Falls v ∈ VN, dann repr¨asentiert v die Funktion φ(v) =φ(child(v,1)) +

xindex(v)·φ(child(v,2)).

Ein geordnetes BMD (engl Ordered BMD, OBMD) besitzt die Eigenschaft, dass

auf jedem Pfad vom Quellknoten zu einem Terminalknoten die Variablen in der

sel-ben Reihenfolge auftreten Ein reduziertes OBMD (engl Reduced OBMD, ROBMD)

enth¨alt man durch wiederholtes Anwenden der Verschmelzungsregel und der nationsregel f¨ur OFDDs (siehe Anhang B.3) ROBMDs sind kanonische Repr¨asen-tationen f¨ur Pseudo-Boolesche Funktionen und somit f¨ur die implizite ¨Aquivalenz-pr¨ufung auf Architekturebene geeignet

Elimi-In [65, 66] stellen Bryant und Chen eine Erweiterung von BMDs um

multiplikati-ve Kantengewichte als Erweiterung additimultiplikati-ver Kantengewichte vor, wie sie

beispiels-weise auch in sog EVBDDs (engl Edge Valued Binary Decision Diagrams) zum

Einsatz kommen [281] Als Abgrenzung zu BMDs werden diese Momentengraphen

als multiplikative BMDs (engl multiplicative BMDs, *BMDs) bezeichnet *BMDs

verwenden ganzzahlige Faktoren der konstanten und linearen Momente als gewichte, um die Anzahl von Terminalknoten zu verringern und dadurch die Anzahlisomorpher Teilgraphen zu erh¨ohen Das Ergebnis sind kompaktere Repr¨asentantenPseudo-Boolescher Funktionen

Kanten-F¨ur die Interpretation eines *BMD wird das Kantengewicht weeiner

eingehen-den Kante e als Faktor f¨ur die Interpretation des Knotens v verwendet Somit gilt f¨ur

*BMDs:

• Der Quellknoten v0repr¨asentiert die Funktion f , d h.φ(w0,v0) = f

• F¨ur jeden Knoten v ∈ V gilt:

Falls v ∈ VT, dann repr¨asentiert v die konstante Pseudo-Boolesche Funktion

φ(w e ,v) = w e · value(v).

Falls v ∈VN, dann repr¨asentiert v die Funktionφ(w e ,v) = w e ·(φ(w (v,child(v,1)) ,

child(v,1)) + xindex(v) ·φ(w (v,child(v,2)) ,child(v,2))).

Das Ergebnis einer Interpretation wird also immer mit dem entsprechenden

Kan-tengewicht multipliziert Weiterhin wird angenommen, dass der Quellknoten v0eine

eingehende Kante mit Kantengewicht w0besitzt Dies ist notwendig, um kanonische

*BMDs zu konstruieren (s u.)

Beispiel 6.2.3 Gegeben ist die Pseudo-Boolesche Funktion f : = 8−20·x3+2·x2+

4· x2· x3+ 12 · x1+ 24 · x1· x3+ 15 · x1· x2 Das zugeh¨orige ROBMD mit

Variablen-ordnung x1< x2< x3ist in Abb 6.32a) zu sehen Man sieht, dass das BMD reduziertist, da es keine isomorphen Teilgraphen enth¨alt, und somit die Verschmelzungsregel

nicht angewendet werden kann Weiterhin fehlt der Knoten x3im ganz rechten Ast.Dieser besaß eine ausgehende Kante child(v,2) = F Somit konnte die Eliminations-

regel angewendet werden (siehe Anhang B.3)

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