Equivalence Checking and Simulation By Computing Range Reduction
Abstract
We introduce new methods of equivalence checking and simulation based on Computing Range Reduction (CRR). Given a combinational circuit , the CRR problem is to compute the set of outputs that disappear from the range of if a set of inputs of is excluded from consideration. Importantly, in many cases, range reduction can be efficiently found even if computing the entire range of is infeasible. Solving equivalence checking by CRR facilitates generation of proofs of equivalence that mimic a "cut propagation" approach. A limited version of such an approach has been successfully used by commercial tools. Functional verification of a circuit by simulation can be viewed as a way to reduce the complexity of computing the range of . Instead of finding the entire range of and checking if it contains a bad output, such a range is computed only for one input. Simulation by CRR offers an alternative way of coping with the complexity of range computation. The idea is to exclude a subset of inputs of and compute the range reduction caused by such an exclusion. If the set of disappeared outputs contains a bad one, then is buggy.
Cite
@article{arxiv.1507.02297,
title = {Equivalence Checking and Simulation By Computing Range Reduction},
author = {Eugene Goldberg},
journal= {arXiv preprint arXiv:1507.02297},
year = {2015}
}
Comments
The difference of this version from the previous one (i.e. version number 2) is twofold. First, I improved the readability of the paper. Second, I removed the claim that equivalence checking by computing range reduction is noise-insensitive. The final result is indeed noise-insensitive but the presence of noise may drastically slow down an algorithm computing this result