Detecting state coding conflicts in STG unfoldings using SAT

The behaviour of asynchronous circuits is often described by signal transition graphs (STGs), which are Petri nets whose transitions are interpreted as rising and falling edges of signals. One of the crucial problems in the synthesis of such circuits is that of identifying whether an STG satisfies the complete state coding (CSC) requirement, e.g., by using model checking based on the state graph of an STG. We avoid constructing the state graph of an STG, which can lead to state space explosion, and instead use only the information about causality and structural conflicts between the events involved in a finite and complete prefix of its unfolding. The algorithm is derived by adopting the boolean satisfiability (SAT) approach. This technique leads not only to huge memory savings when compared to methods based on state graphs, but also to significant speedups.

[1]  Agnes Madalinski ConfRes: interactive coding conflict resolver based on core visualisation , 2003, Third International Conference on Application of Concurrency to System Design, 2003. Proceedings..

[2]  Chen-Shang Lin,et al.  Synthesis of Hazard-Free Asynchronous Circuits Based on Characteristic Graph , 1997, IEEE Trans. Computers.

[3]  E. Pastor,et al.  Symbolic Analysis of Bounded Petri Nets , 2001, IEEE Trans. Computers.

[4]  Alexander B. Smirnov,et al.  Towards synthesis of monotonic asynchronous circuits from signal transition graphs , 2001, Proceedings Second International Conference on Application of Concurrency to System Design.

[5]  Jordi Cortadella,et al.  Polynomial algorithms for the synthesis of hazard-free circuits from signal transition graphs , 1993, Proceedings of 1993 International Conference on Computer Aided Design (ICCAD).

[6]  Luciano Lavagno,et al.  A unified signal transition graph model for asynchronous control circuit synthesis , 1996, Formal Methods Syst. Des..

[7]  Kenneth L. McMillan,et al.  Using Unfoldings to Avoid the State Explosion Problem in the Verification of Asynchronous Circuits , 1992, CAV.

[8]  Chen-Shang Lin,et al.  Direct synthesis of hazard-free asynchronous circuits from STGs based on lock relation and MG-decomposition approach , 1994, Proceedings of European Design and Test Conference EDAC-ETC-EUROASIC.

[9]  Hugo De Man,et al.  Optimized synthesis of asynchronous control circuits from graph-theoretic specifications , 1992, IEEE Trans. Comput. Aided Des. Integr. Circuits Syst..

[10]  Montek Singh,et al.  A Power-Efficient Duplex Communication System , 2000 .

[11]  Sharad Malik,et al.  The Quest for Efficient Boolean Satisfiability Solvers , 2002, CAV.

[12]  Alexei Semenov Verification and synthesis of asynchronous control circuits using petri net unfoldings , 1997 .

[13]  Tam-Anh Chu,et al.  Synthesis of self-timed VLSI circuits from graph-theoretic specifications , 1987 .

[14]  Kay Soon Low,et al.  Token Ring Arbiters: An Exercise in Asynchronous Logic Design with Petri Nets , 1995 .

[15]  Jun Gu,et al.  Asynchronous circuit synthesis with Boolean satisfiability , 1995, IEEE Trans. Comput. Aided Des. Integr. Circuits Syst..

[16]  Alexandre Yakovlev,et al.  Checking signal transition graph implementability by symbolic BDD traversal , 1995, Proceedings the European Design and Test Conference. ED&TC 1995.

[17]  Kenneth L. McMillan,et al.  Symbolic model checking: an approach to the state explosion problem , 1992 .

[18]  Alexandre Yakovlev,et al.  Petri Nets and Parallel Bus Controller Design , 1991 .

[19]  Luciano Lavagno,et al.  Identifying state coding conflicts in asynchronous system specifications using Petri net unfoldings , 1998, Proceedings 1998 International Conference on Application of Concurrency to System Design.

[20]  Keijo Heljanko,et al.  Using Logic Programs with Stable Model Semantics to Solve Deadlock and Reachability Problems for 1-Safe Petri Nets , 1999, Fundam. Informaticae.

[21]  Hugo De Man,et al.  Optimized synthesis of asynchronous control circuits from graph-theoretic specifications , 1990, 1990 IEEE International Conference on Computer-Aided Design. Digest of Technical Papers.

[22]  Michael Kishinevsky,et al.  Concurrent hardware : the theory and practice of self-timed design , 1993 .

[23]  Josep Carmona,et al.  A structural encoding technique for the synthesis of asynchronous circuits , 2001, Proceedings Second International Conference on Application of Concurrency to System Design.

[24]  Joost Engelfriet,et al.  Branching processes of Petri nets , 1991, Acta Informatica.

[25]  Alexandre Yakovlev,et al.  Visualization and resolution of coding conflicts in asynchronous circuit design , 2003, 2003 Design, Automation and Test in Europe Conference and Exhibition.

[26]  Maciej Koutny,et al.  Canonical prefixes of Petri net unfoldings , 2002, Acta Informatica.

[27]  Luciano Lavagno,et al.  Logic Synthesis for Asynchronous Controllers and Interfaces , 2002 .

[28]  Sharad Malik,et al.  Chaff: engineering an efficient SAT solver , 2001, Proceedings of the 38th Design Automation Conference (IEEE Cat. No.01CH37232).

[29]  Victor Khomenko,et al.  Model checking based on prefixes of petri net unfoldings , 2003 .

[30]  Chantal Ykman-Couvreur,et al.  A general state graph transformation framework for asynchronous synthesis , 1994, EURO-DAC '94.

[31]  Kenneth L. McMillan,et al.  A technique of state space search based on unfolding , 1995, Formal Methods Syst. Des..

[32]  Luciano Lavagno,et al.  Partial order based approach to synthesis of speed-independent circuits , 1997, Proceedings Third International Symposium on Advanced Research in Asynchronous Circuits and Systems.

[33]  A. YakovlevyDpt Design and Evaluation of Two Asynchronous Token Ring Adapters , 1996 .

[34]  Walter Vogler,et al.  An Improvement of McMillan's Unfolding Algorithm , 1996, Formal Methods Syst. Des..

[35]  Jeffrey D. Ullman,et al.  Introduction to Automata Theory, Languages and Computation , 1979 .

[36]  Randal E. Bryant,et al.  Graph-Based Algorithms for Boolean Function Manipulation , 1986, IEEE Transactions on Computers.

[37]  Alexandre Yakovlev,et al.  Visualization of Coding Conflicts in Asynchronous Circuit Design , 2002, IWLS.

[38]  Luciano Lavagno,et al.  Petrify: A Tool for Manipulating Concurrent Specifications and Synthesis of Asynchronous Controllers (Special Issue on Asynchronous Circuit and System Design) , 1997 .

[39]  Luciano Lavagno,et al.  Complete state encoding based on the theory of regions , 1996, Proceedings Second International Symposium on Advanced Research in Asynchronous Circuits and Systems.

[40]  Maciej Koutny,et al.  Detecting state coding conflicts in STGs using integer programming , 2002, Proceedings 2002 Design, Automation and Test in Europe Conference and Exhibition.

[41]  Alexandre Yakovlev Designing Control Logic for Counterflow Pipeline Processor Using Petri Nets , 1998, Formal Methods Syst. Des..

[42]  Javier Esparza,et al.  Decidability and Complexity of Petri Net Problems - An Introduction , 1996, Petri Nets.

[43]  Luciano Lavagno,et al.  A unified signal transition graph model for asynchronous control circuit synthesis , 1992, ICCAD.