This Article 
 Bibliographic References 
 Add to: 
Affinity-Driven System Design Exploration for Heterogeneous Multiprocessor SoC
May 2006 (vol. 55 no. 5)
pp. 508-519
Continuous advances in silicon technology enable the development of complex System-on-Chip as cooperation among Digital Signal Processors (DPSs), General Purpose Processors (GPPs), and specific hardware components. The impact of this choice is not only limited to the target architecture, but also encompasses the overall system specification. It is thus crucial to manage such a complexity using high-level specification languages and a tool chain supporting the designer throughout a set of strategic decisions, such as the identification of a set of possible target architectures, the verification of the correctness of the specification, and the partitioning of the specification onto a set of computational resources. This paper addresses this type of problem by proposing a design flow supporting the system-level design of heterogeneous multiprocessor system-on-chip (MP-SoC), by extracting information from the system description (e.g., SystemC)—statically and in a fast manner—and by providing a set of quantitative measures correlating the type of executor, the functionality, and a timing estimation. Partitioning and architecture selection are built on top of this data and the final analysis of the selected Hardware-Software solution over the identified candidates is finally submitted to a timing verification via simulation. Note that the possibility of actually performing a comprehensive design space exploration, in general, is tightly influenced by the interaction between partitioning/architecture-selection and timing simulation in the design flow; for this reason, the description of this aspect is particularly emphasized in the presentation of the methodology. To show the applicability of the proposed methodology, two relevant case studies are described in the paper.

