Exploring optimal solution to hardware/software partitioning for synchronous model

Computer aided hardware/software partitioning is one of the key challenges in hardware/software co-design. This paper describes a new approach to hardware/software partitioning for a synchronous communication model including multiple hardware devices. We transform the partitioning into a reachability problem of timed automata. By means of an optimal reachability algorithm, the optimal solution can be obtained with limited resources in hardware. To relax the initial condition of the partitioning for optimization, two algorithms are designed to explore the dependency relations among processes in the sequential specification. Moreover, we propose a scheduling algorithm to improve the synchronous communication efficiency further after partitioning stage. Some experiments are conducted with the model checker UPPAAL to show our approach is both effective and efficient.

[1]  Wang Yi,et al.  Uppaal in a nutshell , 1997, International Journal on Software Tools for Technology Transfer.

[2]  Wang Yi,et al.  An Optimal Approach to Hardware/Software Partitioning for Synchronous Model , 2004, IFM.

[3]  Kim G. Larsen,et al.  Minimum-Cost Reachability for Priced Timed Automata , 2001, HSCC.

[4]  Rajesh K. Gupta,et al.  Data-flow assisted behavioral partitioning for embedded systems , 1997, DAC.

[5]  Jin Naiyong,et al.  Performance Analysis in High-Level Synthesis , 2004 .

[6]  Grzegorz Rozenberg,et al.  Theory of Traces , 1988, Theor. Comput. Sci..

[7]  He Jifeng,et al.  An algebraic approach to hardware/software partitioning , 2000, ICECS 2000. 7th IEEE International Conference on Electronics, Circuits and Systems (Cat. No.00EX445).

[8]  Markus Weinhardt,et al.  Integer Programming for Partitioning in Software Oriented Codesign , 1995, FPL.

[9]  Gerd Behrmann,et al.  Efficient Guiding Towards Cost-Optimality in UPPAAL , 2001, TACAS.

[10]  David L. Dill,et al.  Timing Assumptions and Verification of Finite-State Concurrent Systems , 1989, Automatic Verification Methods for Finite State Systems.

[11]  Wayne Wolf,et al.  Hardware/Software Co-Design: Principles and Practice , 1997 .

[12]  Augusto Sampaio,et al.  ParTS: A Partitioning Transformation System , 1999, World Congress on Formal Methods.

[13]  Peter Marwedel,et al.  An Algorithm for Hardware/Software Partitioning Using Mixed Integer Linear Programming , 1997, Des. Autom. Embed. Syst..

[14]  Stavros Tripakis,et al.  KRONOS: A Model-Checking Tool for Real-Time Systems (Tool-Presentation for FTRTFT '98) , 1998, FTRTFT.

[15]  Dang Van Hung,et al.  Real-Time Systems Development with Duration Calculi: An Overview , 2002, 10th Anniversary Colloquium of UNU/IIST.

[16]  Thomas A. Henzinger,et al.  HYTECH: a model checker for hybrid systems , 1997, International Journal on Software Tools for Technology Transfer.

[17]  Wolfgang Rosenstiel,et al.  A method for partitioning UNITY language in hardware and software , 1994, EURO-DAC '94.

[18]  Jifeng He,et al.  An Approach to the Specification and Verification of a Hardware Compilation Scheme , 2001, The Journal of Supercomputing.

[19]  Rajeev Alur,et al.  A Theory of Timed Automata , 1994, Theor. Comput. Sci..

[20]  Garrison W. Greenwood,et al.  Preference-driven hierarchical hardware/software partitioning , 1999, Proceedings 1999 IEEE International Conference on Computer Design: VLSI in Computers and Processors (Cat. No.99CB37040).

[21]  Krzysztof Kuchcinski,et al.  An algorithm for partitioning of application specific systems , 1993, 1993 European Conference on Design Automation with the European Event in ASIC Design.