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 16.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 2wird 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 36.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 4Abb 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 56.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 6Schaltungsmodell 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 76.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 8aus-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 9vor-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 10gew¨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 116.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 12Datenpfad 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 13Pseudo-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 14Zun¨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 15Momen-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)