Skip to main content

Abstract

Current methods for designing embedded systems require specifying and designing hardware and software separately. Hardware/software partitioning is concerned with deciding which function is to be implemented in Hardware (HW) and Software (SW). This type of partitioning process is decided a priori to the design process and is adhered to as much as possible because any changes in this partition may necessitate extensive redesign. As partitioning is an NP hard problem, application of the exact methods tends to be quite slow for bigger dimensions of the problem. Heuristic/evolutionary methods have been proposed for partitioning problems. This chapter deals with multi-objective optimization of minimizing two objectives area and the execution time of the partition. To validate the efficiency of the algorithms, performance metrics are calculated. Experimental results for the HW/SW partition for mediabench and DSP benchmarks are tabulated and analyzed.

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

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 84.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Hardcover Book
USD 109.99
Price excludes VAT (USA)
  • Durable hardcover edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

References

  • Arato P, Juhasz S, Mann ZA, Orban A, Papp D (2003) Hardware/software partitioning in embedded system design. In: Proceedings of the IEEE international symposium on intelligent signal processing, 4–6 Sept 2003, Budapest, Hungary, pp 197–202

    Google Scholar 

  • Bakshi S, Gajski D (1999) Partitioning and pipelining for performance-constrained hardware/software system. IEEE Trans Very Large Scale Integr Syst 7(4):419–432

    Article  Google Scholar 

  • Barros E, Rosenstiel W, Xiong X (1993) Hardware/software partitioning with UNITY. In: Proceedings of 2nd international workshop on hardware-software codesign- CODES/CASHE ’93, Austria, 24–27 May 1993, pp 210–217

    Google Scholar 

  • Binh NN, Imai M, Shiomi A, Hikichi N (1996) A hardware/software partitioning algorithm for designing pipelined ASIPs with least gate counts. In: Proceedings of the 33rd annual conference on design automation, 3–7 June 1996, Las Vegas, pp 527–532

    Google Scholar 

  • Blickle T (1996) Theory of evolutionary algorithms and applications to system synthesis. Dissertation, Swiss Federal Institute of Technology, Zurich

    Google Scholar 

  • Chatha KS, Vemuri R (2001) MAGELLAN: Multiway hardware-software partitioning and scheduling for latency minimization of hierarchical control-dataflow task graphs. In: Proceedings of CODES’01, 25–27 Apr 2001, Copenhagen, pp 42–47

    Google Scholar 

  • D’Ambrosio JD, Hu X (1994) Configuration-level hardware/software partitioning for real-time embedded systems. In: Proceedings of third international workshop on hardware/software codesign, 22–24 Sept 1994, Grenoble, pp 34–41

    Google Scholar 

  • Deb K (2002) Multi-objective optimization using evolutionary algorithms. Wiley, Chichester

    Google Scholar 

  • Dick RP, Jha NK (1997) MOGAC: a multi-objective genetic algorithm for the co-synthesis of hardware-software embedded systems. In: Proceedings of IEEE/ACM international conference on computer-aided design, 9–13 Nov 1997, San Jose, pp 522–529

    Google Scholar 

  • Eles P, Peng Z (1996) System level hardware/software partitioning based on simulated annealing and Tabu Search. Des Autom Embed Syst 2(1):5–32

    Article  Google Scholar 

  • Ernst J, Henkel J, Benner T (1992) Hardware software co synthesis for microcontrollers. IEEE Des Test Comput 10(4):64–75

    Article  Google Scholar 

  • Greg Stit (2008) Hardware/software partitioning with multi-version implementation exploration. In: Proceedings of 18th ACM Great Lakes symposium on VLSI, 04–06 May 2008, USA, pp 143–146

    Google Scholar 

  • Gupta RK, De Micheli G (1993) Hardware-software co-synthesis for digital systems. IEEE Des Test Comput 10(3):29–41

    Article  Google Scholar 

  • He Jifeng, Huang, Dang, Pu Geguang, Qiu, Zong Yan Yi, Wang (2005) Exploring optimal solution to hardware/software partitioning for synchronous model. J Formal Aspects Comput 17(4):587–611

    Google Scholar 

  • Henkel J, Ernst R (2001) An approach to automated hardware/software partitioning using a flexible granularity that is driven by high-level estimation techniques. IEEE Trans VLSI Syst 9(2):273–289

    Article  Google Scholar 

  • Hidalgo JI, Lanchares J (1997) Functional partitioning for hardware-software codesign using genetic algorithms. In: Proceedings of 23rd EUROMICRO conference, 01–04 Sept 1997, Budapest, Hungary, pp 631–638

    Google Scholar 

  • Hou J, Wolf W (1996) Process partitioning for distributed embedded systems. In: Proceedings of fourth international workshop on hardware/software co-design, Mar 1996, Pittsburgh, Pennsylvania, pp 70–76

    Google Scholar 

  • Jagadeeswari M, Bhuvaneswari MC (2009) An efficient multi-objective genetic algorithm for hardware-software partitioning in embedded system design: ENGA. Int J Comput Appl Technol 36(3/4):181–190

    Article  Google Scholar 

  • Kalavade A, Lee E (1994) A global criticality/local phase driven algorithm for the constrained hardware/software partitioning problem. In: Proceedings of third international workshop on hardware/software co design, 22–24 Sept 1994, Grenoble, pp 42–48

    Google Scholar 

  • Kirkpatrick S Jr, Gelatt CD, Vecchi MP (1983) Optimization by simulated annealing. Comput Sci J 220(4598):671–680

    MATH  MathSciNet  Google Scholar 

  • Lopez Vallejo M, Grajal J, Lopez JC (2000) Constraint-driven system partitioning. In: Proceedings of design automation and test in Europe, Jan 2000, Paris, France, pp 411–416

    Google Scholar 

  • Lopez Vallejo M, Lopez JC (2001) Multi-way clustering techniques for system level partitioning. In: Proceedings of the 14th IEEE ASIC/SOC conference, 12–15 Sept 2011, Arlington, pp 242–247

    Google Scholar 

  • Madsen J, Grode J, Knudsen P (1997) Hardware/software partitioning using the LYCOS system. Hardware/software codesign: principles and practices, Springer, US

    Google Scholar 

  • Niemann R, Marwedel P (1997) An algorithm for hardware/software partitioning using mixed linear programming. Des Autom Embed Syst 2(2):165–193

    Article  Google Scholar 

  • Schaumont P (2013) A practical introduction to hardware/software codesign, 2nd edn. Springer Science+Business media, New York

    Book  Google Scholar 

  • Shrivastava A, Kumar M (2000) Optimal hardware/software partitioning for concurrent specification using dynamic programming. In: Proceedings of thirteenth international conference on VLSI design, 03–07 Jan 2000, Calcutta, India, pp 110–113

    Google Scholar 

  • Srinivasan V, Radhakrishnan S, Vemuri R (1998) Hardware software partitioning with integrated hardware design space exploration. In: Proceedings of design automation and test in Europe, Feb 1998, Paris, France, pp 28–35

    Google Scholar 

  • Theerayod Wiangtong (2004) Hardware/software partitioning and scheduling for reconfigurable systems. Dissertation, Imperial College, London

    Google Scholar 

  • Tsou CS, Fang HH, Chang HH, Kao CH (2006) An improved particle swarm pareto optimizer with local search and clustering, vol 4247, Lecture notes in computer science. Springer-Verlag, Berlin, Heidelberg, pp 400–406

    Google Scholar 

  • Vahid F (1997) Modifying min-cut for hardware and software functional partitioning. In: Proceedings of fifth international workshop on hardware/software co-design, 24–26 Mar 1997, Germany, p 43

    Google Scholar 

  • Vahid F, Gajski DD (2001) Incremental hardware estimation during hardware/software functional partitioning. IEEE Trans VLSI Syst 3:516–521

    Google Scholar 

  • Vahid F, Jie Gong, Daniel D Gajski (1994) A binary constraint search algorithm for minimizing hardware during hardware/software partitioning. In: Proceedings of the conference on European design automation EURO-DAC ’94, Grenoble, pp 214–219

    Google Scholar 

  • Wu Jigang, Qiqiang Sun, Thambipillai Srikanthan (2010) Multiple-choice hardware/software partitioning: computing models and algorithms. In: Proceedings of international conference on computer engineering and technology, April 2010, China, pp 61–65

    Google Scholar 

  • Zou Yi, Zhenquan Zhuang, Huanhuan Chen (2004) HW/SW partitioning based on genetic algorithm. In: Proceedings of the congress on evolutionary computation, 19–23 June 2004, pp 628–633

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to M. Jagadeeswari .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2015 Springer India

About this chapter

Cite this chapter

Bhuvaneswari, M.C., Jagadeeswari, M. (2015). Hardware/Software Partitioning for Embedded Systems. In: Bhuvaneswari, M. (eds) Application of Evolutionary Algorithms for Multi-objective Optimization in VLSI and Embedded Systems. Springer, New Delhi. https://doi.org/10.1007/978-81-322-1958-3_2

Download citation

  • DOI: https://doi.org/10.1007/978-81-322-1958-3_2

  • Published:

  • Publisher Name: Springer, New Delhi

  • Print ISBN: 978-81-322-1957-6

  • Online ISBN: 978-81-322-1958-3

  • eBook Packages: EngineeringEngineering (R0)

Publish with us

Policies and ethics