Symbolic Simulation with Approximate Values
Symbolic methods such as model checking using binary decision diagrams (BDDs) have had limited success in verifying large designs because BDD sizes regularly exceed memory capacity. Symbolic simulation is a method that controls BDD size by allowing the user to specify the number of symbolic variables in a test. However, BDDs still may blow up when using symbolic simulation in large designs with a large number of symbolic variables. This paper describes techniques for limiting the size of the internal representation of values in symbolic simulation no matter how many symbolic variables are present. The basic idea is to use approximate values on internal nodes; an approximate value is one that consists of combinations of the values 0, 1, and X. If an internal node is known not to affect the functionality being tested, then the simulator can output a value of X for this node, reducing the amount of time and memory required to represent the value of this node. Our algorithm uses categorization of the symbolic input variables to determine which node values can be more approximate and which can be more exact.
KeywordsModel Check Leaf Node Internal Node Unit Propagation Care Variable
Unable to display preview. Download preview PDF.
- 1.V. Bertacco, M. Damiani, and S. Quer. Cycle-based symbolic simulation of gatelevel synchronous circuits. In Proc. of 36th Design Automation Conf., pages 391–396, 1999.Google Scholar
- 2.A. Biere, A. Cimatti, E. M. Clarke, M. Fujita, and Y. Zhu. Symbolic model checking using sat procedures instead of bdds. In Proc. of 36th Design Automation Conf., pages 317–320, 1999.Google Scholar
- 5.M. Dalal. Efficient propositional constraint propagation. In Proc. of the Tenth National Conf. on Artificial Intelligence (AAAI-92), pages 409–414, 1992.Google Scholar
- 7.M. Ganai, A. Aziz, and A. Kuehlman. Augmenting simulation with symbolic algorithms. In Proc. of 36th Design Automation Conf., pages 385–390, 1999.Google Scholar
- 8.S. Govindaraju, D. L. Dill, A. J. Hu, and M. A. Horowitz. Approximate reachability with bdds using overlapping projections. In Proceedings of the 35th Design Automation Conference, June 1998. San Francisco, CA.Google Scholar
- 9.R. Ho and M. Horowitz. Validation coverage analysis for complex digital designs. In 1996 IEEE International Conference on Computer-Aided Design, pages 146–151, 1996.Google Scholar
- 11.R. Jones, M. Aagard, and C.-J. Seger. Formal verification using parametric representations of boolean constraints. In Proc. of 36th Design Automation Conf., pages 402–407, 1999.Google Scholar
- 12.D. E. Long. Cmu bdd package, 1993.Google Scholar
- 14.K. Ravi, K. McMillan, T. Shiple, and F. Somenzi. Approximation and decomposition of binary decision diagrams. In Proc. of 35th Design Automation Conf., pages 445–450, 1998.Google Scholar
- 16.W.-D. Weber et al. The mercury interconnect architecture: A cost-effective infrastructure for high-performance servers. In Proc. of the 24th Annual Intl. Symp. on Computer Architecture (ISCA97), 1997.Google Scholar
- 17.C. Wilson and D. L. Dill. Reliable verification using symbolic simulation with scalar values. In Proceedings of the 37th Design Automation Conference, June 2000. Los Angeles, CA.Google Scholar