Hardware-Software Partitioning at the Knowledge Level
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.
Unable to display preview. Download preview PDF.
- 1.G. de Micheli and R.K. Gupta, “Hardware-software codesign,” in Proceedings of the IEEE, March 1997, pp. 349–365.Google Scholar
- 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.Google Scholar
- 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.Google Scholar
- 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.Google Scholar
- 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.Google Scholar
- 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.Google Scholar
- 7.R.K. Gupta and G. De Micheli, “HW-SW cosynthesis for digital systems,” IEEE Design & Test of Computers, pp. 29–41, 1993.Google Scholar
- 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.Google Scholar
- 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.Google Scholar
- 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.Google Scholar
- 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.Google Scholar
- 15.M. Fares and B. Kaminsa, “Exploring the test space with fuzzy decision making,” IEEE Design & Test of Computers, pp. 17–27, 1994.Google Scholar
- 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.Google Scholar
- 18.G. van Heijst, “The role of ontologies in knowledge engineering,” Ph.D. Thesis, University of Amsterdam, 1994.Google Scholar
- 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.Google Scholar