Skip to main content
Log in

An Abstraction Algorithm for the Verification of Level-Sensitive Latch-Based Netlists

  • Published:
Formal Methods in System Design Aims and scope Submit manuscript

Abstract

High-performance hardware designs often intersperse combinational logic freely between level-sensitive latch layers (wherein each layer is transparent during only one clock phase), rather than utilizing master-slave latch pairs with no combinational logic between. While such designs may generally achieve much faster clock speeds, this design style poses a challenge to verification. In particular, unless the k-phase netlist N is abstracted to a full-cycle register-based netlist N′, verification of N requires k times (or greater) as many state variables as would be necessary to obtain equivalent verification of N′. We present algorithms to automatically identify and abstract k-phase netlists—i.e., to perform phase abstraction—by selectively eliminating latches. The abstraction is valid for model checking CTL* formulae which reason solely about latches of a single phase. This algorithm has been implemented in the model checker RuleBase, and used to enhance the model checking of IBM's Gigahertz Processor, which would not have been feasible otherwise due to computational constraints. This abstraction has furthermore allowed verification engineers to write properties and environments more efficiently.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

References

  1. A. Albrecht and A.J. Hu, “Register transformations with multiple clock domains,” in Proceedings of the Conference on Correct Hardware Design and Verification Methods, Sept. 2001, pp. 126–139.

  2. J. Baumgartner, “Automatic structural abstraction techniques for enhanced verification,” PhD Thesis, University of Texas at Austin, December 2002.

  3. J. Baumgartner, A. Tripp, A. Aziz, V. Singhal, and F. Andersen, “An abstraction algorithm for the verification of generalized C-slow designs,” in Proceedings of the Conference on Computer-Aided Verification, July 2000, pp. 5–19.

  4. I. Beer, S. Ben-David, C. Eisner, D. Fisman, A. Gringauze, and Y. Rodeh, “The temporal logic sugar,” in Proceedings of the Conference on Computer-Aided Verification, July 2001, pp. 363–367.

  5. I. Beer, S. Ben-David, C. Eisner, and A. Landver, “RuleBase: An industry-oriented formal verification tool,” in Proceedings of the Design Automation Conference, June 1996, pp. 655–660.

  6. M.C. Browne, E.M. Clarke, and O. Grumberg, “Characterizing finite kripke structures in propositional temporal logic,” Theoretical Computer Science, Vol. 59, pp. 115–131, 1988.

    Google Scholar 

  7. J. Cheriyan and S.N. Maheshwari, “Analysis of preflow push algorithms for maximum network flow,” SIAM Journal on Computing, Vol. 18, pp. 1057–1086, 1989.

    Google Scholar 

  8. E.M. Clarke, E.A. Emerson, and A.P. Sistla, “Automatic verification of finite-state concurrent systems using temporal logic specifications,” ACM Transactions on Programming Languages and Systems, Vol. 8, No. 2, pp. 244–263, 1986.

    Google Scholar 

  9. E.A. Emerson and J.Y. Halpern, “Sometimes and not never revisited: On branching time versus linear time temporal logic,” Journal of the ACM, Vol. 33, No. 1, pp. 151–178, 1986.

    Google Scholar 

  10. O. Grumberg and D.E. Long, “Module checking and modular verification,” ACM Transactions on Programming Languages and Systems, Vol. 16, No. 3, pp. 843–871, 1994.

    Google Scholar 

  11. G. Hasteer, A. Mathur, and P. Banerjee, “Efficient equivalence checking of multi-phase designs using phase abstraction and retiming,” in ACM Transactions on Design Automation of Electronic Systems, October 1998, pp. 600–625.

  12. T.A. Henzinger, S. Qadeer, and S.K. Rajamani, “Assume-guarantee refinement between different time scales,” in Proceedings of the Conference on Computer-Aided Verification, July 1999, pp. 208–221.

  13. A.J. Hu, G. York, and D.L. Dill, “New techniques for efficient verification with implicitly conjoined BDDs,” in Proceedings of the Design Automation Conference, June 1994, pp. 276–282.

  14. H. Jin, A. Kuehlmann, and F. Somenzi, “Fine-grain conjunction scheduling for symbolic reachability analysis,” in Tools and Algorithms for the Construction and Analysis of Systems, April 2002, pp. 312–326.

  15. Z. Kohavi, Switching and Finite Automata Theory, Computer Science Series, McGraw-Hill Book Company, 1970.

  16. A. Kuehlmann and J. Baumgartner, “Transformation-based verification using generalized retiming,” in Proceedings of the Conference on Computer-Aided Verification, July 2001, pp. 104–117.

  17. C.E. Leiserson and J.B. Saxe, “Optimizing synchronous systems,” Journal of VLSI and Computer Systems, Vol. 1, No. 1, pp. 41–67, 1983.

    Google Scholar 

  18. C.E. Leiserson and J.B. Saxe, “Retiming synchronous circuitry,” Algorithmica, Vol. 6, No. 1, pp. 5–35, 1991.

    Google Scholar 

  19. K.L. McMillan, Symbolic Model Checking, Kluwer Academic Publishers, 1993.

  20. R. Milner, Communication and Concurrency, Prentice Hall, New York, 1989.

    Google Scholar 

  21. J.B. Orlin, “A faster strongly polynomial minimum cost flow algorithm,” in Proceedings of the 20th ACM Symposium on the Theory of Computing, May 1988, pp. 377–387.

  22. R. Rudell, “Dynamic variable ordering for ordered binary decision diagrams,” in IEEE/ACM International Conference on Computer-Aided Design, Nov. 1993, pp. 42–47.

  23. H. Touati and R. Brayton, “Computing the initial states of retimed circuits,” IEEE Transactions on Computer-Aided Design, Vol. 12, No. 1, pp. 157–162, 1993.

    Google Scholar 

  24. N.Weste, K. Eshraghian, and M.J.S. Smith, Principles of CMOSVLSI Design: A Systems Perspective, Addison Wesley, 2001.

Download references

Author information

Authors and Affiliations

Authors

Rights and permissions

Reprints and permissions

About this article

Cite this article

Baumgartner, J., Heyman, T., Singhal, V. et al. An Abstraction Algorithm for the Verification of Level-Sensitive Latch-Based Netlists. Formal Methods in System Design 23, 39–65 (2003). https://doi.org/10.1023/A:1024485130001

Download citation

  • Issue Date:

  • DOI: https://doi.org/10.1023/A:1024485130001

Navigation