Quick conservative causality analysis

The causality problem is that of determining if a combinational circuit with cycles has acceptable behavior: that for all inputs the outputs are well defined and stable. While the problem manifests itself at the circuit level, it usually originates at the system level. It may arise when a system is designed as a collection of modules: when composed, cycles are discovered in the ensemble. One must analyze these cycles to correct possible errors or to capture the correct behavior appropriately for further synthesis. Previously published algorithms use iterated ternary logic simulation. This is correct and robust, but expensive and in many cases overkill. We propose a more efficient but conservative algorithm based on applying standard logic synthesis techniques of increasing power. We present initial results to demonstrate the practicality of this approach.

[1]  Gérard Berry,et al.  The Esterel Synchronous Programming Language: Design, Semantics, Implementation , 1992, Sci. Comput. Program..

[2]  Sharad Malik,et al.  Analysis of cyclic combinational circuits , 1993, ICCAD '93.

[3]  BerryGérard,et al.  The ESTEREL synchronous programming language , 1992 .

[4]  Gérard Berry,et al.  The constructive semantics of pure esterel , 1996 .

[5]  L. Stok,et al.  False loops through resource sharing (logic CAD) , 1992, 1992 IEEE/ACM International Conference on Computer-Aided Design.

[6]  Graeme Smith,et al.  The identification of a minimal feedback vertex set of a directed graph , 1975 .

[7]  Leon Stok,et al.  False loops through resource sharing , 1992, ICCAD '92.

[8]  Robert K. Brayton,et al.  Sequential circuit design using synthesis and optimization , 1992, Proceedings 1992 IEEE International Conference on Computer Design: VLSI in Computers & Processors.

[9]  Thomas R. Shiple,et al.  Constructive analysis of cyclic circuits , 1996, Proceedings ED&TC European Design and Test Conference.

[10]  A. Sangiovanni-Vincentelli,et al.  Formal analysis of synchronous circuits , 1996 .