Simplification in a satisfiability checker for VLSI applications
- 35 Downloads
INSTEP is a satisfiability checker designed for the original purpose of solving a specific target set of problems in the formal verification of VLSI circuits. These are real-world problems concerning a sequential circuit that is part of a commercial chip manufactured by Texas Instruments. The program has succeeded in solving these problems, which require satisfiability checking for combinational representations containing up to around 10 000 variables and a graphical representation of around 17 000 nodes. It has also been successfully applied to a number of standard benchmark problems in combinational circuit verification. Results on these benchmarks are overall competitive with those for the widely used method based onbinary decision diagrams, and for the first time demonstrate the solution in polynomial time of certain benchmarks involving combinational multipliers.
A central part of the INSTEP algorthim is simplification. Most simplifications that take place in previous tautology checkers consist of the replacement of a formula by a shorter formula that is logically equivalent. Most simplifications in INSTEP replace a formula by another formula which isnot logically equivalent, but such that satisfiability is nevertheless preserved. These new simplifications depend on the pattern of occurrence of one or more variables and particularly on theirpolarity.
The simplifications used by INSTEP rest on several new theorems in an area of propositional calculus (or Boolean algebra) which is crucial to the general theory of effective simplification of propositional formulas. The primary purpose of the present paper is to demonstrate these theorems and explain the simplifications that depend on them.
For the present paper we have tried INSTEP on the well-known pigeonhole problem. So far as we know INSTEP is the first implemented program to produce proofs of polynomial length for pigeonhole problems. It also produces these proofs in polynomial time.
Key wordsHardware verification satisfiability checker pigeonhole problem
Unable to display preview. Download preview PDF.
- 1.Bibel, W.Automated Theorem Proving (Second edition), Vieweg Verlag, Braunschweig (1987).Google Scholar
- 2.Bibel, W., ‘Short proofs of the pigeonhole formulas based on the connection method’,J. Automated Reasoning 6, 287–298 (1990).Google Scholar
- 3.Boole, G.,An Investigation of The Laws of Thought, 1854. Reprint. Dover Publications. No place or date.Google Scholar
- 4.Brayton, R. K., Hachtel, G. D., McMullen, C. T., and Sangiovanni-Vincentelli, A.,Logic Minimization Algorithms for VLSI Synthesis. Kluwer Academic Publishers, Boston (1984).Google Scholar
- 5.Bryant, R. E., ‘Graph-based algorithms for Boolean function manipulation’,IEEE Trans. on Computers C-35, 667–691 (August, 1986).Google Scholar
- 6.Burch, J. R.,et al., ‘Symbolic model checking: 1020 states and beyond’,Proceedings Fifth Annual IEEE Symposium on Logic in Computer Science, pp. 428–439 (1990).Google Scholar
- 7.Buss, S. R., ‘Polynomial size proofs of the propositional pigeonhole principle’,J. Symbolic Logic 52, 916–927 (1987).Google Scholar
- 8.Claesen, L. (ed.),Formal VLSI Correctness Verification: VLSI Design Methods — II (Proceedings IFIP WG 10.2/WG 10.5 International Workshop on Applied Formal Methods for Correct VLSI Design). North-Holland, Amsterdam (1990).Google Scholar
- 9.Cook, S. A., ‘A short proof of the pigeon hole principle using extended resolution’,ACM SIGACT News 8, 28–32 (1976).Google Scholar
- 10.Couturat, L.,The Algebra of Logic. Open Court, Chicago (1914).Google Scholar
- 11.Davis, M. and Putnam, H., ‘A computing procedure for quantification theory’,J. ACM 7, 201–215 (1960).Google Scholar
- 12.Fujita, M., Fujisawa, H., and Kawato, N., ‘Evaluation and improvements of Boolean comparison methods based on binary decision diagrams’,Proc. ICCAD, 2–5 (1988).Google Scholar
- 13.Garey, Michael R. and Johnson, David S.,Computers and Intractability: A Guide to the Theory of NP-Completeness. W. H. Freeman, New York (1979).Google Scholar
- 14.Hachtel, G. D. and Jacoby, R. M., ‘Verification algorithms for VLSI synthesis’,IEEE Trans. Computer-Aided Design 7, 616–640 (May, 1988).Google Scholar
- 15.Haken, A., ‘The intractability of resolution’,Theor. Computer Sci. 39, 297–308 (1985).Google Scholar
- 16.Haralick, R. M. and Wu, S.-H., ‘An approximate linear time propagate and divide theorem prover for propositional logic’,Int. J. Pattern Recognition, Artificial Intelligence 1, 141–155 (April, 1987).Google Scholar
- 17.Hunter, G.,Metalogic: An Introduction to the Metatheory of Standard First Order Logic. University of California Press, Berkeley (1971).Google Scholar
- 18.Madre, J. C., ‘Benchmarks for tautology checking — experimental results’, in , pp. 119–124.Google Scholar
- 19.Malik, S., Wang, A. R., Brayton, R. K., and Sangiovanni-Vincentelli, A., ‘Logic verification using binary decision diagrams in a logic synthesis environment’,Proc. ICCAD, pp. 6–9 (1988).Google Scholar
- 20.Quine, W. V. O.,Methods of Logic. Holt, Rinehart, Winston, New York (1950).Google Scholar
- 21.Robinson, J. A.,Logic: Form and Function. North-Holland, New York (1979).Google Scholar
- 22.Roth, J. P., ‘VERIFY: An algorithm to verify a computer design’,IBM Tech. Disclosure Bull. 15, 2646–2648 (1973).Google Scholar
- 23.Roth, J. P.,Computer Logic, Testing, and Verification. Computer Science Press, Potomac, Md (1980).Google Scholar
- 24.Shannon, C. E., ‘A symbolic analysis of relay and switching circuits’,Trans. AIEE 57, 713–719 (1938).Google Scholar
- 25.Smith, G. L., Bahnsen, J., and Halliwell, H., ‘Boolean comparison of hardware and flowcharts’,IBM Res. Dev. 26, 106–116 (1982).Google Scholar
- 26.Van Gelder, A., ‘A satisfiability tester for non-clausal propositional calculus’,Proceedings 7th International Conference on Automated Deduction (Lecture Notes in Computer Science, Vol. 170). Springer-Verlag, New York (1984).Google Scholar
- 27.Vlach, F., ‘A note on the INSTEP tautology checker and the IFIP and ISCAS benchmarks’, in , pp. 89–94.Google Scholar
- 28.Vlach, F., ‘A tautology checker for VLSI applications that uses rule-based simplification and directed backtracking’, Technical Report N-90-0010, Department of Computer Science, University of North Texas, 1990.Google Scholar
- 29.Wegener, Ingo,The Complexity of Boolean Functions. Wiley, New York (1987).Google Scholar
- 30.Wei, R.-S. and Sangiovanni-Vincentelli, A., ‘PROTEUS: A logic verification system for combinational circuits’, inProceedings 1986 IEEE International Test Conference, pp. 350–358.Google Scholar