Skip to main content

An Abstraction Algorithm for the Verification of Generalized C-Slow Designs

  • Conference paper

Part of the Lecture Notes in Computer Science book series (LNCS,volume 1855)

Abstract

A c-slow netlist N is one which may be retimed to another netlist N ’, where the number of latches along each wire of N ’ is a multiple of c. Leiserson and Saxe [1, page 54] have shown that by increasing c (a process termed slowdown) and retiming, any design may be made systolic, thereby dramatically decreasing its cycle time. In this paper we develop a new fully-automated abstraction algorithm applicable to the verification of generalized c-slow flip-flop based netlists; the more generalized topology accepted by our approach allows applicability to a fairly large class of pipelined netlists. This abstraction reduces the number of state variables and divides the diameter of the model by c; intuitively, it folds the state space of the design modulo c. We study the reachable state space of both the original and reduced netlists, and establish a c-slow bisimulation relation between the two. We demonstrate how CTL* model checking may be preserved through the abstraction for a useful fragment of CTL* formulae. Experiments with two components of IBM’s Gigahertz Processor demonstrate the effectiveness of this abstraction algorithm.

Keywords

  • Induction Hypothesis
  • Model Check
  • Atomic Proposition
  • Kripke Structure
  • Reachability Analysis

These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.

References

  1. Leiserson, C.E., Saxe, J.B.: Optimizing Synchronous Systems. Journal of VLSI and Computer Systems 1(1), 41–67 (1983)

    MATH  Google Scholar 

  2. Leiserson, C.E., Saxe, J.B.: Retiming Synchronous Circuitry. Algorithmica 6(1), 5–35 (1991)

    MATH  CrossRef  MathSciNet  Google Scholar 

  3. Mador-Haim, S., Fix, L.: Input Elimination and Abstraction in Model Checking. In: Proc. Conf. on Formal Methods in Computer-Aided Design (November 1998)

    Google Scholar 

  4. Hasteer, G., Mathur, A., Banerjee, P.: Efficient Equivalence Checking of Multi- Phase Designs Using Phase Abstraction and Retiming. ACM Transactions on Design Automation of Electronic Systems (October 1998)

    Google Scholar 

  5. Baumgartner, J., Heyman, T., Singhal, V., Aziz, A.: Model Checking the IBM Gigahertz Processor: An Abstraction Algorithm for High-Performance Netlists. In: Proceedings of the Conference on Computer-Aided Verification (July 1999)

    Google Scholar 

  6. Milner, R.: Communication and Concurrency. Prentice Hall, New York (1989)

    MATH  Google Scholar 

  7. Kohavi, Z.: Switching and Finite Automata Theory. Computer Science Series. McGraw-Hill Book Company, New York (1970)

    MATH  Google Scholar 

  8. Grumberg, O., Long, D.E.: Module Checking and Modular Verification. ACM Transactions on Programming Languages and Systems 16(3), 843–871 (1994)

    CrossRef  Google Scholar 

  9. Clarke, E.M., Emerson, E.A.: Design and Synthesis of Synchronization Skeletons Using Branching Time Logic. Proc. Workshop on Logic of Programs (1981)

    Google Scholar 

  10. Beer, I., Ben-David, S., Eisner, C., Landver, A.: RuleBase: an Industry-Oriented Formal Verification Tool. In: Proc. Design Automation Conference (June 1996)

    Google Scholar 

  11. Hu, A.J., York, G., Dill, D.L.: New Techniques for Efficient Verification with Implicitly Conjoined BDDs. In: Proceedings of the Design Automation Conference (June 1994)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and Permissions

Copyright information

© 2000 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Baumgartner, J., Tripp, A., Aziz, A., Singhal, V., Andersen, F. (2000). An Abstraction Algorithm for the Verification of Generalized C-Slow Designs. In: Emerson, E.A., Sistla, A.P. (eds) Computer Aided Verification. CAV 2000. Lecture Notes in Computer Science, vol 1855. Springer, Berlin, Heidelberg. https://doi.org/10.1007/10722167_5

Download citation

  • DOI: https://doi.org/10.1007/10722167_5

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-67770-3

  • Online ISBN: 978-3-540-45047-4

  • eBook Packages: Springer Book Archive