Skip to main content
Log in

Hardware-Software Partitioning at the Knowledge Level

  • Published:
Applied Intelligence Aims and scope Submit manuscript


Hardware-software co-design addresses the development of complex heterogeneous systems looking for the best tradeoffs among the different solutions. The basic idea is to combine the hardware and software design cycles. This article shows how knowledge-based techniques can be used to solve the hardware-software partitioning problem, the co-design task that makes the decision on the best implementation of the different components of a digital system. In particular, a fuzzy-logic-based expert system, SHAPES, has been developed based on the CommonKADS methodology. This tool takes advantage of two important artificial intelligence bases: the use of an expert's knowledge in the decision-making process and the possibility of dealing with imprecise and usually uncertain values by the definition of fuzzy magnitudes.

Expert system construction has adopted a knowledge modeling approach, following the knowledge level and knowledge separation principles. This expertise model is the center of the knowledge-based system development. It is based in the problem-solving method Propose and Revise with a previous heuristic classification.

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

Access this article

Subscribe and save

Springer+ Basic
EUR 32.99 /Month
  • Get 10 units per month
  • Download Article/Chapter or Ebook
  • 1 Unit = 1 Article or 1 Chapter
  • Cancel anytime
Subscribe now

Buy Now

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

Instant access to the full article PDF.

Similar content being viewed by others


  1. G. de Micheli and R.K. Gupta, “Hardware-software codesign,” in Proceedings of the IEEE, March 1997, pp. 349–365.

  2. C. Carreras, J.C. López, M.L. López-Vallejo, C. Delgado-Kloos, N. Martínez, and L. Sánchez, “A co-design methodology based on formal specification and high-level estimation,” in Proc. Workshop on HW/SW Co-Design, 1996.

  3. D.D. Gajski, F. Vahid, and S. Narayan, “A system-design methodology: Executable-specification refinement,” in Proceedings of European Design and Test Conference, IEEE, March 1994, pp. 458–463.

  4. A. Kalavade and E.A. Lee, “A hardware-software codesign methodology for DSP application,” IEEE Design & Test of Computers, pp. 16–28, September 1993.

  5. D.E. Thomas, J.K. Adams, and H. Schmit, “A model and methodology for hardware-software codesign,” IEEE Design & Test of Computers, pp. 6–15, September 1993.

  6. M.L. López Vallejo, C. Carreras, J.C. López, and L. Sánchez, “Coarse grain partitioning for hardware-software co-design,” in Proc. 22nd Euromicro Conference, pp. 161–167, September 1996.

  7. R.K. Gupta and G. De Micheli, “HW-SW cosynthesis for digital systems,” IEEE Design & Test of Computers, pp. 29–41, 1993.

  8. A. Kalavade and E.A. Lee, “The extended partitioning problem: hardware/software mapping, scheduling and implementation-bin selection,” Journal of Design Automation of Embedded Systems, vol. 2,no. 2, pp. 125–164, March 1997.

    Google Scholar 

  9. P. Eles, Z. Peng, K. Kuchcinski, and A. Doboli, “System level hardware/software partitioning based on simulated annealing and tabu search,” Design Automation for Embedded Systems, vol. 2,no. 1, pp. 5–32, January 1997.

    Google Scholar 

  10. R. Ernst, J. Henkel, and T. Benner, “Hardware-software cosynthesis for microcontrollers,” IEEE Design & Test of Computers, pp. 64–75, December 1993.

  11. F. Vahid and T. Le, “Extending the Kernighan/Lin heuristic for hardware and software functional partitioning,” Design Automation for Embedded System, vol. 2,no. 2, pp. 237–261, March 1997.

    Google Scholar 

  12. V. Srinivasan, S. Radhakrishnan, and R. Vemuri, “Hardware software partitioning with integrated hardware design space exploration,” in Proc. DATE'98, pp. 28–35, Paris, France, 1998.

  13. A. Th. Schreiber, B.J. Wielinga, J.M. Akkermans, and W. van de Velde, “CommonKADS: A comprehensive methodology for KBS development,” Deliverable DM1.2a KADS-II/M1/RR/UvA/70/1.1, University of Amsterdam, Netherlands Energy Research Foundation ECN and Free University of Brussels, 1994.

  14. M.L. López Vallejo, C.A. Iglesias, and J.C. López, “Applying the propose & revise strategy to the hardware-software partitioning problem,” in Proc. IEA-AIE'98, Lecture Notes in Artificial Intelligence 1415. Springer-Verlag, June 1998, pp. 169–179.

  15. M. Fares and B. Kaminsa, “Exploring the test space with fuzzy decision making,” IEEE Design & Test of Computers, pp. 17–27, 1994.

  16. A. Trouble, J. Chávez, and L.G. Franquelo, “FASY: an fuzzy tool for analog synthesis,” IEEE Trans. on CAD, vol. 15,no. 7, pp. 705–714, July 1996.

    Google Scholar 

  17. B.J. Wielinga, W. Velda, A. Th. Schreiber, and H. Akkermans, “Expertise model definition document,” Deliverable DM.2a, ESPRIT Project P-5248/KADS-II/M2/UvA/026/1.1, University of Amsterdam, Free University of Brussels and Netherlands Energy Research Centre ECN, May 1993.

  18. G. van Heijst, “The role of ontologies in knowledge engineering,” Ph.D. Thesis, University of Amsterdam, 1994.

  19. J.A. Breuker and W. van de Velde (Eds.), “The commonKADS library,” Netherlands Energy Research Foundation ECN, Swedish Inst. of Comp. Sci., Siemens, Univ. of Amsterdam and Free Univ. of Brussels, Technical report, ESPRIT Project P5248, November 1993.

Download references

Author information

Authors and Affiliations


Rights and permissions

Reprints and permissions

About this article

Cite this article

López-Vallejo, M.L., López, J.C. & Iglesias, C.A. Hardware-Software Partitioning at the Knowledge Level. Applied Intelligence 10, 173–184 (1999).

Download citation

  • Issue Date:

  • DOI: