Encoding Large Asynchronous Controllers With ILP Techniques

State encoding is one of the most difficult problems in the synthesis of asynchronous controllers. This paper presents a method that can solve the problem of large controllers specified with signal transition graphs. The method is based on the structural theory of Petri nets and uses integer-linear programming to insert state signals in locations that guarantee the consistency and absence of critical races. The structural nature of the proposed method makes it conservative, i.e., a solution cannot be guaranteed, even if it exists. Nevertheless, the experiments show that this limitation did not preclude finding a solution for all the examples presented in this paper. The method can be customized for area or delay optimization. The experimental results confirm the quality of the circuits, as compared with state-based methods. They also show the significant benefits that could be obtained if logic synthesis would be incorporated in synthesis frameworks that generate controllers by syntax-directed translation.

[1]  Alexandre Yakovlev,et al.  Signal Graphs: From Self-Timed to Timed Ones , 1985, PNPM.

[2]  Manuel Silva Suárez,et al.  Linear Algebraic and Linear Programming Techniques for the Analysis of Place or Transition Net Systems , 1996, Petri Nets.

[3]  Jordi Cortadella,et al.  An efficient unique state coding algorithm for signal transition graphs , 1993, Proceedings of 1993 IEEE International Conference on Computer Design ICCD'93.

[4]  Victor Khomenko,et al.  Efficient Automatic Resolution of Encoding Conflicts Using STG Unfoldings , 2007, IEEE Transactions on Very Large Scale Integration (VLSI) Systems.

[5]  Chris J. Myers,et al.  Stochastic cycle period analysis in timed circuits , 2000, 2000 IEEE International Symposium on Circuits and Systems. Emerging Technologies for the 21st Century. Proceedings (IEEE Cat No.00CH36353).

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

[7]  Javier Esparza,et al.  Verification of Safety Properties Using Integer Programming: Beyond the State Equation , 2000, Formal Methods Syst. Des..

[8]  Josep Carmona,et al.  State encoding of large asynchronous controllers , 2006, 2006 43rd ACM/IEEE Design Automation Conference.

[9]  Gary K. Maki,et al.  A State Assignment Procedure for Asynchronous Sequential Circuits , 1971, IEEE Transactions on Computers.

[10]  David L. Dill,et al.  Automatic synthesis of locally-clocked asynchronous state machines , 1991, 1991 IEEE International Conference on Computer-Aided Design Digest of Technical Papers.

[11]  Bill Lin,et al.  Symbolic hazard-free minimization and encoding of asynchronous finite state machines , 1995, ICCAD.

[12]  Josep Carmona,et al.  Synthesis of asynchronous controllers using integer linear programming , 2006, IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems.

[13]  Doug A. Edwards,et al.  Balsa: An Asynchronous Hardware Synthesis Language , 2002, Comput. J..

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

[15]  Robert K. Brayton,et al.  Optimal State Assignment for Finite State Machines , 1985, IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems.

[16]  Peter A. Beerel,et al.  Bounding average time separations of events in stochastic timed Petri nets with choice , 1999, Proceedings. Fifth International Symposium on Advanced Research in Asynchronous Circuits and Systems.

[17]  Walter Vogler,et al.  Component refinement and CSC-solving for STG decomposition , 2007, Theor. Comput. Sci..

[18]  Jörg Desel,et al.  Reachability in Cyclic Extended Free-Choice Systems , 1993, Theor. Comput. Sci..

[19]  Tadao Murata,et al.  Petri nets: Properties, analysis and applications , 1989, Proc. IEEE.

[20]  Kees van Berkel,et al.  Handshake Circuits: An Asynchronous Architecture for VLSI Programming , 1993 .

[21]  Javier Esparza,et al.  A polynomial algorithm to compute the concurrency relation of free-choice Signal Transition Graphs , 1995 .

[22]  Kenneth Y. Yun Automatic synthesis of extended burst-mode circuits using generalized C-elements , 1996, Proceedings EURO-DAC '96. European Design Automation Conference with EURO-VHDL '96 and Exhibition.

[23]  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.

[24]  Theodore M. Booth Demonstrating hazards in sequential relay circuits , 1963, SWCT.

[25]  Stephen H. Unger,et al.  Asynchronous sequential switching circuits , 1969 .

[26]  Maciej Koutny,et al.  Detecting state coding conflicts in STG unfoldings using SAT , 2003, Third International Conference on Application of Concurrency to System Design, 2003. Proceedings..

[27]  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.

[28]  Hugo De Man,et al.  A generalized state assignment theory for transformations on signal transition graphs , 1994, J. VLSI Signal Process..

[29]  Jens Palsberg,et al.  Complexity Results for 1-Safe Nets , 1993, Theor. Comput. Sci..

[30]  James H. Tracey Internal State Assignments for Asynchronous Sequential Machines , 1966, IEEE Trans. Electron. Comput..

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

[32]  Luciano Lavagno,et al.  A region-based theory for state assignment in speed-independent circuits , 1997, IEEE Trans. Comput. Aided Des. Integr. Circuits Syst..

[33]  Doug A. Edwards,et al.  A burst-mode oriented back-end for the Balsa synthesis system , 2002, Proceedings 2002 Design, Automation and Test in Europe Conference and Exhibition.

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