This Article 
   
 Share 
   
 Bibliographic References 
   
 Add to: 
 
Digg
Furl
Spurl
Blink
Simpy
Google
Del.icio.us
Y!MyWeb
 
 Search 
   
A Systematic Approach to Exploring Embedded System Architectures at Multiple Abstraction Levels
February 2006 (vol. 55 no. 2)
pp. 99-112
Andy D. Pimentel, IEEE Computer Society
The sheer complexity of today's embedded systems forces designers to start with modeling and simulating system components and their interactions in the very early design stages. It is therefore imperative to have good tools for exploring a wide range of design choices, especially during the early design stages, where the design space is at its largest. This paper presents an overview of the Sesame framework, which provides high-level modeling and simulation methods and tools for system-level performance evaluation and exploration of heterogeneous embedded systems. More specifically, we describe Sesame's modeling methodology and trajectory. It takes a designer systematically along the path from selecting candidate architectures, using analytical modeling and multiobjective optimization, to simulating these candidate architectures with our system-level simulation environment. This simulation environment subsequently allows for architectural exploration at different levels of abstraction while maintaining high-level and architecture-independent application specifications. We illustrate all these aspects using a case study in which we traverse Sesame's exploration trajectory for a Motion-JPEG encoder application.

[1] F. Vahid and T. Givargis, “Platform Tuning for Embedded Systems Design,” Computer, vol. 34, no. 3, pp. 112-114, Mar. 2001.
[2] A. Sangiovanni-Vincentelli and G. Martin, “Platform-Based Design and Software Design Methodology for Embedded Systems,” IEEE Design and Test of Computers, vol. 18, no. 6, pp. 23-33, 2001.
[3] K. Keutzer, S. Malik, A. Newton, J. Rabaey, and A. Sangiovanni-Vincentelli, “System Level Design: Orthogonalization of Concerns and Platform-Based Design,” IEEE Trans. Computer-Aided Design of Integrated Circuits and Systems, vol. 19, no. 12, pp. 1523-1543, Dec. 2000.
[4] A.D. Pimentel, P. Lieverse, P. van der Wolf, L.O. Hertzberger, and E.F. Deprettere, “Exploring Embedded-Systems Architectures with Artemis,” Computer, vol. 34, no. 11, pp. 57-63, Nov. 2001.
[5] A.D. Pimentel, “The Artemis Workbench for System-Level Performance Evaluation of Embedded Systems,” Int'l J. Embedded Systems, vol. 1, no. 7, 2005.
[6] F. Balarin, E. Sentovich, M. Chiodo, P. Giusto, H. Hsieh, B. Tabbara, A. Jurecska, L. Lavagno, C. Passerone, K. Suzuki, and A. Sangiovanni-Vincentelli, Hardware-Software Co-Design of Embedded Systems— The POLIS Approach. Kluwer Academic, 1997.
[7] F. Balarin, Y. Watanabe, H. Hsieh, L. Lavagno, C. Passerone, and A. Sangiovanni-Vincentelli, “Metropolis: An Integrated Electronic System Design Environment,” Computer, vol. 36, no. 4, pp. 45-52, Apr. 2003.
[8] A. Mihal, C. Kulkarni, C. Sauer, K. Vissers, M. Moskewicz, M. Tsai, N. Shah, S. Weber, Y. Jin, K. Keutzer, and S. Malik, “Developing Architectural Platforms: A Disciplined Approach,” IEEE Design and Test of Computers, vol. 19, no. 6, pp. 6-16, Nov./Dec. 2002.
[9] A. Cassidy, J. Paul, and D. Thomas, “Layered, Multi-Threaded, High-Level Performance Design,” Proc. Int'l Conf. Design, Automation and Test in Europe (DATE), Mar. 2003.
[10] S. Mohanty and V.K. Prasanna, “Rapid System-Level Performance Evaluation and Optimization for Application Mapping onto SoC Architectures,” Proc. IEEE Int'l ASIC/SOC Conf., 2002.
[11] T. Kogel, A. Wieferink, R. Leupers, G. Ascheid, H. Meyr, D. Bussaglia, and M. Ariyamparambath, “Virtual Architecture Mapping: A SystemC Based Methodology for Architectural Exploration of System-on-Chip Designs,” Proc. Int'l Workshop Systems, Architectures, Modeling, and Simulation (SAMOS), pp. 138-148, 2003.
[12] M. Gries, “Methods for Evaluating and Covering the Design Space during Early Design Development,” Integration, the VLSI J., vol. 38, no. 2, pp. 131-183, 2004.
[13] K. Lahiri, A. Raghunathan, and S. Dey, “System-Level Performance Analysis for Designing On-Chip Communication Architectures,” IEEE Trans. Computer-Aided Design of Integrated Circuits and Systems, vol. 20, no. 6, pp. 768-783, June 2001.
[14] V. Živković, E.F. Deprettere, P. van der Wolf, and E. de Kock, “Fast and Accurate Multiprocessor Architecture Exploration with Symbolic Programs,” Proc. Int'l Conf. Design, Automation and Test in Europe (DATE), Mar. 2003.
[15] P. Lieverse, P. van der Wolf, E.F. Deprettere, and K.A. Vissers, “A Methodology for Architecture Exploration of Heterogeneous Signal Processing Systems,” J. VLSI Signal Processing for Signal, Image, and Video Technology, vol. 29, no. 3, pp. 197-207, Nov. 2001.
[16] J.T. Buck, S. Ha, E.A. Lee, and D.G. Messerschmitt, “Ptolemy: A Framework for Simulating and Prototyping Heterogeneous Systems,” Int'l J. Computer Simulation, vol. 4, pp. 155-182, Apr. 1994.
[17] C.A.R. Hoare, “Communicating Sequential Processes,” Comm. ACM, vol. 21, no. 8, Aug. 1978.
[18] E.A. Lee and T.M. Parks, “Dataflow Process Networks,” Proc. IEEE, vol. 83, no. 5, pp. 773-801, May 1995.
[19] G. Kahn, “The Semantics of a Simple Language for Parallel Programming,” Proc. IFIP Congress 74, 1974.
[20] L. Thiele, S. Chakraborty, M. Gries, and S. Künzli, “A Framework for Evaluating Design Tradeoffs in Packet Processing Architectures,” Proc. Design Automation Conf. (DAC), June 2002.
[21] R.P. Dick and N.K. Jha, “MOGAC: A Multiobjective Genetic Algorithm for Hardware-Software Co-Synthesis of Distributed Embedded Systems,” IEEE Trans. Computer-Aided Design of Integrated Circuits and Systems, Oct. 1998.
[22] T. Blickle, J. Teich, and L. Thiele, “System-Level Synthesis Using Evolutionary Algorithms,” Design Automation for Embedded Systems, vol. 3, no. 1, pp. 23-58, 1998.
[23] G. Ascia, V. Catania, and M. Palesi, “A GA-Based Design Space Exploration Framework for Parameterized System-on-a-Chip Platforms,” IEEE Trans. Evolutionary Computation, vol. 8, no. 4, pp. 329-346, 2004.
[24] T. Givargis and F. Vahid, “Platune: A Tuning Framework for System-on-a-Chip Platforms,” IEEE Trans. Computer-Aided Design of Integrated Circuits and Systems, vol. 21, no. 11, pp. 1317-1327, 2002.
[25] T. Givargis, F. Vahid, and J. Henkel, “System-Level Exploration for Pareto-Optimal Configurations in Parameterized System-on-a-Chip,” IEEE Trans. Very Large Scale Integration Systems, vol. 10, no. 4, pp. 416-422, 2002.
[26] J. Peng, S. Abdi, and D. Gajski, “Automatic Model Refinement for Fast Architecture Exploration,” Proc. Int'l Conf. VLSI Design, pp. 332-337, Jan. 2002.
[27] S. Abdi, D. Shin, and D. Gajski, “Automatic Communication Refinement for System Level Design,” Proc. Design Automation Conf. (DAC), pp. 300-305, June 2003.
[28] P. Lieverse, P. van der Wolf, and E.F. Deprettere, “A Trace Transformation Technique for Communication Refinement,” Proc. Int'l Symp. Hardware/Software Codesign (CODES), pp. 134-139, Apr. 2001.
[29] G. Nicolescu, S. Yoo, and A.A. Jerraya, “Mixed-Level Cosimulation for Fine Gradual Refinement of Communication in SoC Design,” Proc. Int'l Conf. Design, Automation and Test in Europe (DATE), Mar. 2001.
[30] J.Y. Brunel, E.A. de Kock, W. Kruijtzer, H. Kenter, and W. Smits, “Communication Refinement in Video Systems on Chip,” Proc. Int'l Workshop Hardware/Software Codesign (CODES), pp. 142-146, May 1999.
[31] J. Rowson and A. Sangiovanni-Vincentelli, “Interface-Based Design,” Proc. Design Automation Conf. (DAC), June 1997.
[32] B. Kienhuis, E.F. Deprettere, K.A. Vissers, and P. van der Wolf, “An Approach for Quantitative Analysis of Application-Specific Dataflow Architectures,” Proc. Int'l Conf. Application-Specific Systems, Architectures, and Processors (ASAP), July 1997.
[33] B. Kienhuis, E.F. Deprettere, P. van der Wolf, and K.A. Vissers, “A Methodology to Design Programmable Embedded Systems: The Y-Chart Approach,” Embedded Processor Design Challenges, pp. 18-37, Springer, 2002.
[34] C. Erbas, S.C. Erbas, and A.D. Pimentel, “A Multiobjective Optimization Model for Exploring Multiprocessor Mappings of Process Networks,” Proc. Int'l Conf. HW/SW Codesign and System Synthesis (CODES-ISSS), pp. 182-187, Oct. 2003.
[35] E. Zitzler, M. Laumanns, and L. Thiele, “SPEA2: Improving the Strength Pareto Evolutionary Algorithm for Multiobjective Optimization,” Evolutionary Methods for Design, Optimisation, and Control, pp. 95-100, Barcelona: CIMNE, 2002.
[36] A.D. Pimentel, S. Polstra, F. Terpstra, A.W. van Halderen, J.E. Coffland, and L.O. Hertzberger, “Towards Efficient Design Space Exploration of Heterogeneous Embedded Media Systems,” Embedded Processor Design Challenges, pp. 57-73, Springer, 2002.
[37] J.E. Coffland and A.D. Pimentel, “A Software Framework for Efficient System-Level Performance Evaluation of Embedded Systems,” Proc. ACM Symp. Applied Computing (SAC), pp. 666-671, Mar. 2003, http:/sesamesim.sourceforge.net/.
[38] A. Turjan, B. Kienhuis, and E.F. Deprettere, “Translating Affine Nested Loop Programs to Process Networks,” Proc. Int'l Conf. Compilers, Architectures, and Synthesis for Embedded Systems (CASES), Sept. 2004.
[39] T. Stefanov and E.F. Deprettere, “Deriving Process Networks from Weakly Dynamic Applications in System-Level Design,” Proc. Int'l Conf. HW/SW Codesign and System Synthesis (CODES-ISSS), Oct. 2003.
[40] E.A. Lee and S. Neuendorffer, “MoML— a Modeling Markup Language in XML, version 0.4,” Technical Report UCB/ERL M00/8, Electronics Research Lab, Univ. of California, Berkeley, Mar. 2000.
[41] L. Cai and D. Gajski, “Transaction Level Modeling: An Overview,” Proc. Int'l Conf. HW/SW Codesign and System Synthesis (CODES-ISSS), pp. 19-24, Oct. 2003.
[42] T. Grötker, S. Liao, G. Martin, and S. Swan, System Design with SystemC. Kluwer Academic, 2002.
[43] H.L. Muller, “Simulating Computer Architectures,” PhD thesis, Dept. of Computer Science, Univ. of Amsterdam, Feb. 1993.
[44] M. Thompson and A.D. Pimentel, “A High-Level Programming Paradigm for SystemC,” Proc. Int'l Workshop Systems, Architectures, MOdeling, and Simulation (SAMOS), pp. 530-539, July 2004.
[45] A.D. Pimentel and C. Erbas, “An IDF-Based Trace Transformation Method for Communication Refinement,” Proc. Design Automation Conf. (DAC), pp. 402-407, June 2003.
[46] C. Erbas and A.D. Pimentel, “Utilizing Synthesis Methods in Accurate System-Level Exploration of Heterogeneous Embedded Systems,” Proc. IEEE Workshop Signal Processing Systems (SiPS), pp. 310-315, Aug. 2003.
[47] C. Erbas, S. Polstra, and A.D. Pimentel, “IDF Models for Trace Transformations: A Case Study in Computational Refinement,” Proc. Int'l Workshop Systems, Architectures, MOdeling, and Simulation (SAMOS), pp. 178-187, July 2003.
[48] E.A. Lee and D.G. Messerschmitt, “Synchronous Data Flow,” Proc. IEEE, vol. 75, no. 9, pp. 1235-1245, Sept. 1987.
[49] J.T. Buck, “Static Scheduling and Code Generation from Dynamic Dataflow Graphs with Integer Valued Control Streams,” Proc. Asilomar Conf. Signals, Systems, and Computers, Oct. 1994.
[50] S. Bleuler, M. Laumanns, L. Thiele, and E. Zitzler, “PISA— A Platform and Programming Language Independent Interface for Search Algorithms,” Proc. Evolutionary Multi-Criterion Optimization (EMO 2003), pp. 494-508, 2003.
[51] A.D. Pimentel, F.P. Terpstra, S. Polstra, and J.E. Coffland, “On the Modeling of Intra-Task Parallelism in Task-Level Parallel Embedded Systems,” Domain-Specific Processors, pp. 85-105, Marcel Dekker, 2003.

Index Terms:
Index Terms- Modeling of computer architecture, real-time and embedded systems, simulation, modeling techniques, performance analysis and design aids.
Citation:
Andy D. Pimentel, Cagkan Erbas, Simon Polstra, "A Systematic Approach to Exploring Embedded System Architectures at Multiple Abstraction Levels," IEEE Transactions on Computers, vol. 55, no. 2, pp. 99-112, Feb. 2006, doi:10.1109/TC.2006.16
Usage of this product signifies your acceptance of the Terms of Use.