Trace theoretic verification of asynchronous circuits using unfoldings

  • K. L. McMillan
Session 6: Invited Titorial
Part of the Lecture Notes in Computer Science book series (LNCS, volume 939)


An approach is presented for hierarchical, trace-theoretic verification of speed-independent circuits based on Petri net unfolding. The purpose is to avoid the explosion of states that results from interleaving of concurrent transitions. The trace structures of the circuit components are represented by Petri nets. Conformance between implementation and specification is tested by composing the implementation with the mirror of the specification, unfolding the resulting product net into an occurrence net, and testing this net for failures. The latter problem is shown to be NP-complete, however a practical branch-and-bound algorithm is presented. In two examples of scalable asynchronous control circuits, the unfolding size is found to grow linearly with the circuit size, while the number of states grows exponentially. In one case, the unfolding method succeeds in verifying large configurations while BDD-based traversal techniques do not.


Model Check Symbolic Model Check Firing Sequence Local Configuration Failure Sequence 
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.


  1. [BCM+90]
    J. R. Burch, E. M. Clarke, K. L. McMillan, D. L. Dill, and J. Hwang. Symbolic model checking: 1020 states and beyond. In Fifth LICS, June 1990.Google Scholar
  2. [Dil88]
    D. Dill. Trace theory for automatic hierarchical verification of speed-independent circuits. Technical Report 88-119, CMU, Comp. Sci. Dept., 1988.Google Scholar
  3. [Esp93]
    J. Esparza. Model checking using net unfoldings. In TAPSOFT '93, Orsay, France, April 1993.Google Scholar
  4. [God90]
    P. Godefroid. Using partial orders to improve automatic verification methods. In Workshop on Computer Aided Verification, 1990.Google Scholar
  5. [GW91]
    P. Godefroid and P. Wolper. A partial approach to model checking. In LICS, 1991.Google Scholar
  6. [Mar85]
    A. J. Martin. The design of a self-timed circuit for distributed mutual exclusion. In 1985 Chapel Hill Conf. on VLSI, pages 245–260, 1985.Google Scholar
  7. [McM92a]
    K. L. McMillan. Symbolic model checking: an approach to the state explosion problem. Technical Report 92-131, CMU, Comp. Sci. Dept., 1992.Google Scholar
  8. [McM92b]
    K. L. McMillan. Using unfoldings to avoid the state explosion problem in the verification of asynchronous circuits. In Fourth CAV, 1992.Google Scholar
  9. [McM93]
    K. L. McMillan. Symbolic Model Checking. Kluwer, 1993.Google Scholar
  10. [McM94]
    K. L. McMillan. Hierarchical representations of discrete functions, with application to model checking. In Sixth CAV, Stanford, CA, 1994.Google Scholar
  11. [McM95]
    K. L. McMillan. Using unfolding to avoid the state explosion problem in the verification of asynchronous circuits. Formal Methods in System Design, 1995. to appear.Google Scholar
  12. [NPW81]
    M. Nielsen, G. Plotkin, and G. Winskel. Petri nets, event structures and domains, part I. Theoretical Computer Science, 13:85–108, 1981.CrossRefGoogle Scholar
  13. [Pet77]
    J. L. Peterson. Petri nets. Computing Surveys, 9(3):223–248, 1977.CrossRefGoogle Scholar
  14. [PL90]
    D. K. Probst and H. F. Li. Using partial order semantics to avoid the state explosion problem in asynchronous systems. In CAV, 1990.Google Scholar
  15. [PL91]
    D. K. Probst and H. F. Li. Partial order model checking: A guide for the perplexed. In Third CAV, pages 405–416, July 1991.Google Scholar
  16. [Sei80]
    C. L. Seitz. System timing. In Carver Mead and Lynn Conway, editors, Introduction to VLSI Systems, pages 218–262. Addison-Wesley, 1980.Google Scholar
  17. [Val89]
    A. Valmari. Stubborn sets for reduced state space generation. In 10th Int. Conf. on Application and Theory of Petri Nets, 1989.Google Scholar
  18. [Val90]
    A. Valmari. A stubborn attack on the state explosion problem. In Workshop on Computer Aided Verification, 1990.Google Scholar
  19. [YTK91]
    Tomohiro Yoneda, Yoshihiro Tohma, and Yutaka Kondo. Acceleration of timing verification method based on time Petri nets. Systems and Computers in Japan, 22(12):37–52, 1991.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1995

Authors and Affiliations

  • K. L. McMillan
    • 1
  1. 1.Cadence Berkeley LabsUSA

Personalised recommendations