A normal form reduction strategy for hardware/software partitioning

  • Leila Silva
  • Augusto Sampaio
  • Edna Barros
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 1313)


In this paper we present a characterisation of the hardware/software partitioning problem as a program transformation task. Both the input and the output of the partitioning are expressed as processes in occam, and the partitioning itself is conducted by the application of a set of rules derived from an algebraic semantics of occam. The partitioning is designed in such a way to allow the complete separation of the efficiency and the correctness aspects of the process. A complete set of rules to turn an arbitrary program into a normal form is presented; this form is the parallel composition of very simple subprocesses, allowing a very flexible analysis of how they can be combined (in clusters) to produce the final result of the partitioning.


Normal Form Parallel Composition Hardware Component Program Transformation Cluster Phase 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    A. Balsoni, W. Fornaccari, D. Sciuto. Partitioning and Exploration Strategies in the TOSCA Co-Design Flow. In Proceedings of Fourth International Workshop on Hardware/Software Codesign, (1996) 62–69, IEEE Press.Google Scholar
  2. 2.
    E. Barros. Hardware/Software Partitioning using UNITY. PhD thesis, Universität Tübingen, 1993.Google Scholar
  3. 3.
    E. Barros and A. Sampaio. Towards Probably Correct Hardware/Software Partitioning Using Occam. In Proceedings of the Third International Workshop on Hardware/Software Codesign Codes/CASHE94, (1994) 210–217, IEEE Press.Google Scholar
  4. 4.
    E. N. S. Barros, M. E. de Lima and A. Sampaio. From Hardware/Software Partitioning to Layout Synthesis: A Transformational Approach. In Proceedings of VIII Brazilian Symposium on Integrated Circuits, Gramado-RS, (1994) 89–100.Google Scholar
  5. 5.
    C.Carreras, J.C.López, M.L.López, C.Delgado-Kloos, N.Martinéz, L.Sánchez. A Co-Design Methodology Based on Formal Specification and High-level Estimation. In Proceedings of Fourth International Workshop on HW/SW Codesign, (1996) 28–35, IEEE Press.Google Scholar
  6. 6.
    T. Cheung, G. Hellestrand and P. Kanthamanon. A Multi-level Transformation Approach to HW/SW Co-Design: A Case Study. In Proceedings of Fourth International Workshop on HW/SW Codesign, (1996) 10–17, IEEE Press.Google Scholar
  7. 7.
    R. Ernst and J. Henkel. Hardware-Software Codesign of Embedded Controllers Based on Hardware Extraction. In Handouts of the International Workshop on Hardware-Software Co-Design, October 1992.Google Scholar
  8. 8.
    J. Goguen et al. Introducing OBJ. Technical report, SRI-CSL-92-03, SRI International, 1993.Google Scholar
  9. 9.
    M. Goldsmith. The oxford occam transformation system. Technical report, Oxford University Computing Laboratory, January 1988.Google Scholar
  10. 10.
    R. Gupta and G. De Micheli. System-level Synthesis Using Re-programmable Components. In Proceedings of EDAC, (1992) 2–7, IEEE Press.Google Scholar
  11. 11.
    C. A. R. Hoare and I. Page. Hardware and Software: The Closing Gap. In Transputer Communications, 02, (1994) 69–90.Google Scholar
  12. 12.
    T. B. Ismail, K. O'Brien and A. Jerraya. Interactive System Level Partitioning with PARTIF. In Proceedings of the European Conference on Design Automation, February 1994, IEEE Press.Google Scholar
  13. 13.
    Jifeng He, I. Page, and J. Bowen. A Provable Hardware Implementation of occam. In Correct Hardware Design and Verification Methods (Advanced Research Working Conference, CHARME' 93), Lecture Notes in Computer Science, Springer Verlag, 683, (1993) 214–225.Google Scholar
  14. 14.
    P. V. Knudsen and J. Madsen. PACE: A Dynamic Progrmming Algorithm for Hardware/Software Partitioning. In Proceedings of Fourth International Workshop on HW/SW Codesign, (1996) 85–92.Google Scholar
  15. 15.
    L. Paulson. ML for the working programmer. Cambridge University Press, 1991.Google Scholar
  16. 16.
    D. Pountain and D. May. A Tutorial Introduction to OCCAM Programming. Inmos BSP Professional Books, (1987).Google Scholar
  17. 17.
    A. Roscoe and C. A. R. Hoare. The laws of occarn programming. In Theoretical Computer Science, 60, (1988) 177–229.Google Scholar
  18. 18.
    A. Sampaio. An Algebraic Approach to Compiler Design. Volume 4 of Algebraic Methodology and Software Technology (AMAST) Series in Computing, World Scientific, 1997.Google Scholar
  19. 19.
    L. Silva, A. Sampaio and E. Barros. A Normal Form Approach to Hardware/Software Partitioning Using Occam. Technical Report, RT-DI/UFPE 001/97, Federal University of Pernambuco, Recife, Brazil.Google Scholar
  20. 20.
    F. Vahid, J. Gong and D. D. Gajski. A Binary-constraint Search Algorithm for Minimizing Hardware During Hardware/Software Partitioning. In Proceedings of European Design Automation Conference, (1994) 214–219.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1997

Authors and Affiliations

  • Leila Silva
    • 1
  • Augusto Sampaio
    • 1
  • Edna Barros
    • 1
  1. 1.Depto. de Informática - UFPECaixa Postal 7851 - Cidade UniversitáriaRecife - PEBrazil

Personalised recommendations