This Article 
 Bibliographic References 
 Add to: 
Combining a Performance Estimation Methodology with a Hardware/Software Codesign Flow Supporting Multiprocessor Systems
September 2002 (vol. 28 no. 9)
pp. 822-831

Abstract—This paper addresses performance estimation and architecture exploration issues within the context of hardware/software codesign. We introduce a new methodology to rapidly explore the large design space encountered in hardware/software systems. The proposed methodology is based on a fast and accurate estimation approach. This estimation approach takes advantage of both system and RT levels of abstraction, and combines both static and dynamic analysis techniques, in order to obtain the best trade-off between speed and accuracy. It has been implemented as an extension to a hardware/software codesign flow to enable the exploration of a large number of multiprocessor architecture solutions from the very start of the design process. The effectiveness of the proposed methodology is illustrated by a significant application example. Experimental results indicate strong advantages of the proposed methodology.

[1] “Stirling Numbers of the Second Kind,” Handbook of Math. Functions with Formulas, Graphs, and Math. Tables, M. Abramowitz and C.A. Stegun eds., New York: Dover, pp. 824-825, 1972.
[2] A. Baghdadi, N.-E. Zergainoh, W. Cesario, T. Roudier, and A.A. Jerraya, “Design Space Exploration for Hardware/Software Codesign of Multiprocessor Systems,” Proc. 11th IEEE Int'l Workshop Rapid System Prototyping, June 2000.
[3] O. Bentz, J. Rabaey, and D. Lidsky, “A Dynamic Design Estimation and Exploration Environment,” Proc. Design Automation Conf., June 1997.
[4] A. Dasdan and R.K. Gupta, “Timing Issues in System-Level Design,” Invited paper, IEEE CS Ann. Workshop VLSI (IWV): System-Level Design, pp. 124-129, Feb. 1998.
[5] H.J. Eikerling, W. Hardt, J. Gerlach, and W. Rosenstiel, “A Methodology for Rapid Analysis and Optimization of Embedded Systems,” Proc. Int'l IEEE Symp. and Workshop ECBS, pp. 252-259, Mar. 1996.
[6] J. Ellsberger, D. Hogrefe, and A. Sarma, SDL: Formal Object-oriented Language for Communicating Systems, second ed. Prentice Hall, 1997.
[7] R. Ernst and W. Ye, Embedded Program Timing Analysis Based on Path Clustering and Architecture Classification Proc. Int'l Conf. Computer-Aided Design (ICCAD '97) pp. 598-604, 1997.
[8] O. Faergemand and A. Olsen, “Introduction to SDL-92,” Computer Networks and ISDN Systems, vol. 26, pp. 1143-1167, 1994.
[9] D. Gajski, F. Vahid, S. Narayan, and J. Gong, “SpecSyn: An Environment Supporting the Specify-Explore-Refine Paradigm for Hardware/Software System Design,” Trans. VLSI Systems, vol. 6, no. 1, pp. 84-100, 1998.
[10] D. Gajski, F. Vahid, S. Narayan, and J. Gong, “System-Level Exploration with SpecSyn,” Proc. Design Automation Conf., pp. 812-817, June 1998.
[11] D. Gajski, Principles of Digital Design. Upper Saddle River, N.J.: Prentice Hall, 1997.
[12] D. Gajski, “Essential Issues and Possible Solutions in High-Level Synthesis,” High-Level VLSI Synthesis, R. Composano and W. Wolf eds., pp. 1-26, 1991.
[13] F. Hessel, P. Le Marrec, C. Valderrama, M. Romdhani, and A.A. Jerraya, “MCI: Multilanguage Distributed Cosimulation Tool” Proc. Int'l Workshop Distributed and Parallel Embedded Systems, Oct. 1998.
[14] J. Henkel and R. Ernst, “A Hardware/Software Partitioner Using a Dynamically Determined Granularity,” Proc. Design Automation Conf. (DAC'97), pp. 691-696, 1997.
[15] J. Henkel and R. Ernst, “High-Level Estimation Techniques for Usage in Hardware/Software Co-Design,” Proc. Asia and South Pacific Automation Conf., pp. 353-360, Feb. 1998.
[16] D. Herrmann, J. Henkel, and R. Ernst, “An Approach to the Adaptation of Estimated Cost Parameters in the COSYMA System,” Proc. Int'l Workshop Hardware-Software Codesign, pp. 100-107, 1994.
[17] ITU-T “Functional Specification and Description Language,” Recommendation Z.100 - Z.104, Mar. 1993.
[18] A.A. Jerraya, et al., “Multilanguage Specification for System Design and Codesign” chapter on“System-Level Synthesis,” NATO ASI 1998, A. Jerraya and J. Mermet eds., Kluwer Academic, 1999.
[19] P.V. Knudsen and J. Madsen, “Communication Estimation for Hardware/Software Codesign,” Proc. Int'l Workshop Hardware-Software Codesign, 1998.
[20] P. Le Blanc, “Modeling&Simulation with SDL&MSC by an Example SDL,” Proc. SDL Forum'97, Sept. 1997.
[21] P. Leblanc, “SDL Performance Analysis with ObjectGEODE,” Verilog white paper, Verilog, Toulouse, France, 1998.
[22] J. Liu, M. Lajolo, and A. Sangiovanni-Vincentelli, “Software Timing Analysis Using HW/SW Cosimulation and Instruction Set Simulator,” Proc. Int'l Workshop Hardware-Software Codesign, Mar. 1998.
[23] J. Madsen, J. Grode, P.V. Knudsen, M.E. Petersen, and A. Haxthausen, “LYCOS: the Lyngby Co-Synthesis System,” J. Design Automation of Embedded Systems, vol. 2, no. 2, pp. 195-235, Mar. 1997.
[24] J.L. Roux, “ObjectGEODE SDL Extensions for Performance Analysis,” Proc. Performance and Time in SDL&MSC Workshop, 1998.
[25] K. Suzuki and A. Sangiovanni-Vincentelli, “Efficient Software Performance Estimation Methods for Hardware/Software Codesign,” Proc. Design Automation Conf., June 1996.
[26] B. Tabbara, L. Lavagno, and A. Sangiovanni-Vincentelli, “Fast Hardware-Software Cosimulation using Software Synthesis and Estimation,” Proc. IEEE Int'l High-Level Design Validation and Test Workshop, Nov. 1997.
[27] F. Vahid and D. Gajski, “Incremental Hardware Estimation During Hardware/Software Functional Partitioning,” IEEE Trans. VLSI Systems, vol. 3, no. 3, pp. 459-464, 1995.
[28] T.-Y. Yen and W. Wolf, “Performance Estimation for Real-Time Distributed Embedded Systems,” Proc. Int'l Conf. Computer Design, 1995.
[29] T.-Y. Yen and W. Wolf, “Communication Synthesis for Distributed Embedded Systems,” Proc. IEEE Int'l Conf. Computer-Aided Design, 1995.

Index Terms:
Performance estimation, architecture exploration, hardware/software codesign, multiprocessor architectures, system-level simulation.
Amer Baghdadi, Nacer-Eddine Zergainoh, Wander O. Cesário, Ahmed Amine Jerraya, "Combining a Performance Estimation Methodology with a Hardware/Software Codesign Flow Supporting Multiprocessor Systems," IEEE Transactions on Software Engineering, vol. 28, no. 9, pp. 822-831, Sept. 2002, doi:10.1109/TSE.2002.1033223
Usage of this product signifies your acceptance of the Terms of Use.