Journal of Computer Science and Technology

, Volume 17, Issue 3, pp 284–294 | Cite as

An algebraic hardware/software partitioning algorithm

  • Qin Shengchao 
  • He Jifeng 
  • Qiu Zongyan 
  • Zhang Naixiao 
Regular Papers


Hardware and software co-design is a design technique which delivers computer systems comprising hardware and software components. A critical phase of the co-design process is to decompose a program into hardware and software. This paper proposes an algebraic partitioning algorithm whose correctness is verified in program algebra. The authors introduce a program analysis phase before program partitioning and develop a collection of syntax-based splitting rules. The former provides the information for moving operations from software to hardware and reducing the interaction between components, and the latter supports a compositional approach to program partitioning.


hardware/software co-design hardware/software partition program algebra 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. [1]
    Silva L, Sampaio A, Barros E. A normal form reduction strategy for hardware/software partitioning.Formal Methods Europe (FME) 97, Lecture Notes in Computer Science 1313, 1997, pp.624–643.Google Scholar
  2. [2]
    He Jifenget al. Provably correct systems.Lecture Notes in Computer Science 863, 1994, pp.288–335.Google Scholar
  3. [3]
    He Jifeng, Bowen J P. Specification, verification and prototyping of an optimised compiler.Formal Aspect of Computing, 1994, 6: 643–658.MATHGoogle Scholar
  4. [4]
    Sampaio A. An Algebraic Approach to Compiler Design.World Scientific, 1997.Google Scholar
  5. [5]
    Page I, Luk W. Compiling Occam into FPGAs, InFPGAs, Will Moore, Wayne Luk (eds.), Abingdon EE&CS Books, pp.271–283, 1991.Google Scholar
  6. [6]
    He Jifeng, Page I, Bowen J. A provable hardware implementation of Occam.Lecture Notes in Computer Science 711, 1993, pp.693–703.Google Scholar
  7. [7]
    Balboni Aet al. Partitioning and exploration strategies in the TOSCA design flow. InProceedings of Fourth International Workshop on Hw/sw Co-design, IEEE Computer Society Press, 1996, pp.62–69.Google Scholar
  8. [8]
    Cheung T. A multi-level transformation approach to hardware/software co-design. InProceedings of Prruth International Workshop on Hw/sw Co-design, 1996, pp.10–17.Google Scholar
  9. [9]
    Nielson F, Nielson H R, Hankin C. Principles of Program Analysis, Springer-Verlag, 1999.Google Scholar
  10. [10]
    Roscoe A W, Hoare C A R. Laws of Occam programming.Theoretical Computer Science, 1988, 60: 177–229.MATHCrossRefMathSciNetGoogle Scholar
  11. [11]
    He Jifeng, Provably Correct Systems: Modelling of Communication Languages and Design of Optimised Compilers, McGraw-Hill Publisher, 1994.Google Scholar
  12. [12]
    Hoare C A R. Communicating Sequential Processes, Prentice Hall, 1985.Google Scholar
  13. [13]
    Hoare C A Ret al. Laws of programming.Communications of the ACM, 1987, 30(8): 672–686.MATHCrossRefMathSciNetGoogle Scholar
  14. [14]
    Hoare C A R, He Jifeng, Unifying Theories of Programming, Prentice Hall, 1998.Google Scholar
  15. [15]
    Qin Shengchao, He Jifeng. An algebraic approach to hardware/software partitioning. InProceedings of the 7th IEEE ICECS'2K, Lebanon, December, 2000, pp.273–276.Google Scholar
  16. [16]
    Qin Shengchao, He Jifeng. An algebraic approach to hardware/software partitioning. UNU/IIST Research Report 206, Macau, June, 2000.Google Scholar
  17. [17]
    Mathematics of Program Construction Group. Fixed-point calculus.Information Processing Letters, 1995, 53: 131–136.MATHCrossRefMathSciNetGoogle Scholar
  18. [18]
    He Jifeng. Converting programs into delay insensitive circuits. Technical Report, Programming Research Group. Oxford University Computing Laboratory, 1994.Google Scholar

Copyright information

© Science Press, Beijing China and Allerton Press Inc. 2002

Authors and Affiliations

  • Qin Shengchao 
    • 1
  • He Jifeng 
    • 2
  • Qiu Zongyan 
    • 1
  • Zhang Naixiao 
    • 1
  1. 1.Department of Informatics, School of Mathematical SciencesPeking UniversityBeijingP.R. China
  2. 2.UNU/IIST, The International Institute for Software TechnologyThe United Nations UniversityMacauP. R. China

Personalised recommendations