Janett Mohnke

A Signature-Based Approach to Formal Logic Verification

Dissertation zur Erlangung des akademischen Grades doctor rerum naturalium (Dr. rer. nat.) vorgelegt an der Mathematisch-Naturwissenschaftlich-Technischen Fakultät der Martin-Luther-Universität Halle-Wittenberg
verteidigt am 12.02.1999

Abstract
In der vorliegenden Arbeit untersuchen wir das Problem, für zwei Boolesche Funktionen zu testen, ob es eine Permutation ihrer Eingangsvariablen gibt, unter der diese Funktionen äquivalent sind. Eine Lösung für dieses Problem ist in verschiedenen Gebieten der Synthese und Verifikation kombinatorischer Schaltkreise von Nutzen. In der Logikverifikation findet es dann Verwendung, wenn die genaue Zuordnung der Eingangsvariablen der zu verifizierenden Schaltkreise nicht mehr bekannt ist. Das Problem ist NP-schwer, weshalb auf heuristische Lösungsansätze zurückgegriffen werden muß. Der Lösungsansatz, der in dieser Arbeit vorgestellt wird, berechnet für jede der Eingangsvariablen einer Booleschen Funktion Signaturen. Diese Signaturen sollen helfen, eine für Permutationsäquivalenz gültige Zuordnung der Variablen auszuwählen. Signaturen sind für eine große Anzahl der getesten Beispiele sehr wirkungsvoll. Leider gibt es auch oft Variablen, die nicht eindeutig identifiziert werden können. Interessanterweise gehören zu dieser Menge, für ein gegebenes Beispiel, immer nahezu dieselben Variablen - unabhängig von der verwendeten Signatur. In der vorliegenden Arbeit wird dieses Problem eingehend untersucht. Außerdem zeigen wir, wie die vorgestellten Methoden zur Lösung eines Problems der Verifikation sequentieller Schaltkreise herangezogen werden können, dem Problem, eine Zuordnung der Speicherelemente zweier sequentieller Schaltkreise zu finden, wenn diese nicht mehr bekannt ist, man aber weiß, daß die Zustände beider Schaltkreise mit der gleichen Methode kodiert wurden. Die Effizienz der in dieser Arbeit vorgestellten Methoden wird anhand einer Vielzahl von Experimenten veranschaulicht.

We consider the problem of checking the equivalence of two Boolean functions under arbitrary input permutations. This problem has several applications in the synthesis and verification of combinational logic. In logic verification this is needed when the exact correspondence of inputs between the two circuits is not known. The problem is NP-hard, thus recourse is taken to heuristics that work well in practice. The approach presented in this thesis computes signatures for each input variable that will help to establish correspondence of variables. Signatures work well for a large number of the investigated examples. However, for each choice of signature, there remain variables that cannot be uniquely identified. Our research has shown that, for a given example, this set of problematic variables tends to be the same - regardless of the choice of signatures. In this thesis, we investigate this problem. Furthermore, we demonstrate how the introduced techniques can be applied to a problem in sequential logic verification, the problem of establishing the unknown correspondence of the latches (memory elements) of two sequential circuits which have the same state encoding. Experimental results on a large number of examples establish the efficacy of the introduced methods.

Keywords:
Boolesche Funktion, ROBDD (reduced ordered binary decision diagram), kombinatorische Permutationsäquivalenz

Boolean function, reduced ordered binary decision diagram, permutation independent Boolean comparison

Online-Dokument im PDF-Format (689 KB) mit integrierter Gliederung und im PS-Format (497 KB, 3 PS-Dateien im ZIP-Format gepackt).

Inhaltsverzeichnis
Contents (1-2)
1 Introduction (5-7)
2 Background (9-16)
3 The Combinational Permutation Equivalence Problem (17-38)
4 Limits of Using Signatures (39-60)
5 The Latch Correspondence Problem (61-72)
6 Conclusion (73-75)
Appendix: Benchmark Descriptions (76-81)
Bibliography (82-84)