Verfahren zur Verifikation datenverarbeitender Systeme
Fehler in der Entwurfsphase digitaler Schaltungen sind ein Hauptgrund für unerwartete Verzögerungen und zusätzliche Kosten. Um.diese zu vermeiden, werden momentan verschiedene Simulationsverfahren zur Verifikation eines logischen Schal¬ tungsentwurfs eingesetzt. Unglücklicherweise wächst die Zahl der zur Verifikation einer Schaltung oder eines datenver¬ arbeitenden Systems nötigen Simulationen exponentiell mit der Zahl der Eingänge kombinatorischer Schaltkreise und sogar schneller für sequentielle Schaltkreise, da bei diesen alle möglichen Eingangssequenzen zu simulieren sind. Obwohl solche Methoden zur Simulation digitaler Schaltungen weit verbreitet sind und einen wichtigen Platz im Entwurfsprozeß solcher Schaltungen einnehmen, sind sie weit davon entfernt zur voll- ständigen Überprüfung und Verifikation von Schaltungen geeig¬ net zu sein, weshalb die Richtigkeit einer Schaltung, d.h. die Übereinstimmung zwischen ihrer tatsächlichen Implementie¬ rung und ihrer Entwurfsspezifikation nicht garantiert werden kann. Aus diesem Grunde sind formale Verifikationsmethoden jeder Art von Simulation vorzuziehen, da diese im Prinzip die vollständige Richtigkeit einer Schaltung beweisen können.
Spezifikationen von kombinatorischen oder synchronen sequen¬ tiellen Schaltungen werden häufig in Form sog. Hardware-Be- Schreibungssprachen (hardware description languages, HOL) for¬ muliert. In solchen Fällen bedeutet die formale Verifikation den Vergleich einer digitalen Schaltung, wie sie z.B. in Form einer Netzliste gegeben ist mit ihrer Spezifikation in Form einer Beschreibung mit den Methoden einer Hardware-Beschrei- bungssprache. Aus der Literatur (Erik Tidέn, Richard Schmid, "Verifying ASICs bei symbolic Simulation", in EURO ASIC 90, 1990) sind formale Schaltkreisverifikationswerkzeuge bekannt,
deren Anwendbarkeit aber auf kombinatorische Schaltkreise beschränkt ist. Die formale Verifikation sequentieller Digi¬ talschaltungen ist wesentlich schwieriger, und es sind nur wenige Ansätze zu einer Lösung des Problems der Verifikation digitaler Schaltungen mit einer großen Zahl von Zuständen bekannt.
Die Erfindung betrifft ein Verfahren zur Verifikation datenver- arbeitender Systeme, insbesondere digitaler Schaltungen, welche auf der symbolischen Darstellung boolescher Funktionen mit Hilfe binärer Entscheidungsdiagramme basiert. Der Erfindung liegt die Aufgabe zugrunde, ein Verfahren zur Verifikation datenverarbeitender Systeme, insbesondere digitaler Schaltungen anzugeben, welches in der Lage ist, nicht nur kombinatorische, sondern auch sequentielle Systeme großer Komplexität zu veri¬ fizieren und damit die Probleme der zum Stand der Technik be¬ kannten Verfahren zu überwinden. Diese Aufgabe wird mit Hilfe eines Verfahrens zur Verifikation datenverarbeitender Systeme, insbesondere digitaler Schaltungen, mit Merkmalen nach Anspruch 1 gelöst.
Dieses Verfahren basiert ebenfalls wie das aus de Stand der Technik bekannte Verfahren auf dem Vergleich zweier unabhängig voneinander erstellter formaler Beschreibungen eines zu veri¬ fizierenden Systems, z.B. der mit Hilfe einer Hardware-Beschrei¬ bungssprache formulierten Systemspezifikation und der z.E. in Form einer Netzliste vorliegenden Schaltungsimplementierung. Das erfindungsgemäße Verfahren bedient sich einer speziel- len Darstellung boolescher Funktionen mit Hilfe binärer Entschei dungsdiagram e oder hierzu gleichwertiger Mittel. Diese spezielle und vorteilhafte Darstellung boolescher Funktionen ermöglicht die Durchführung des Vergleichs beider Systembeschreibungen mit Hilfe einer Fixpunktiteration, mit deren Hilfe nicht äquivalente Zustände der beiden Systembeschreibungen aufgefunden werden. Dazu werden die beiden miteinander zu vergleichenden Systembe¬ schreibungen als Mealy-Automaten modelliert. Mit Hilfe einer
Fixpunkt-Iteration wird die Menge der nicht-äquivalenten Zustände der beiden Mealy-Automaten in Form binärer Entschei¬ dungsdiagramme oder hierzu äquivalenter Mittel dargestellt. Zur Durchführung der Fixpunktiteration werden die Ausgangs¬ und Übergangsfunktionen der beiden Mealy-Automaten ebenfalls durch binäre Entscheidungsdiagramme oder hierzu äquivalente Mittel dargestellt.
Die erfindungsgemäße Form der Darstellung durch binäre
Entscheidungsdiagramme bewirkt eine äußerst effiziente Speiche¬ rung der Datenstrukturen des Verfahrens und ermöglicht eine Be¬ schränkung der zur Durchführung des Verfahrens notwendigen Ope¬ rationen auf einfache Substitutionen und Boolesche Operationen auf binären Entscheidungsdiagrammen. Hierdurch wird das Verfah¬ ren für technisch interessierende Systeme überhaupt erst prak¬ tisch anwendbar.
Das erfindungsgemäße Verfahren kann auf datenverarbeitende Systeme verschiedener Art, wie z.B. auf digitale Schaltungen, Kommunikationsprotokolle, Computerprogramme und Mikroprogramme zu deren Verifikation angewendet werden. Jedes technische System, welches als Mealy-Automat modelliert werden kann, kann mit Hilfe des Verfahrens verifiziert werden.
Vorteilhafte Weiterbildungen der Erfindung ergeben sich aus den Unteransprüchen.
Figur 1 zeigt ein Ablaufdiagramm des Verfahrens.
Im folgenden wird die Erfindung anhand eines speziellen Ausführungsbeispiels näher beschrieben. Aus Gründen der besse¬ ren Verständlichkeit werden die wichtigsten grundlegenden hier¬ zu benötigten Begriffe am Anfang erläutert. Im übrigen sind die hier verwendeten Begriffe und Bezeichnungsweisen dem Fach¬ mann auf diesem Gebiet geläufig und können z.B. in den Ver¬ öffentlichungen von K. Brauer, "Automatentheorie", E.G. Teub- ner, 1964 oder Z. Kohavi, "Switching and Finite Automata Theory", McGraw-Hill Book Edition, 1978, entnommen werden.
-A-
Bei synchronen sequentiellen Digitalschaltungen werden alle Elemente mit internen Zuständen, wie z.B. Flip-Flops, Latches, Register und speichernde Elemente mit Hilfe eines globalen Clocksignals getriggert, sodaß alle Elemente ihren Zustand simultan bei einem Clocksignal-Übergang ändern. Der neue Zu¬ stand einer synchronen sequentiellen Digitalschaltung hängt dabei ausschließlich von ihrem momentanen Zustand und den Wer¬ ten der Eingangssignale ab. Damit hängen auch die Ausgangs- Signale der Digitalschaltung nur von den Eingangssignalen und dem internen Zustand dieser Schaltung ab. Aus diesem Grunde kann das Verhalten einer synchronen sequentiellen Digitalschal¬ tung durch das Modell des endlichen Automaten (finite State machine), genauer als Mealy-Automat modelliert werden (Z.Koha- vi, 1978, K.Brauer, 1984). Sowohl die Spezifikation einer syn¬ chronen sequentiellen Digitalschaltung als auch ihre Implemen¬ tierung kann daher als Mealy-Automat aufgefaßt werden. Dabei wird die Implementierung einer solchen Digitalschaltung häufig in Form einer sog. Netzliste vorliegen. Die Spezifikation kann vorteilhaft mit Hilfe einer Übergangstabelle oder einer geeig¬ neten Hardware-Beschreibungssprache geschehen. Eine synchrone seαuentielle Digitalschaltung zu verifizieren bedeutet, eine Implementierung dieser Schaltung mit ihrer Spezifikation zu vergleichen. Wegen der Modellierbarkeit beider Beschreibungen durch Mealy-Automaten läßt sich dieses Problem auf den Vergleich zweier unterschiedlich beschriebener Mealy-Automaten reduzie¬ ren. Die folgenden Definitionen endlicher deterministischer Mealy-Automaten und der Äquivalenz zwischen zwei Mealy-Automε- ten sind in der Automatentheorie (Z.Kohavi, 1978; W.Brauer, 1984) üblich. Der besseren Verständlichkeit halber werden diese Definitionen hier kurz zusammengestellt.
Ein endlicher deterministischer Mealy-Automat ist durch die Angabe eines Alphabetes von Eingangsgrößen, einer endlichen Menge von Zuständen, eines Alphabetes von Ausgangsgrößen, einer Ausgangsfunktion, welche jedem Wert der Eingangsgröße1"1 und der Zustände einen Wert der Ausgangsgrößen zuordnet,
einer Übergangsfunktion, welche jedem Eingangswert und Zustand einen Zustand zuordnet, sowie eines anfänglichen Zustandes ge¬ geben.
Ein deterministischer Mealy-Automat definiert eine partielle Abbildung, welche jedem Wort aus Elementen des Alphabets von Eingangsgrößen ein Wort aus Elementen des Alphabets der Aus¬ gangsgrößen zuordnet. Wird dem Automaten eine Folge von Ein- gangsgrδßen eingegeben, so wird dieser Folge eine Folge von
Ausgangsgrößen zugeordnet, wobei zunächst aus den Eingangsgrös- sen mit Hilfe der Übergangsfunktion neue Zustandsgrößen und dar¬ aufhin aus den Zustandsgrößen und den Eingangsgrößen mit Hilfe der Ausgangsfunktion die neuen Ausgangsgrößen berechnet werden. Betrachtet man den Automaten von außen, so sind diese Zuord¬ nungen das einzige was über sein Verhalten beobachtet werden kann und es ist deshalb natürlich, zwei deterministische Mealy Automaten als äquivalent anzusehen, wenn sie ein übereinstim¬ mendes Eingangs- und Ausgangsalphabet haben und wenn ihre oben beschriebenen Zuordnungen äquivalent sind. Die Abbildunc wird dabei als partiell bezeichnet, weil im allgemeinen die Über¬ gangsfunktion und die Ausgangsfunktion nur partiell definierte Funktionen sind. Indem diese Funktionen vervollständigt werden, was z.B. in Z.Kohavi, 1978 beschrieben ist, kann das Problem des Vergleichs zweier unvollständig beschriebener Automaten auf einen Vergleich zweier vollständig beschriebener Automaten zurückgeführt werden. Im folgenden wird deshalb angnommen, daß die Ausgangs- und Übergangsfunktion vollständig definierte Funktionen sind, und es wird deshalb lediglich das Problem des Vergleichs zweier vollständiger deterministischer Mealy-Auto¬ maten betrachtet.
Zwei Zustände zweier deterministischer Mealy-Automaten mit übereinstimmenden Eingangs- und Ausgangsalphabeten heißen äquivalent genau dann, falls a) die Werte ihrer Ausgangsfunktionen für diese beiden Zustände bei jeweils gleichen Eingangssignalen übereinstim¬ men und
b) für alle Werte der Eingangssignale, die sich aus ihren Übergangsfunktionen aus diesen Zuständen ergebenden Zustände bei jeweils gleichen Eingangssignalen äquivalent sind.
Zwei deterministische Mealy-Automaten mit gleichen Eingangs¬ und Ausgangsalphabeten heißen äquivalent dann und nur dann, wenn ihre Anfangszustände äquivalent sind.
Ein Standardverfahren zur Überprüfung der 'Äquivalenz zweier
Mealy-Automaten wird in dem Aufsatz von Z.Kohavi 1978 beschrie¬ ben: Hierzu definiert man zu zwei Mealy-Automaten mit identi¬ schen Eingangs- und Ausgangsalphabeten den Produktautomaten, indem man als Eingangsalphabet des Produktautomaten das den beiden ursprünglichen Mealy-Automaten zugrundeliegende gemein¬ same Eingangsalphabet verwendet, die Menge der Zustände des Produktautomaten gleich dem karteεischen Produkt der Zustands- menge der Ausgangsautomaten wählt, das Ausgangsalphabet des Produktautomaten aus den beiden booleschen Werten "wahr" bzw. "falsch" bestehen läßt, der Ausgangsfunktion des Produktauto¬ maten den Wert "wahr" zuweist, falls die Ausgangsfunktionen der ursprünglichen Automaten übereinstimmen, der Ausgangs¬ funktion des Produktautomaten den Wert "falsch" zuweist, falls die Ausgangsfunktionen der ursprünglichen Automaten nicht übereinstimmen, und der Übergangsfunktion des Produktauto¬ maten die aus den Werten der Übergangsfunktionen der ursprüng¬ lichen Automaten gebildeten Zweitupel zuweist. Mit Hilfe die¬ ser Definition können die beiden Definitionen über die Äqui¬ valenz zweier Zustände zweier deterministischer Mealy-Auto- maten sowie die Definition über die Äquivalenz von Mealy- Automaten wie folgt formuliert werden:
Die Äquivalenzrelation zwischen Zuständen zweier determini¬ stischer Mealy-Automaten ist die größte Relation auf dem kar- tesischen Produkt der beiden Zustandsräume zweier Mealy-Auto- maten mit der folgenden Eigenschaft:
Ein Element des Produkt-Zustandεraums gehört zur Relation dann und nur dann, falls für alle Eingangswerte gilt:
Die Ausgangsfunktion des Produktautomaten nimmt für dieses Element des Produktzustandsraums den Wert "wahr" an und das Bild der Übergangsfunktion gehört ebenfalls zur Relation. Zwei deterministische mealy-Automaten heißen dann äquivalent dann und nur dann, falls sämtliche aus den Anfangszuständen dieser beiden Automaten gebildeten Zustände des Produktzustandsraums zu dieser Äquivalenzrelation gehören.
Die bekannten Verfahren (O.Coudert, Ch. Berthet, J.Ch. Madre, "Verification of sequential achines using boolean functional vectors", in IMEC-IFIP International Workshop on Applied Formal Methods For Correct VLSI Design, 1989; S.Devadas, Hi-Keung Tony Ma, R. Newton, "On the verification of sequential machines at differing levels of abstraction", IEEE-Transactions on
Computer-Aided Design, 7(6): 713-722, 1988; K.J.Supovit, S.J. Friedman, "A new method for verifying sequential circuits, in 23rd ACM/IEEE Design Automation Conference, 1986) zur Überprüfung der Äquivalenz zweier synchroner sequentieller Schaltkreise (Mealy-Automaten) gehen von einem Anfangszu¬ stand des Produktautomaten aus, und suchen nach einem Über¬ gang bei dem die Ausgangsfunktion des Produktautomateπ den Wert falsch annimmt, wodurch ein Unterschied im Ausganos- verhalten der beiden ursprünglichen Maschinen signalisiert wird. Falls kein solcher Übergang gefunden wird, nachdem der gesamte erreichbare Zustandsraum der Produktmaschine abge¬ arbeitet worden ist, ist die Äquivalenz der ursprünglchen Mealy-Automaten und damit der zu vergleichenden synchronen sequentiellen Schaltungen bewiesen.
Die explizite Konstruktion des Zustandsdiagra s (K.H.Supovit, S.J.Friedman 1986) des Produktautomaten ist ein sehr speicher¬ verzehrender Vorgang und kommt daher nur zur Verifikation mit Automaten mit nur sehr wenigen Zuständen, wie sie z.B. zu Kontrollschaltungen gehören, in Betracht. Andere Verfahren
(O.Coudert, et at, 1989) untersuchen den Produktautomaten ohne sein Zustandsdiagram explizit zu konstruieren. Die Untersu-
chung des Produktautomaten beginnt mit einem Anfangszusta d des Produktautomaten und bei jedem neuen Zustand wird überprüft, ob kein Übergang den Ausgang falsch erzeugt, wodurch ein unter- schiedliches Verhalten der ursprünglichen Automaten angezeigt würde. Bei einer derartigen Untersuchung des Produktautomaten bieten sich grundsätzlich zwei verschiedene Stratetgien zur Buchführung über alle erzeugten Zustände an: Die erste Strategie kann als depth-first Strategie bezeichnet werden (S.Devadas, et, 1988). Diese Strategie hat den Nachteil, daß ihre Komplexität linear mit der Zahl der erreichbaren Zu¬ stände wächst. Aus diesem Grunde können mit Hilfe dieser Strate¬ gie nur Automaten mit einer sehr kleinen Zahl von Zuständen (z.B. 2764 in dem Beispiel in dem Aufsatz von S.Devadas, et al, 1988) verglichen werden. Die zweite mögliche Strategie kann als breadth-first Strategie bezeichnet werden (O.Coudert, et al, 1989). Bei dieser Strategie werden in einem Schritt mehrere Zustände anstelle nur eines Zustandes, wie bie der depth-first Strategie behandelt, so daß diese Strategie von einer effi- zienten Darstellung von Mengen mit Hilfe binärer Entscheidungs¬ diagramme profitieren kann (R.E.Bryant, "Graph-based algorith- mus for boolean function manipulation", IEEE Transactionε Com¬ puter, C-35 (12): 1035-1044, 1966). Die Vorzüge dieses Ver¬ fahrens sind mit Hilfe von Beispielen demonstriert worden, bei denen Automaten mit bis zu 22 Mill. Zuständen verifiziert worden sind. Trotzdem wächst die Komplizität einer breadth- first Untersuchung linear mit der Länge des längsten Zyklus im erreichbaren Teil der Produktmaschine, und deshalb kann eine recht große Klasse interessanter Automaten, wie z.B. Zähler, nicht mit Hilfe eines solchen Verfahrens verglichen werden. Ein anderes Problem des Verfahrens von Coudert et al besteht darin, daß zu der Durchführung dieses Verfahrens zwischen ver¬ schiedenen Darstellungen gewechselt werden muß und daß der Wechsel zwischen diesen Darstellungen Operationen mit exponen- tieller Komplexität erfordert.
Um die Probleme, welche mit der Abarbeitung des erreichbaren Zustandsraumes eines Produktautomaten und der adäquaten Darstel¬ lung von Mealyautomaten einhergehen, zu überwinden, wird ein anderes Verfahren verwendet. Aus der Definition der Äquivalenz zweier Zustände bzw. der Äquivalenz zweier Mealyautomaten geht hervor, daß für den Fall, daß zwei nicht äquivalente Zustände existieren es eine endliche Eingangssequenz geben muß, für welche sich die zugehörigen Ausgangssequenzen der beiden Mea- lyautomaten unterscheiden. Es wird daher angenommen, daß in den meisten praktisch interessierenden Fällen eine recht kurze Eingangssequenz existiert, welche diese Eigenschaft hat, da, wenn zwei Zustände nicht äquivalent sind, dies nach einer kur¬ zen Zeit bei Verwendung einer geeigneten Eingangssequenz am Ausgang beobachtbar sein sollte. Anstelle also den gesamten erreichbaren Zustandsraum zu erzeugen und die Äquivalenz aller Zustände zu überprüfen, wie dies bei den Verfahren aus der Li¬ teratur geschieht, wird bei dem erfindungsgemäßen Verfahren die gesamte Relation der nicht äquivalenten Zustände, d.h. das Komplement der Menge der äquivalenten Zustände auf dem Produkt¬ raum der Zustände berechnet. Die Berechnung wird mittels einer Fixpunkt-Iteration durchgeführt, in der nur einfache Operationen auf binären Entscheidungsdiagrammen benötigt werden.
Zur Durchführung dieser Iteration betrachtet man als Ausgangs¬ punkt die Menge aller Zustandspaare, d.h. die Menge aller Zu¬ stände des Produktautomaten der zu überprüfenden Mealy-Auto¬ maten, welche unterschiedliche Ausgangswerte für mindestens ein Eingangsmuster haben. Diese Ausgangsmenge wird nun schritt- weise um diejenigen Zustandspaare erweitert, für welche gilt, daß von ihnen aus unter Anwendung der Übergangsfunktionen der zu verifizierenden Mealyautomaten bzw. der Übergangsfunktion des Produktautomaten die Zustandspaare der Ursprungsmenge in endlich vielen Schritten unter Annahme geeigneter Eingangs- muster erreicht werden könnnen. Diese Iteration endet, falls die dabei erzeugte Menge von Zustandspaaren sich nicht mehr ändert, falls also ein Fixpunkt erreicht wird. Es ist klar aus der Definition der Äquivalenz von Mealyautomaten, daß diese Fixpunktmenge die Menge aller nicht äojivalenten Zustände ist.
Es handelt sich also um alle nicht äquivalenten Zustandspaare der zu vergleichenden Mealyautomaten. Diese sind nun äquiva¬ lent, falls ihre Anfangszustände äquivalent sind. Es bleibt also lediglich zu prüfen, ob die Anfangszustände der zu ver¬ gleichenden Mealyautomaten bzw. die aus diesen Zuständen ge¬ bildeten Zustandspaare Elemente der erzeugten Fixpunktmenge sind oder nicht. Dieses Verfahren hat den Vorteil, daß in allen praktisch untersuchten Fällen die Fixpunktmenge bereits nach sehr wenigen Schritten konstruiert ist. Daneben hat dieses Verfahren den Vorteil, daß alle zur Konstruktion der Fixpunkt¬ menge nötigen Operationen sehr effizient mit Hilfe binärer Ent¬ scheidungsdiagramme realisiert werden können. Diese werden in dem Aufsatz von Bryant 1986 detailliert beschrieben (R.E. Bryant, "Graph based algorithmus for boolean function manipu- lation", IEEE Trans. Computer, C-35 (12): 1035-1044, 1986).
Bei synchronen sequentiellen Digitalschaltungen sind die Zu¬ stände und Eingangs- bzw. Ausgangssignale der diese Schalt- kreise modellierenden Mealyautomaten boolesche Vektoren und die Ausgangs- und Übergangsfunktionen sind als vektorwertige boolesche Funktionen definiert, deren Argumente boolesche Vektoren sind. Zur Darstellung solcher booleschen Funktionen und der Operationen auf ihnen wurden von Bryant (R.E.Bryant 1986) die binären Entscheidungsdiagramme (BODS) eingeführt.
Binäre Entscheidungsdiagramme haben vorteilhafte Eigenschaften nur für bestimmte Klassen boolescher Funktionen, da die Größe eines binären Entscheidungsdiagramms, welches eine boolesche Funktion darstellt, schlimmstenfalls eine expondentiell wach- sende Funktion der Zahl der Argumente dieser booleschen Funk¬ tion ist. Andererseits haben empirische Untersuchungen ergeben, daß boolesche Funktionen, welche durch kombinatorische oder sequentielle Digitalschaltungen realisiert werden, kompakte Darstellungen durch binäre Entscheidungsdiagramme haben und dal? binäre Entscheidungsdiagramme vorteilhaft zur Darstellung sequentieller Digitalschaltungen eingesetzt werden können.
In dem oben beschriebenen Fixpunktiterationsverfahren zur Erzeugung der Relation der nicht äquivalenten Zustände zweier
Mealyautomaten wird eine Methode zur Darstellung der Mengen, welche im Laufe des Fixpunktiterationsverfahrens erzeugt wer¬ den benötigt. Diese Mengen sind Relationen über dem kartesi- sehen Produkt der Zustandsräume beider Mealyautomaten, d.h. Teilmengen eines binären Einheitswürfels entsprechender Dimen¬ sionen. Jede Teilmenge U eines k-dimensionalen binären Würfels kann durch ihre charakteristische Funktion beschrieben werden, welche jedem Punkt des binären Würfels, welcher zugleich Ele- ent der Menge U ist, den Wert 1 zuordnet und allen anderen
Elementen des Würfels den Wert 0. Dabei entspricht die charak¬ teristische Funktion einer Durchschnittsmenge zweier Mengen der UND-Verknüpfung beider charakteristischen Funktionen die¬ ser Mengen, die charakteristische Funktion einer Vereinigungs- menge der ODER-Verknüpfung und die charakteristische Funktion einer Diferenzbildung der UND-Verknüpfung der charakteristi¬ schen Funktionen der Ausgangsmenge mit der charakteristi¬ schen Funktion des Komplements der subtrahierten Menge. In dem Aufsatz von J.R.Burch, et al, "Sequential cireuit verification using symbolic model checking", in ACM/IEEE Desgin Automation Conference, 1990, wird anstelle der Übergangsfunktion die entsprechende Übergangsrelation zur Modellierung einer syn¬ chronen sequentiellen Digitalschaltung verwendet. Diese Über¬ gangsrelation wird mit Hilfe eines binären Entscheidungsdia- gramms der charakteristischen Funktion dieser Übergangsrelation dargestellt. Empirische Untersuchungen haben gezeigt, daß die Darstellung synchroner sequentieller Digitalschaltungen und kombinatorischer Digitalschaltungen mit Hilfe funktionaler Vektoren binärer Entscheidungsdiagramme Vorteile gegenüber einer Darstellung in Form von charakteristischen Funktionen hat, da sie offenbar in der Lage ist, Schaltkreise höherer Komplexität darzustellen.
Auf der Basis der Darstellung von Mealyautomaten und Relationen mit Hilfe von booleschen Funktionen und damit durch binäre
Entscheidungsdiagramme wird nun die Realisierung des Fixpunkt¬ verfahrens zur Berechnung der Relation der nicht äαuivalenten
Zustände zweier Mealyautomaten beschrieben. Der erste Schritt zur Vorbereitung der Fixpunktiteration besteht in der Berech¬ nung der Ausgangsrelation MO, zu welcher alle Zustandspaare, welche aus zwei Zuständen der beiden Mealyautomaten gebildet sind, gehören, für welche gilt, daß mindestens ein Eingangs¬ signal existiert, für welches die Ausgangsfunktionen der beiden Mealyautomaten für die beiden Zustände verschiedene Werte annehmen. Sind die Ausgangsfunktionen der beiden Mealyautomaten als Vektoren binärer Entscheidungsdiagramme gegeben, kann die charakteristische Funktion der Ausgangsrelation einfach berech¬ net werden.
Dazu werden aus den Vektoren von binären Entscheidungsdiagra - men für die Ausgangsfunktionen für jeden einzelnen Ausgang die zugehörigen binären Entscheidungsdiagramme "EXOR" verknüpft. Für jeden Ausgang wird also ein binäres Entscheidungsdiagramm berechnet, welches für genau die Zustandspaare und Eingangssignεl den Wert "wahr" liefert für die dieser Ausgang in beiden Mealy- automaten einen unterschiedlichen Wert liefert. Auf jedes die¬ ser binären Entscheidungsdiagramme wird anschließend ein Exi¬ stenzoperator bezüglich der Eingänge angewandt. Ein so berech¬ netes binäres Entscheidungsdiagramm gibt genau für die Paare von Zuständen den Wert "wahr", für welche mindestens ein Eingabe- signal existiert, so daß das ursprüngliche binäre Entscheidungs¬ diagramm den Wert "wahr" liefert, also der Ausgang einen unter¬ schiedlichen Wert liefert. Der Existenzoperator auf einem binären Entscheidungsdiagramm bezüglich einer Menge von Eingängen kann sukzessive durch den Existenzoperator bezüglich eines einzelnen Eingangs berechnet werden. Dazu wird auf das ursprüngliche binäre Entscheidungsdiagramm der Existenzoperator bezüglich des erster. Eingangs berechnet. Auf das entstandene binäre Entscheidungsdiε- gram wird der Existenzoperator bezüglich des zweiten Eingangs berechnet. Dieses Verfahren wird bis zum letzten Eingang fort- gesetzt. Zur Berechnung eines Existenzoperators bezüglich eines Eingangs wird in dem binären Entscheidungsdiagramm der Eingang durch "wahr" bzw. "falsch" substituiert und die beiden ent-
stehenden binären Entscheidungsdiagramme werden "ODER" ver¬ knüpft. Der Existenzoperator ist also auf einfache Substitution und "ODER"-Verknüpfung zurückführbar. Nach Anwendung des Exi- stenzoperators werden die für die einzelnen Ausgänge entstande¬ nen binären Entscheidungsdiagramme noch alle "ODER" verknüpft und das Ergebnis ist ein binäres Entscheidungsdiagramm, welches die charakteristische Funktion für MO darstellt. Eine explizite Berechnung der Zwischenergebnisse ist nicht unbedingt erforder- lieh, sondern die gesamte oben beschriebene Berechnung von MO aus den Vektoren von binären Entscheidungsdiagrammen für die Ausgangsfunktionen kann auch zu einem einzigen Schritt ver¬ schmolzen werden.
Die Ausgangsrelation MO ist der Ausgangspunkt der Fixpunktite¬ ration, welche aus der Ausgangsrelation weitere Relationen be¬ rechnet.
Während des Ablaufs des Iterationsverfahrens wird die cha- rakteristische Funktion der zwischendurch auftretenden Re¬ lationen M(i) aus den vorhergehenden charakteristischen Funk¬ tionen durch folgende Schritte berechnet:
In dem binären Entscheidungsdiagramm der charakteristischen Funktion für M(i) werden die Zustände durch die binären Ent¬ scheidungsdiagramme ihrer Zustandsübergangsfunktionen ersetzt. Dies entspricht der Substitution von Variablen in binären Ent¬ scheidungsdiagrammen durch binäre Entscheidugnsdiagramme. Das berechnete binäre Entscheidungsdiagramm gibt für jedes Paar von Zuständen und jedes Eingabesignal genau dann den Wert
"wahr", wenn die Nachfolgezustände der betrachteten Zustände unter der Wirkung der Übergangsfunktion der Mealy-Automaten die Eigenschaft haben, daß die charakteristische Funktion der Rela¬ tion M(i) dieses Iterationsschrittes den Wert "wahr" besitzt. Auf das berechnete binäre Entscheidungsdiagramm wird der Exi¬ stenzoperator bezüglich der Eingangssignale angewandt und das Ergebnis mit dem binären Entscheidungsdiagramm der charakteri-
stischen Funktion der Relation M(i) "ODER" verknüpft, die Relation M(i) wird also um genau die Paare von Zuständen erweitert, für welche mindestens ein Eingabesignal existiert, so daß die Nachfolgezustände in der Relation M(i) enthalten sind. Zur Durchführung des Iterationsschrittes sind also lediglich Einsetzung, d.h. Substitution undf."ODER"-Verknü- pfung auf binären Entscheidungsdiagrammen erforderlich, da der Existenzoperator wie vorherbeschrieben auf Substition und nODER"-Verknüpfung zurückgeführt werden kann. Eine expli¬ zite Berechnung der Zwischenergebnisse ist nicht unbedingt erforderlich, sondern die gesamte oben beschriebene Berech¬ nung kann zu einer einzigen Operation verschmolzen werden.
Im Effekt sind diese Operationen gleichwertig zu einer Vereini¬ gung von Teilmengen des Produktzustandsraumes, bei der die Menge M(i), welche die Relation dieses Iterationsschrittes repräsentiert, mit der Menge der Vorgänger-Zustandspaare unter der Wirkung der Übergangsfunktionen der zu vergleichenden Mea- ly Automaten vereinigt wird, um die Menge M(i+1) zu erhalten, welche die Relation des nachfolgenden Iterationsschrittes repräsentiert.
Das Iterationsverfahren bricht ab, wenn ein Iterationsschritt zu keiner Veränderung der Relation führt. Um dies festzustel¬ len, ist ein einfacher Vergleich zweier aufeinander folgender binärer Entscheidungsdiagramme, welche die charakteristischen Funktionen der Relationen darstellen, erforderlich.
Die zu vergleichenden Mealy-Automaten sind dann äquivalent, wenn ihre Anfangszustände nicht zur Relation M der nichtäquiva¬ lenten Zustände gehören.
Die Kombination der Darstellung von Mealyautomaten mit Hilfe von Vektoren von Funktionen, d.h. binärer Entscheidungs¬ diagramme, und der Darstellung von Mengen durch ihre charak¬ teristischen Funktionen kann mit Hilfe der obigen Substitionen
einfach und elegant ausgeführt werden. Das Verfahren von Coudert et al (O.Coudert 1989) benötigt eine explizite Über¬ führung der beiden Darstellungen ineinander, obwohl damit Opera- tionen von exponentieller Komplexität verbunden sind. Das Ite¬ rationsverfahren kommt zum Stillstand, falls die erzeugten Mengen bzw. Relationen zwischen zwei Iterationschritten identisch sind. Diese Identität wird durch Auswertung der binären Entscheidungsdiagramme der charakteristischen Funk- tionen, welche diese Mengen repräsentieren durchgeführt.
Damit ist die Realisierung des gesamten Fixpunktverfahrens auf der Grundlage binärer Entscheidungsdiagramme beschrieben. Die einzigen Operationen auf binären Entscheidungsdiagrammen, welche innerhalb der Fixpunktiteration benötigt werden, sind die booleschen Funktionen "ODER" bzw. "ungleich" und die Er¬ setzung (Substitution) von Variablen boolescher Funktionen bzw. von Entscheidungsdiagrammen.