Advertisement

Efficient Analysis of Cyclic Definitions

  • Kedar S. Namjoshi
  • Robert P. Kurshan
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 1633)

Abstract

We present a new algorithm for detecting semantic combinational cycles that is simpler and more efficient than earlier algorithms found in the literature. Combinational circuits with syntactic cycles often arise in processor and bus-based designs. The intention is that external inputs and delay elements such as latches break these cycles, so that no “semantic” cycles remain. Unbroken semantic cycles are considered a design error in this context. Such unbroken cycles may also occur inadvertently in compositions of Mealy machines.

Verification systems that accept semantically cyclic definitions run the risk of certifying systems that have electrically bad or unexpected behavior, while those that prohibit all cyclic definitions constrain the types of systems that can be subjected to formal verification. Earlier work on this issue has led to a reasonable condition, called Constructivity, that guarantees the absence of semantic cycles. This formulation is, however, computational in nature, and existing algorithms to decide constructivity are somewhat inefficient. Moreover, they do not apply naturally to circuit definitions in high-level languages that allow variables with non-Boolean types. We propose a new formulation of constructivity, formulated as a satisfiability question, that does not have these limitations. We have implemented the new algorithm in the verification tool COSPAN/FormalCheck. Our experience indicates that the algorithm is simple to implement and usually incurs negligible overhead.

Keywords

Boolean Function Basic Operator Reachability Analysis Delay Element Combinational Circuit 
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. 1.
    H. Bekič. Definable operations in general algebras, and the theory of automata and flowcharts. Technical report, IBM, 1969. Reprinted in Programming Languages and Their Definition, LNCS 177, 1984. 399Google Scholar
  2. 2.
    G. Berry. The Constructive Semantics of Esterel. Draft book, available at ftp://ftpsop.inria.fr/meije/esterel/papers/constructiveness.ps.gz, 1995. 395, 395, 397, 397, 399, 403, 403
  3. 3.
    R. Bryant. Graph based algorithms for boolean function manipulation. IEEE Transactions on Computers, 1986. 395Google Scholar
  4. 4.
    J. A. Brzozowski and C-J. H. Seger. Asynchronous Circuits. Springer-Verlag, 1994. 395, 398Google Scholar
  5. 5.
    P. Cousot. Asynchronous iterative methods for solving a fixed point system of monotone equations in a complete lattice (rapport de recherche r.r. 88). Technical report, Laboratoire IMAG, Universite’ scientifique et me’dicale de Grenoble, 1978. 399Google Scholar
  6. 6.
    E. W. Dijkstra and C. S. Scholten. Predicate Calculus and Program Semantics. Springer-Verlag, 1990. 395Google Scholar
  7. 7.
    R. H. Hardin, Z. Har’El, and R. P. Kurshan. COSPAN. In Proc. CAV’96, volume 1102, pages 423–427. LNCS, 1996. 395, 401Google Scholar
  8. 8.
    J. Katzenelson and R. P. Kurshan. S/R: A language for specifying protocols and other coordinating processes. In Proc. IEEE Conf. Comput. Comm., pages 286–292, 1986. 401, 402Google Scholar
  9. 9.
    S. Malik. Analysis of cyclic combinational circuits. IEEE Transactions on Computer-Aided Design, 1994. 394, 397, 398, 398, 399, 399, 403, 403Google Scholar
  10. 10.
    D. S. Scott. A type-theoretical alternative to CUCH, ISWIM, OWHY. Unpublished notes, Oxford, 1969. Published in Theoretical Computer Science, 1993. 398Google Scholar
  11. 11.
    T. Shiple. Formal Analysis of Synchronous Circuits. PhD thesis, Univerisity of California, Berkeley, 1996. 395, 395, 398, 399, 402, 403, 403, 403, 403Google Scholar
  12. 12.
    T. Shiple, G. Berry, and H. Touati. Constructive analysis of cyclic circuits. In European Design and Test Conference, 1996. 395, 398, 399, 403, 403Google Scholar
  13. 13.
    L. Stok. False loops through resource sharing. In International Conference on Computer-Aided Design, 1992. 394Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1999

Authors and Affiliations

  • Kedar S. Namjoshi
    • 1
  • Robert P. Kurshan
    • 1
  1. 1.Bell LaboratoriesLucent TechnologiesUSA

Personalised recommendations