Skip to main content
Log in

An Algorithm for Hardware/Software Partitioning Using Mixed Integer Linear Programming

  • Published:
Design Automation for Embedded Systems Aims and scope Submit manuscript

Abstract

One of the key problems in hardware/software codesign is hardware/software partitioning. This paper describes a new approach to hardware/software partitioning using integer programming (IP). The advantage of using IP is that optimal results are calculated for a chosen objective function. The partitioning approach works fully automatic and supports multi-processor systems, interfacing and hardware sharing. In contrast to other approaches where special estimators are used, we use compilation and synthesis tools for cost estimation. The increased time for calculating values for the cost metrics is compensated by an improved quality of the values. Therefore, fewer iteration steps for partitioning are needed. The paper presents an algorithm using integer programming for solving the hardware/software partitioning problem leading to promising results.

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. A. Bender. Design of an Optimal Loosely Coupled Heterogeneous Multiprocessor System. European Design & Test Conference (ED&TC), pages 275–281, 1996.

  2. W. Ecker. Using VHDL for HW/SW Co-Specification. International Conference on Computer-Aided Design (ICCAD), Pages 500–505, 1993.

  3. R. Ernst, J. Henkel, and T. Benner. Hardware-software Cosynthesis for Microcontrollers. IEEE Design & Test, Vol. 12, pages 64–75, 1993.

    Google Scholar 

  4. P. Eles, Z. Peng, and A. Doboli. VHDL System-level Specification and Partitioning in a Hardware/Software Co-Synthesis Environment. Third International Workshop on Hardware/Software Codesign, Grenoble, pages 49–55, 1994.

  5. R.K. Gupta, C. Coelho, and G. De Micheli. Synthesis and Simulation of Digital Systems Containing Interacting Hardware and Software Components. 29th ACM, IEEE Design Automation Conference, pages 225–230, 1992.

  6. M.R. Garey and D.S. Johnson. Complexity Results for Multiprocessor Scheduling under Resource Constraints. SIAM J. Comput., pages 397–411, 1975.

  7. D. Gajski, F. Vahid, S. Narayan, and J. Gong. Specification and Design of Embedded Systems. Prentice-Hall, 1994

  8. D. Henkel, J. Herrmann, and R. Ernst. An Approach to the Adaption of Estimated Cost Parameters in the COSYMA System. Third International Workshop on Hardware/Software Codesign, Grenoble, pages 100–107, 1994.

  9. J. Henkel, R. Ernst, W. Ye, M. Trawny, and T. Benner. COSYMA: Ein System zur Hardware/Software Co-Synthese. GME Fachbericht Nr. 15 Mikroelektronik, pages 167–172, 1995.

  10. A. Jantsch, P. Ellervee, J. Öberg, A. Hemani, and H. Tenhuen. Hardware/Software Partitioning and Minimizing Memory Interface Traffic. European Design Automation Conference (EURO-DAC), pages 226–231, 1994.

  11. A. Kalavade and E.A. Lee. A Global Critically/Local Phase Driven Algorithm for the Constrained Hardware/Software Partitioning Problem. Third International Workshop on Hardware/Software Codesign, Grenoble, pages 42–48, 1994.

  12. A. Kalavade and E.A. Lee. The Extended Partitioning Problem: Hardware/Software Mapping and Implementation-Bin Selection. Proceedings of the 6th International Workshop on Rapid Systems Prototyping, 1995.

  13. B. Landwehr, P. Marwedel, and R. Dömer. OSCAR: Optimum Simultaneous Scheduling, Allocation and Resource Binding Based on Integer Programming. Proceedings of the EURO-DAC, pages 90–95, 1994.

  14. R. Niemann, and P. Marwedel. Hardware/Software Partitioning using Integer Programming. European Design & Test Conference (ED&TC), pages 473–479, 1996.

  15. Z. Peng and K. Kuchcinski. An Algorithm for Partitioning of Application Specific Systems. Proceedings of the European Conference on Design Automation (EDAC), pages 316–321, 1993.

  16. F. Vahid, J. Gong, and D. Gajski. A Binary-Constraint Search Algorithm for Minimizing Hardware during Hardware/Software Partitioning. European Design Automation Conference (EURO-DAC), pages 214–219, 1994.

Download references

Author information

Authors and Affiliations

Authors

Rights and permissions

Reprints and permissions

About this article

Cite this article

Niemann, R., Marwedel, P. An Algorithm for Hardware/Software Partitioning Using Mixed Integer Linear Programming. Design Automation for Embedded Systems 2, 165–193 (1997). https://doi.org/10.1023/A:1008832202436

Download citation

  • Issue Date:

  • DOI: https://doi.org/10.1023/A:1008832202436

Navigation