A Boolean Equivalence Testing Algorithm based on a Derivational Method
Gyo-Sik Moon · Journal of Electrical Engineering and Information Science · 1997
The main purpose of the Boolean equivalence problem is to verify that two Boolean expressions have the same functionality. Simulation has been extensively used as the standard method for the equivalence problem. Obviously, the number of tests required to perform a satisfactory coverage grows exponentially with the number of input variables. However, formal methods as opposed to simulation are getting more attention from the community. We propose a new algorithm called the Cover-Merge Algorithm based on a derivational method using the concept of cover and merge for the equivalence problem and investigate its theoretical aspects. Because of the difficulty of the problem, we emphasize simplification techniques in order to reduce the search space or problem size. Heuristics based on types of merges are developed to speed up the derivation process by allowing simplifications. In comparison with widely used technique called Binary Decision Diagram or BDD, the algorithm proposed outperforms BDD in nearly all cases of input including standard benchmark problems.