Skip to main content
Log in

An algebraic hardware/software partitioning algorithm

  • Regular Papers
  • Published:
Journal of Computer Science and Technology Aims and scope Submit manuscript

Abstract

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.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

References

  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. He Jifenget al. Provably correct systems.Lecture Notes in Computer Science 863, 1994, pp.288–335.

    Google Scholar 

  3. He Jifeng, Bowen J P. Specification, verification and prototyping of an optimised compiler.Formal Aspect of Computing, 1994, 6: 643–658.

    MATH  Google Scholar 

  4. Sampaio A. An Algebraic Approach to Compiler Design.World Scientific, 1997.

  5. Page I, Luk W. Compiling Occam into FPGAs, InFPGAs, Will Moore, Wayne Luk (eds.), Abingdon EE&CS Books, pp.271–283, 1991.

  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. 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.

  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.

  9. Nielson F, Nielson H R, Hankin C. Principles of Program Analysis, Springer-Verlag, 1999.

  10. Roscoe A W, Hoare C A R. Laws of Occam programming.Theoretical Computer Science, 1988, 60: 177–229.

    Article  MATH  MathSciNet  Google Scholar 

  11. He Jifeng, Provably Correct Systems: Modelling of Communication Languages and Design of Optimised Compilers, McGraw-Hill Publisher, 1994.

  12. Hoare C A R. Communicating Sequential Processes, Prentice Hall, 1985.

  13. Hoare C A Ret al. Laws of programming.Communications of the ACM, 1987, 30(8): 672–686.

    Article  MATH  MathSciNet  Google Scholar 

  14. Hoare C A R, He Jifeng, Unifying Theories of Programming, Prentice Hall, 1998.

  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.

  16. Qin Shengchao, He Jifeng. An algebraic approach to hardware/software partitioning. UNU/IIST Research Report 206, Macau, June, 2000.

  17. Mathematics of Program Construction Group. Fixed-point calculus.Information Processing Letters, 1995, 53: 131–136.

    Article  MATH  MathSciNet  Google Scholar 

  18. He Jifeng. Converting programs into delay insensitive circuits. Technical Report, Programming Research Group. Oxford University Computing Laboratory, 1994.

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Qin Shengchao.

Additional information

The work is partially supported by the National Natural Science Foundation of China under grant Nos.69873003 and 69983001.

QIN Shengchao was born in 1974. He is a Ph.D. candidate in Department of Informatics, School of Mathematical Science, Peking University. He got his B.S. degree in the same department in 1997. His research interests include formal methods and semantics, unifying theories to programming, and formal engineering approaches.

HE Jifeng is a senior research fellow of UNU/IIST. He was a senior research fellow of the programming research group, Oxford University before 1998. He is a professor of computer science in East China Normal University since 1986, Shanghai. His research interest lies in the sound methods of specification of computer systems, communications, application of standards, and the techniques for designing and implementing those specifications in software and/or hardware with high reliability and low cost.

QIU Zongyan is a professor of computer science and deputy head of the Department of Informatics, Peking University. His research interests are formal methods, programming languages, and real-time systems.

ZHANG Naixiao is a professor of computer science in the Department of Informatics, Peking University. His research interests are formal methods and domain-specific languages.

Rights and permissions

Reprints and permissions

About this article

Cite this article

Qin, S., He, J., Qiu, Z. et al. An algebraic hardware/software partitioning algorithm. J. of Comput. Sci. & Technol. 17, 284–294 (2002). https://doi.org/10.1007/BF02947306

Download citation

  • Received:

  • Revised:

  • Issue Date:

  • DOI: https://doi.org/10.1007/BF02947306

Keywords

Navigation