An Optimal Approach to Hardware/Software Partitioning for Synchronous Model

  • Pu Geguang
  • Dang Van Hung
  • He Jifeng
  • Wang Yi
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 2999)


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 synchronous communication model. We transform the partitioning into a reachability problem of timed automata. By means of an optimal reachability algorithm, an optimal solution can be obtained in terms of 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 model checker UPPAAL to show our approach is both effective and efficient.


Hardware/software partitioning timed automata reachability scheduling algorithm 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Aalbersberg, J., Rozenberg, G.: Theory of Traces. Theoretical Computer Science 60, 1–82 (1988)zbMATHCrossRefMathSciNetGoogle Scholar
  2. 2.
    Agrawal, S., Gupta, R.: Dataflow-Assisted Behavioral Partitioning for Embedded Systems. In: Proc. Design Automation Conf. ACM, N.Y., pp. 709–712 (1997)Google Scholar
  3. 3.
    Barros, E., Rosenstiel, W., Xiong, X.: A Method for Partitioning UNITY Language in Hardware and Software. In: Proc. EURODAC, pp. 220–225 (September 1994)Google Scholar
  4. 4.
    Behrmann, G., Fehnker, A., Hune, T., Larsen, K.G., Pettersson, P., Romijn, J.: Efficient Guiding Towards Cost-Optimality in Uppaal. In: Margaria, T., Yi, W. (eds.) TACAS 2001. LNCS, vol. 2031, pp. 174–188. Springer, Heidelberg (2001)CrossRefGoogle Scholar
  5. 5.
    Behrmann, G., Fehnker, A., Hune, T., Larsen, K.G., Pettersson, P., Romijn, J., Vaandrager, F.: Minimum-Cost Reachability for Priced Timed Automata. In: Di Benedetto, M.D., Sangiovanni-Vincentelli, A.L. (eds.) HSCC 2001. LNCS, vol. 2034, pp. 147–161. Springer, Heidelberg (2001)CrossRefGoogle Scholar
  6. 6.
    Bowen, J., Jifeng, H.: An approach to the specification and verification of a hardware compilation scheme. Journal of Supercomputing 19(1), 23–29 (2001)zbMATHCrossRefGoogle Scholar
  7. 7.
    Bozga, M., Daws, C., Maler, O., Olivero, A., Tripakis, S., Yovine, S.: Kronos: A modelchecking tool for real-time systems. In: Y. Vardi, M. (ed.) CAV 1998. LNCS, vol. 1427, pp. 546–550. Springer, Heidelberg (1998)CrossRefGoogle Scholar
  8. 8.
    Van Hung, D.: Real-time Systems Development with Duration Calculus: an Overview. Technical Report 255, UNU/IIST, P.O. Box 3058, Macau (June 2002)Google Scholar
  9. 9.
    Diekert, V., Rozenberg, G. (eds.): Book of Traces. World Scientific, Singapore (1995)Google Scholar
  10. 10.
    Dill, R., Dill, D.L.: A Theory for Timed Automata. Theoretical Computer Science 125, 183–235 (1994)MathSciNetGoogle Scholar
  11. 11.
    Dill, D.: Timing Assumptions and Verification of Finite-State Concurrent Systems. In: Sifakis, J. (ed.) CAV 1989. LNCS, vol. 407, pp. 197–212. Springer, Heidelberg (1990)Google Scholar
  12. 12.
    Fehnker, A.: Bounding and heuristics in forward reachability algorithms. Technical Report CSI-R0002, Computing Science Institute Nijmegen (2000)Google Scholar
  13. 13.
    Henzinger, T.A., Ho, P.-H., Wong-Toi, H.: HyTech: A Model Checker for Hybird Systems. In: Grumberg, O. (ed.) CAV 1997. LNCS, vol. 1254, pp. 460–463. Springer, Heidelberg (1997)Google Scholar
  14. 14.
    Hoare, C.A.R., Jifeng, H.: Unifying Theories of Programming. Prenticel Hall, Englewood Cliffs (1998)Google Scholar
  15. 15.
    Hune, T., Larsen, K.G., Pttersson, P.: Guided Synthesis of Control Programs Using UPPAAL. In: Proc. of Workshop on verification and Control of Hybrid Systems III, vol. 22, pp. E15–E22 (2000)Google Scholar
  16. 16.
    INMOS Ltd. The Occam 2 Programming Manual. Prentice-Hall, Englewood Cliffs (1988)Google Scholar
  17. 17.
    Iyoda, J., Sampaio, A., Silva, L.: ParTS: A Partitioning Transformation System. In: World Congress on Formal Methods 1999 (WCFM 1999), pp. 1400–1419 (1999)Google Scholar
  18. 18.
    Larsen, K.G., Pettersson, P., Yi, W.: Model-Checking for Real-Time Systems. In: Reichel, H. (ed.) FCT 1995. LNCS, vol. 965, pp. 62–88. Springer, Heidelberg (1995)Google Scholar
  19. 19.
    Larsen, K.G., Pettersson, P., Yi, W.: UPPAAL in a Nutshell. Int. Journal of Software Tools for Technology Transfer 1, 134–152 (1997)zbMATHCrossRefGoogle Scholar
  20. 20.
    Nieman, R., Marwedel, P.: An Algorithm for Hardware/Software Partitioning Using Mixed Integer Linear Programming. Design Automation for Embedded Systems, special Issue: Partitioning Methods for Embedded Systems 2(2), 165–193 (1997)CrossRefGoogle Scholar
  21. 21.
    Peng, Z., Kuchcinski, K.: An Algorithm for Partitioning of Application Specific System. In: IEEE/ACM Proc. of The European Conference on Design Automation (EuroDAC), pp. 316–321 (1993)Google Scholar
  22. 22.
    Geguang, P., Yi, W., Van Hung, D., Jifeng, H.: An Optimal Approach to Hardware/software Partitioning for Synchronous Model. Technical Report 286, UNU/IIST, P.O. Box 3058, Macau (September 2003)Google Scholar
  23. 23.
    Shengchao, Q., Jifeng, H.: An Algebraic Approach to Hardware/software Partitioning. In: Proc. of the 7th IEEE International Conference on Electronics, Circuits and Systems (ICECS 2000), pp. 273–276 (2000)Google Scholar
  24. 24.
    Quan, G., Hu, X., Greenwood, G.W.: Preference-driven hierarchical hardware/ software partitioning. In: Internatitional conference on Computer Design(IEEE), pp. 652–657 (1999)Google Scholar
  25. 25.
    Staunstrup, J., Wolf, W. (eds.): Hardware/Software Co-Design: Principles and Practice. Kluwer Academic Publishers, Dordrecht (1997)zbMATHGoogle Scholar
  26. 26.
    Weinhardt, M.: Ingeger Programming for Partitioning in Software Oriented Codesign. In: Moore, W., Luk, W. (eds.) FPL 1995. LNCS, vol. 975, pp. 227–234. Springer, Heidelberg (1995)Google Scholar
  27. 27.
    Wolf, W.: Hardware-Software Co-Design of Embedded System. Proc. of the IEEE 82(7), 967–989 (1994)CrossRefGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2004

Authors and Affiliations

  • Pu Geguang
    • 1
    • 3
  • Dang Van Hung
    • 1
  • He Jifeng
    • 1
  • Wang Yi
    • 2
  1. 1.International Institute for Software TechnologyUnited Nations UniversityMacau
  2. 2.Department of Computer SystemsUppsala UniversitySweden
  3. 3.LMAM, Department of InformaticsSchool of Math. Peking UniversityBeijingChina

Personalised recommendations