[1] T.A.C.M. Claasen, “High Speed: Not the Only Way to Exploit the Intrinsic Computational Power of Silicon,” Proc. IEEE Int'l Solid-State Circuits Conf. (ISSCC 1999), Digest of Technical Papers, pp. 22-25, 1999.
[2] G. Sander, R. Tamassia, and I.G. Tollis, “Graph Layout through the VCG Tool,” Proc. DIMACS Int'l Workshop (GD '94), 1994.
[3] J. Choi, M. Burke, and P. Carini, “Efficient Flow-Sensitive Inter-Procedural Computation of Pointer-Induced Aliases and Side Effects,” Proc. 20th Ann. ACM Symp. Principles of Programming Languages, pp. 233-245, 1993.
[4] L. Carro, M. Kreutz, F.R. Wagner, and M. Oyamada, “System Synthesis for Multiprocessor Embedded Applications,” Proc. Design, Automation and Test in Europe Conf. and Exhibition, pp. 697-702, 2000.
[5] M.T.J. Strik, A.H. Timmer, J.L. Van Meerbergen, and G. VanRootselaar, “Heterogeneous Multiprocessor for the Management of Real-Time Video and Graphics Streams,” IEEE J. Solid-State Circuits, vol. 35, no. 11, pp. 1722-1731, Nov. 2000.
[6] J. Hilgenstock, K. Herrmann, S. Moch, and P. Pirsch, “A Single-Chip Video Signal Processing System with Embedded DRAM,” Proc. IEEE Workshop Signal Processing Systems (SiPS 2000), pp. 23-32, 2000.
[7] B.P. Dave, G. Lakshminarayana, and N.K. Jha, “COSYN: Hardware-Software Co-Synthesis of Heterogeneous Distributed Embedded Systems,” IEEE Trans. Very Large Scale Integrated Systems, vol. 7, no. 1, pp. 92-104, Mar. 1999.
[8] B.P. Dave and N.K. Jha, “COHRA: Hardware-Software Cosynthesis of Hierarchical Heterogeneous Distributed Embedded Systems,” IEEE Trans. Computer-Aided Design of Integrated Circuits and Systems, vol. 17, no. 10, pp. 900-919, Oct. 1998.
[9] P.A. Hsiung, “CMAPS: A Cosynthesis Methodology for Application-Oriented General-Purpose Parallel Systems,” ACM Trans. Design Automation of Electronic Systems, vol. 5, no. 1, pp. 58-81, Jan. 2000.
[10] J. Axelsson, “Towards System-Level Analysis and Synthesis of Distributed Real-Time Systems,” Proc. Fifth Int'l Conf. Information Systems Analysis and Synthesis, vol. 5, pp. 40-46, 1999.
[11] L. Pomante, “System-Level Co-Design of Heterogeneous Multiprocessor Embedded Systems,” PhD thesis, DEI, Politecnico di Milano, 2002.
[12] L. Pomante, W. Fornaciari, D. Sciuto, and F. Salice, “Metrics for Design Space Exploration of Heterogeneous Multiprocessor Embedded Systems,” IEEE Proc. 10th Workshop Hardware/Software Codesign, May 2002.
[13] G.F. Marchioro, J.M. Daveau, and A.A. Jerraya, “Transformational Partitioning for Co-Design of Multiprocessor Systems,” IEEE Proc. Int'l Conf. Computer Aided Design, 1997.
[14] M. Srivastava and R. Brodersen, “SIERA: A Unified Framework for Rapid-Prototyping of System-Level Hardware and Software,” IEEE Trans. Computer-Aided Design of Integrated Circuits and Systems, pp. 676-693, June 1995.
[15] S. Agrawal and R.K. Gupta, “Data-Flow Assisted Behavioral Partitioning for Embedded Systems,” IEEE Proc. 34th Design Automation Conf., pp. 709-712, 1997.
[16] P.V. Knudsen and J. Madsen, “Graph Based Communication Analysis for Hardware/Software Codesign,” IEEE Proc. Seventh Workshop Hardware/Software Codesign, pp. 131-135, 1999.
[17] J.M. Chang and M. Pedram, “Codex-dp: Co-Design of Communicating Systems Using Dynamic Programming,” IEEE Trans. Computer-Aided Design of Integrated Circuits and Systems, vol. 19, no. 7, pp. 732-744, July 2000.
[18] J.I. Hidalgo and J. Lanchares, “Functional Partitioning for Hardware-Software Codesign Using Genetic Algorithms,” Proc. 23rd EUROMICRO Conf., pp. 631-638, 1997.
[19] J.K. Adams and D.E. Thomas, “Multiple-Process Behavioral Synthesis for Mixed Hardware-Software Systems,” IEEE Proc. Eighth Intl Symp. System Synthesis, pp. 10-15, 1995.
[20] C.L. Liu and J.W. Layland, “Scheduling Algorithms for Multiprogramming in a Hard Real-Time Environment,” J. ACM, vol. 20, no. 1, pp. 37-53, 1973.
[21] M. Mitchell, An Introduction to Genetic Algorithms. MIT Press, 1996.
[22] GALIB,, 1999.
[23] Intel, “Embedded Ultra Low Power Intel 486T GX Processor Datasheet,” DATASHTS272755.htm, 2002..
[24] T. Cooper, “Taming the SHARC,” technical report, Ixthos Inc., 2000.
[25] S. Broen, R. Francis, J. Rose, and Z. Vranesic, Field Programmable Gate Array. Boston: Kluwer Academic, 1992.
[26] A. DeHon, “Reconfigurable Architectures for General-Purpose Computing,” Technical Report No. 1586, MIT-AI Laboratory, 1996.
[27] L. Guerra, M. Potkonjak, and M. Rabaey, “System-Level Design Guidance Using Algorithm Properties,” J. VLSI Signal Processing, vol. VII, pp. 73-82, 1994.
[28] A. Kavalade and A. Lee, “A Global Criticality/Local Phase Driven Algorithm for the Constrained Hardware/Software Partitioning Problem,” Proc. IEEE CODES/CASHE, pp. 42-48, 1994.
[29] P. Devanbu, “GENOA: A Customizable, Language- and Front-End Independent Code Analyzer,” Proc. Int'l Conf. Software Eng. (ICSE), 1992.
[30] http:/, 2006.
[31] L. Choi and P.-C. Yew, “Compiler Analysis for Cache Coherence: Interprocedural Array Data-Flow Analysis and Its Impact on Cache Performance,” IEEE Trans. Parallel and Distributed Systems, vol. 11, no. 9, pp. 879-896, Sept. 2000.
[32] F. Salice, W. Fornaciari, L. Pomante, and D. Sciuto, “An Internal Representation Model for System-Level Co-Design of Heterogeneous Multiprocessor Embedded System,” Proc. Forum Specification and Design Languages, pp. 669-679, Sept. 2003.
[33] http:/, 2006.
[34] L. DelVecchio, W. Fornaciari, L. Pomante, and F. Salice, “Partitioning of Embedded Applications onto Heterogeneous Multiprocessor Architectures,” Proc. ACM Symp. Applied Computing, pp. 661-665, Mar. 2003.
[35] http:/, 2006.
[36] D. Lyonnard, Y. Sungjoo, A. Baghdadi, and A.A. Jerraya, “Automatic Generation of Application-Specific Architectures for Heterogeneous Multiprocessor System-on-Chip,” IEEE Proc. Design Automation Conf., pp. 518-523, 2001.
[37] Y. Fei and N.K. Jha, “Functional Partitioning for Low Power Distributed Systems of Systems-on-a-Chip,” IEEE Proc. Asia and South Pacific Design Automation Conf. (ASP-DAC), pp. 274-281, 2002.
[38] A. Baghdadi, N.E. Zergainoh, W.O. Cesario, and A.A. Jerraya, “Combining a Performance Estimation Methodology with a Hardware/Software Codesign Flow Supporting Multiprocessor Systems,” IEEE Trans. Software Eng., vol. 28, no. 9, pp. 822-831, 2002.
[39] A. Baghdadi, D. Lyonnard, N.E. Zergainoh, and A.A. Jerraya, “An Efficient Architecture Model for Systematic Design of Application-Specific Multiprocessor SoC,” IEEE Proc. Design, Automation and Test in Europe, pp. 55-62, 2001.
[40] M. Auguin, L. Capella, F. Cuesta, and E. Gresset, “CODEF: A System Level Design Space Exploration Tool,” Proc. IEEE Int'l Conf. Acoustics, Speech, and Signal Processing, vol. 2, pp. 1145-1148, 2002.
[41] D. Sciuto, F. Salice, W. Fornaciari, and L. Pomante, “Hw/Sw Cosimulation for Fast Design Space Exploration of Multiprocessor Embedded Systems,” Canadian J. Electrical and Computer Eng., vol. 26, nos. 3/4, pp. 135-140, 2001.
[42] P. Taddei and A. Tornatore, “Sched_PA: A Scheduler in SystemC,” master's thesis, Univ. of Illinois at Chicago, 2003.
[43] C. Brandolese, F. Salice, W. Fornaciari, and D. Sciuto, “Static Power Modeling of 32-Bit Microprocessors,” IEEE Trans. Computer-Aided Design of Integrated Circuits and Systems, vol. 21, no. 11, pp. 1306-1316, Nov. 2002.
[44] G. Beltrame, C. Brandolese, W. Fornaciari, F. Salice, D. Sciuto, and V. Trianni, “Modeling Assembly Instruction Timing in Superscalar Architectures,” Proc. IEEE Int'l Symp. System Synthesis, pp. 132-137, 2002.
[45] G. Beltrame, C. Brandolese, W. Fornaciari, F. Salice, D. Sciuto, and V. Trianni, “Dynamic Modeling of Inter-Instruction Effects for Execution Time Estimation,” Proc. IEEE Int'l Symp. System Synthesis, pp. 136-141, 2001.
[46] C. Brandolese, W. Fornaciari, and F. Salice, “An Area Estimation Methodology for FPGA Based Designs at Systemc-Level,” Proc. IEEE Design Automation Conf., pp. 129-132, 2004.

Index Terms:
System-on-Chip, embedded systems, multiprocessor systems, codesign, metrics, heterogeneous systems.
Carlo Brandolese, William Fornaciari, Luigi Pomante, Fabio Salice, Donatella Sciuto, "Affinity-Driven System Design Exploration for Heterogeneous Multiprocessor SoC," IEEE Transactions on Computers, vol. 55, no. 5, pp. 508-519, May 2006, doi:10.1109/TC.2006.66
Usage of this product signifies your acceptance of the Terms of Use.