Nicolescu/Model-Based Design for Embedded Systems 67842_C010 Finals Page 316 2009-10-2 316 Model-Based Design for Embedded Systems embedded systems. We argued in favor of the need of a unified way of thinking about system design as the basis for a novel system science. One approach was presented, the PBD, that aims at achieving that unifying role. We discussed some of the most promising approaches for chip and embed- ded system design in the PBD perspective. M ETROPOLIS and its successor M ETRO II frameworks were presented. Some examples of METRO II applica- tions to different industrial domains were then described. While we believe we are making significant inroads, much work remains to be done to transfer the ideas and approaches that are flourishing today in research and in advanced companies to the generality of IC and embedded system designers. To be able to do so, • We need to further advance the understanding of the relationships among parts of a heterogeneous design and its interaction with the physical environment. • The efficiency of algorithms and tools must be improved to offer a solid foundation to the users. • Models and use cases have to be developed. • The scope of system-level design must be extended to include fault tolerance, security, and resiliency. • The EDA industry has to embrace the new paradigms and venture into unchartered waters to grow beyond where it is today. It must create the necessary tools to help engineers to apply the new paradigms. • Academia must develop new curricula (e.g., [13]) that favor a broader approach to engineering while emphasizing the importance of founda- tional disciplines such as mathematics and physics; embedded system designers require a broad view and the capability of mastering hetero- geneous technologies. • The system and semiconductor industry must recognize the impor- tance of investing in training and tools for their engineers to be able to bring new products and services to market. Acknowledgments We wish to acknowledge the support of the Gigascale System Research Cen- ter, the support of NSF-sponsored Center for Hybrid and Embedded Soft- ware Systems, the support of the EU networks of excellence ARTIST and HYCON, and of the European community project SPEEDS. The past and the present support of General Motors, Infineon, Intel, Pirelli, ST, Telecom Italia (in particular, Marco Sgroi, Fabio Bellifemine, and Fulvio Faraci), UMC, and United Technologies Corporation (in particular, the strong interaction with Clas Jacobson, John F. Cassidy Jr., and Michael McQuade) is also gratefully acknowledged. Nicolescu/Model-Based Design for Embedded Systems 67842_C010 Finals Page 317 2009-10-2 Platform-Based Design and Frameworks: METROPOLIS and METRO II 317 References 1. A. Agrawal. Graph rewriting and transformation (GReAT): A solution for the model integrated computing (MIC) bottleneck. In Proceedings of the 18th IEEE International Conference on Automated Software Engineering (ASE03), Montreal, Canada, 2003. 2. P. Alexander. System Level Design with Rosetta. Elsevier, San Francisco, CA, 2006. 3. K. Arnold and J. Gosling. The Java Programming Language. Addison Wesley, Reading, MA, 1996. 4. A. Bakshi, V. K. Prasanna, A. Ledeczi, V. Mathur, S. Mohanty, C. S. Raghavendra, M. Singh, A. Agrawal, J. Davis, B. Eames, S. Neema, and G. Nordstrom. MILAN: A model based integrated simulation framework for design of embedded systems. In Proceedings of the Workshop on Lan- guages, Compilers and Tools for Embedded Systems (LCTES 2001), Snowbird, UT, June 2001. 5. F. Balarin, M. Chiodo, P. Giusto, H. Hsieh, A. Jurecska, L. Lavagno, C. Passerone, A. Sangiovanni-Vincentelli, E. Sentovich, K. Suzuki, and B. Tabbara. Hardware-Software Co-Design of Embedded Systems: The Polis Approach. Kluwer Academic Press, Boston, MA, June 1997. 6. F. Balarin, L. Lavagno, C. Passerone, A. Sangiovanni-Vincentelli, G. Yang, and Y. Watanabe. Concurrent execution semantics and sequen- tial simulation algorithms for the metropolis meta-model. In Proceed- ings of the Tenth International Symposium on Hardware/Software Codesign. CODES 2002, Estes Park, CO, May 6–8, 2002, pp. 13–18. IEEE Computer Society Press, 2002. 7. F. Balarin, L. Lavagno, C. Passerone, A. Sangiovanni-Vincentelli, M. Sgroi, and Y. Watanabe. Modeling and designing heterogenous sys- tems. In J. Cortadella, A. Yakovlev, and G. Rozenberg, editors, Concur- rency and Hardware Design, pp. 228–273. Springer, Berlin, Heidelberg, 2002. LNCS2549. 8. F. Balarin, H. Hsieh, L. Lavagno, C. Passerone, A. Sangiovanni- Vincentelli, and Y. Watanabe. Metropolis: An integrated environment for electronic system design. IEEE Computer, 36(4): 45–52, April 2003. 9. A. Basu, M. Bozga, and J. Sifakis. Modeling heterogeneous real-timecom- ponents in BIP. In Proceedings of the Fourth IEEE International Conference on Software Engineering and Formal Methods (SEFM06), pp. 3–12, Washington, DC, 2006. IEEE Computer Society. Nicolescu/Model-Based Design for Embedded Systems 67842_C010 Finals Page 318 2009-10-2 318 Model-Based Design for Embedded Systems 10. G. Berry and G. Gonthier. The ESTEREL synchronous programming lan- guage: Design, semantics, implementation. Science of Computer Program- ming, 19(2):87–152, November 1992. 11. S. Bliudze and J. Sifakis. The algebra of connectors—structuring inter- actions in BIP. In Proceedings of the 7th ACM & IEEE International con- ference on Embedded Software (EMSOFT07), Salzburg, Austria, September 30–October 3, 2007. 12. C. Brooks, E. A. Lee, X. Liu, S. Neuendorffer, Y. Zhao, and H. Zheng (eds.). Heterogeneous concurrent modeling and design in Java (Vol- ume 1: Introduction to Ptolemy II). Technical Report UCB/ERL M05/21, University of California, Berkeley, CA, July 2005. 13. A. Burns and A. Sangiovanni-Vincentelli. Editorial. ACM Transactions on Embedded Computing Systems, Special Issue on Education, 4(3):472–499, August 2005. 14. San Jose Mercury News (CA). Census counts on pencils, not computers. April 4, 2008. 15. X. Chen, F. Chen, H. Hsieh, F. Balarin, and Y. Watanabe. Formal verifica- tion of embedded system designs at multiple levels of abstraction. Inter- national Workshop on High Level Design Validation and Test—HLDVT02, Cannes, France, September 2002. 16. X. Chen, H. Hsieh, F. Balarin, and Y. Watanabe. Automatic genera- tion of simulation monitors from quantitative constraint formula. Design Automation and Test in Europe, Munich, Germany, March 2003. 17. CoFluent Design. CoFluent Studio. World Wide Web, http://www. cofluentdesign.com, 2007. 18. Common object request broker architecture. OMG Available Specifica- tion 3.1, OMG, January 2008. 19. J. Cortadella, A. Kondratyev, L. Lavagno, C. Passerone, and Y. Watan- abe. Quasi-static scheduling of independent tasks for reactive systems. In Proceedings of the 23rd International Conference on Application and Theory of Petri Nets, Adelaide, South Australia, June 2002. 20. P. Cumming. The TI OMAP platform approach to SOC. In G. Martin and H. Chang, editors, Winning the SoC Revolution, Kluwer Academic, Norwell, MA, 2003. 21. A. Davare, D. Densmore, T. Meyerowitz, A. Pinto, A. Sangiovanni- Vincentelli, G. Yang, and Q. Zhu. A next-generation design framework for platform-based design. In Design and Verification Conference (DV- CON’07), San Jose, CA, February 2007. Nicolescu/Model-Based Design for Embedded Systems 67842_C010 Finals Page 319 2009-10-2 Platform-Based Design and Frameworks: METROPOLIS and METRO II 319 22. A. Davare, Q. Zhu, J. Moondanos, and A. Sangiovanni-Vincentelli. JPEG encoding on the Intel MXP5800: A platform-based design case Study. In 3rd Workshop on Embedded Systems for Real-time Multimedia, New York, September 2005. 23. J. A. de Oliveira and H. van Antwerpen. The Philips Nexperia digital video platform. In G. Martin and H. Chang, editors, Winning the SoC Rev- olution, Kluwer Academic, Norwell, MA, 2003. 24. D. Densmore, A. Donlin, and A. L. Sangiovanni-Vincentelli. FPGA architecture characterization for system level performance analysis. In DATE06, Munich, Germany, March 6–10, 2006. 25. D. Densmore, R. Passerone, and A. L. Sangiovanni-Vincentelli. A platform-based taxonomy for ESL design. IEEE Design & Test of Comput- ers, 23(5):359–374, May 2006. 26. J. Eker, J. W. Janneck, E. A. Lee, J. Liu, X. Liu, J. Ludvig, S. Neuendorffer, S. Sachs, and Y. Xiong. Taming heterogeneity—the Ptolemy approach. Proceedings of the IEEE, 91(1):127–144, January 2003. 27. P. Fritzson, P. Aronsson, A. Pop, H. Lundvall, K. Nystrom, L. Saldamli, D. Broman, and A. Sandholm. Openmodelica—a free open-source envi- ronment for system modeling, simulation, and teaching. 2006 IEEE Inter- national Symposium on Computer-Aided Control Systems Design,Munich, Germany, pp. 1588–1595, October 2006. 28. G. J. Holzmann. The model checker spin. IEEE Transactions on Software Engineering, 23(5):279–258, May 1997. 29. S. Ito. Convergence and divergence in parallel for the ubiquitous era. Solid-State Circuits Conference, 2007. ASSCC ’07. IEEE Asian, Jeju, Korea, pp. 143–143, November 2007. 30. A. Jantsch. Modeling Embedded Systems and SOC’s: Concurrency and Time in Models of Computation. Morgan Kaufmann Publishers, San Francisco, CA, 2003. 31. G. Kahn. The semantics of a simple language for parallel programming. In J. L. Rosenfeld, editor, Proceedings of the IFIP Congress 74, Information Processing 74, pp. 471–475, North Holland, Amsterdam, the Netherlands, 1974. 32. G. Karsai, J. Sztipanovits, A. Ledeczi, and T. Bapty. Model-integrated development of embedded software. Proceedings of the IEEE, 91(1):145– 184, January 2003. 33. K. Keutzer, S. Malik, A. R. Newton, J. M. Rabaey, and A. Sangiovanni- Vincentelli. System-level design: Orthogonalization of concerns and Nicolescu/Model-Based Design for Embedded Systems 67842_C010 Finals Page 320 2009-10-2 320 Model-Based Design for Embedded Systems platform-based design. IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems, 19(12):1523–1543, December 2000. 34. C. Kong and P. Alexander. The Rosetta meta-model framework. In Pro- ceedings of the IEEE Engineering of Computer-Based Systems Symposium and Workshop, Huntsville, AL, April 7–11, 2003. 35. M. Krigsman. IT failure at Heathrow T5: What really happened. April 7, 2008. http://blogs.zdnet.com/projectfailures/?p=681. 36. A. Ledeczi, J. Davis, S. Neema, and A. Agrawal. Modeling methodol- ogy for integrated simulation of embedded systems. ACM Transactions on Modeling and Compututer Simulation, 13(1):82–103, 2003. 37. A. Lee and A. Sangiovanni-Vincentelli. A framework for comparing models of computation. IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems, 17(12):1217–1229, December 1998. 38. X. Liu, Y. Xiong, and E. A. Lee. The Ptolemy II framework for visual languages. In Proceedings of the IEEE 2001 Symposia on Human Centric Computing Languages and Environments (HCC’01), Stresa, Italy, p. 50. IEEE Computer Society, 2001. 39. D. Mathaikutty, H. Patel, and S. Shukla. EWD: A metamodeling driven customizable multi-MoC system modeling environment. FERMAT Tech- nical Report 2004-20, Virginia Tech, 2004. 40. D. A. Mathaikutty, H. Patel, and S. Shukla. A functional programming framework of heterogeneous model of computation for system design. In Forum on Specification and Design Languages (FDL’04), Lille, France, September 13–17, 2004. 41. D. A. Mathaikutty, H. D. Patel, S. K. Shukla, and A. Jantsch. UMoC++: A C++-based multi-MoC modeling environment. In A. Vachoux, editor, Application of Specification and Design Languages for SoCs - Selected paper from FDL 2005, Chapter 7, pp. 115–130. Springer, Berlin, 2006. 42. T. Meyerowitz, A. Sangiovanni-Vincentelli, M. Sauermann, and D. Lan- gen. Source level timing annotation and simulation for a heterogeneous multiprocessor. In DATE08, Munich, Germany, March 10–14, 2008. 43. J. Miller and J. Mukerji, editors. MDA guide version 1.0.1. Technical Report omg/2003-06-01, OMG, 2003. 44. Mirabilis Design. Visual Sim. World Wide Web, http://www. mirabilisdesign.com, 2007. 45. MLDesign Technologies. MLDesigner. World Wide Web, http://www. mldesigner.com, 2007. Nicolescu/Model-Based Design for Embedded Systems 67842_C010 Finals Page 321 2009-10-2 Platform-Based Design and Frameworks: METROPOLIS and METRO II 321 46. http://www.modelica.org/. 47. S. Neema, J. Sztipanovits, and G. Karsai. Constraint-based design-space exploration and model synthesis. In Proceedings of the Third International Conference on Embedded Software (EMSOFT03), Philadelphia, PA, October 13–15 2003. 48. Object constraint language, version 2.0. OMG Available Specification formal/06-05-01, Object Management Group, May 2006. 49. Open SystemC Initiative. Functional Specification for SystemC 2.0, Septem- ber 2001. avaliable at www.systemc.org. 50. H. D. Patel, S. K. Shukla, and R. A. Bergamaschi. Heterogeneous behav- ioral hierarchy extensions for SystemC. IEEE Transactions on Computed- Aided Design of Integrated Circuits and Systems, 26(4):765–780, 2007. 51. A. Pinto, L. Carloni, and A. Sangiovanni-Vincentelli. A communication synthesis infrastructure for heterogeneous networked control systems and its application to building automation and control. In Proceedings of the Seventh International Conference on Embedded Software (EMSOFT), 2007, Salzburg, Austria, October 2007. 52. Third Generation Partnership Project. General universal mobile telecom- munications system (umts) architecture. Technical Specification TS 23.101, 3GPP, December 2004. 53. I. Sander and A. Jantsch. System modeling and transformational design refinement in ForSyDe. IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems, 23(1):17–32, January 2004. 54. A. Sangiovanni-Vincentelli. Defining platform-based design. EEDesign, February 2002. 55. A. Simalatsar, D. Densmore, and R. Passerone. A methodology for archi- tecture exploration and performance analysis using system level design languages and rapid architecture profiling. In Third International IEEE Symposium on Industrial Embedded Systems (SIES), La Grande Motte, France, June 11–13, 2008. 56. S. Solden. Architectural services modeling for performance in HW-SW co-design. In Proceedings of the Workshop on Synthesis And System Integra- tion of MIxed Technologies SASIMI2001, Nara, Japan, October 18–19, 2001, pp. 72–77, 2001. 57. Speeds methodology. white paper 1.2, SPEEDS IST European project, April 2008. avaliable at www.speeds.eu.com/downloads/ SPEEDS_WhitePaper.pdf. Nicolescu/Model-Based Design for Embedded Systems 67842_C010 Finals Page 322 2009-10-2 322 Model-Based Design for Embedded Systems 58. K. Strehl, L. Thiele, M. Gries, D. Ziegenbein, R. Ernst, and J. Teich. FunState—an internal design representation for codesign. IEEE Transac- tions on Very Large Scale Integration (VLSI) Systems, 9(4): 524–544, August 2001. 59. Metropolis Project Team. The metropolis meta-model - version 0.4. Tech- nical Report UCB/ERL M04/38, EECS Department, University of Cali- fornia, Berkeley, 2004. 60. VaST Systems. Comet/Meteor. World Wide Web, http://www. vastsystems.com, 2007. 61. A. Sangiovanni-Vincentelli. Quo Vadis, SLD? Reasoning about trends and challenges of system level design. Proceedings of the IEEE, 95(3): 467–506, March 2007. 62. G. Yang, X. Chen, F. Balarin, H. Hsieh, and A. Sangiovanni-Vincentelli. Communication and co-simulation infrastructure for heterogeneous sys- tem integration. In Design Automation and Test in Europe 2006,Munich, Germany, March 2006. 63. G. Yang, Y. Watanabe, F. Balarin, and A. Sangiovanni-Vincentelli. Sepa- ration of concerns: Overhead in modeling and efficient simulation tech- niques. In Fourth ACM International Conference on Embedded Software (EMSOFT’04), Pisa, Italy, September 2004. 64. G. Yang, H. Hsieh, X. Chen, F. Balarin, and A. Sangiovanni-Vincentelli. Constraints assisted modeling and validation in metropolis framework. In Asilomar Conference on Signal, Systems and Computers, Pacific grove, CA, October 2006. 65. J. Yoshida. Philips Semi see payoff in platform-based design. EE Times, October 2002. 66. D. Ziegenbein, R. Ernst, K. Richter, J. Teich, and L. Thiele. Combining multiple models of computation for scheduling and allocation. In Pro- ceedings of the 6th International Workshop on Hardware/Software Codesign (CODES98), pp. 9–13, Seattle, WA, March 15–18, 1998. IEEE Computer Society, Los Alamitos, CA. Nicolescu/Model-Based Design for Embedded Systems 67842_C011 Finals Page 323 2009-10-2 11 Reconfigurable Multicore Architectures for Streaming Applications Gerard J. M. Smit, André B. J. Kokkeler, Gerard K. Rauwerda, and Jan W. M. Jacobs CONTENTS 11.1 Introduction 324 11.1.1 Streaming Applications 324 11.1.2 Multicore Architectures 325 11.1.2.1 Heterogeneous Multicore SoC 327 11.1.3 Design Criteria for Streaming Applications 327 11.1.3.1 Predictable and Composable 327 11.1.3.2 Energy Efficiency 328 11.1.3.3 Programmability 329 11.1.3.4 Dependability 330 11.2 Classification 330 11.3 Sample Architectures 333 11.3.1 M ONTIUM/ANNABELLE System-on-Chip 333 11.3.1.1 M ONTIUM ReconfigurableProcessingCore 333 11.3.1.2 Design Methodology 335 11.3.1.3 A NNABELLE HeterogeneousSystem-on-Chip 336 11.3.1.4 Average Power Consumption 338 11.3.1.5 Locality of Reference 338 11.3.1.6 Partial Dynamic Reconfiguration 339 11.3.2 Aspex Linedancer 339 11.3.2.1 ASProCore Architecture 341 11.3.2.2 Linedancer Hardware Architecture 341 11.3.2.3 Design Methodology 342 11.3.3 PACT-XPP . 343 11.3.3.1 Architecture 343 11.3.3.2 Design Methodology 344 11.3.4 Tilera 345 11.3.4.1 Design Methodology 346 11.4 Conclusion 347 References 347 323 Nicolescu/Model-Based Design for Embedded Systems 67842_C011 Finals Page 324 2009-10-2 324 Model-Based Design for Embedded Systems 11.1 Introduction This chapter addresses reconfigurable heterogenous and homogeneous multicore system-on-chip (SoC) platforms for streaming digital signal pro- cessing applications, also called streaming DSP applications. In streaming DSP applications, computations can be specified as a data flow graph with streams of data items (the edges) flowing between computation kernels (the nodes). Most signal processing applications can be naturally expressed in this modeling style [14]. Typical examples of streaming DSP applications are wireless baseband processing, multimedia processing, medical image processing, sensor processing (e.g., for remote surveillance cameras), and phased array radars. In a heterogeneous multicore architecture, a core can either be a bit-level reconfigurable unit (e.g., FPGA), a word-level reconfig- urable unit, or a general-purpose programmable unit (digital signal proces- sor (DSP) or general purpose processor (GPP)). We assume the cores of the SoC are interconnected by a reconfigurable network-on-chip (NoC). The pro- grammability of the individual cores enables the system to be targeted at multiple application domains. We take a holistic approach, which means that all aspects of system design need to be addressed simultaneously in a systematic way (e.g., [24]). We believe that this is key for an efficient overall solution, because an inter- esting optimization in a small corner of the design might lead to inefficiencies in the overall design. For example, the design of the NoC should be coordi- nated with the design of the processing cores, and the design of the process- ing cores should be coordinated with the tile specific compilers. Eventually, there should be a tight fit between the application requirements and the SoC and NoC capabilities. We first introduce streaming applications and multicore architectures in Sections 11.1.1 and 11.1.2, next we present key design criteria for streaming applications in Section 11.1.3. After that we give a multidimensional classi- fication of architectures for streaming applications in Section 11.2. For each category, one or more sample architectures are presented in Section 11.3. We end this chapter with a conclusion. 11.1.1 Streaming Applications The focus of this chapter is on multicore SoC architectures for streaming DSP applications where we can assume that the data streams are semi-static and have a periodic behaviour. This means that for a long period of time subsequent data items of a stream follow the same route through the SoC. The common characteristics of typical streaming DSP applications are as follows: Nicolescu/Model-Based Design for Embedded Systems 67842_C011 Finals Page 325 2009-10-2 Reconfigurable MultiCore Architectures 325 • They are characterized by a relatively simple local processing of a huge amount of data. The trend is that energy costs for data communication dominates energy costs of processing. • Data arrives at nodes at a rather fixed rate, which causes periodic data transfers between successive processing blocks. The resulting com- munication bandwidth is application dependent and a large variety of communication bandwidth is required. The size of the data items is application dependent (e.g., 14-bit samples for a sensor system, 64 32-bit words for HiperLAN/2 [15] OFDM symbols, or 8 × 8 × 24-bit macro blocks for a video application). Also the data rate is application dependent (e.g., 100 Msamples/sec after the A/D converter for a sen- sor system, 200k OFDM symbols per second for HiperLAN/2, and 50 frames/sec for video). • The data flows through the successive processes in a pipelined fash- ion. Processes may work in parallel on parallel processors or can be time-multiplexed on one or more processors. Therefore, streaming applications show a predictable temporal and spatial behavior. • For our application domains, typically throughput guarantees (in data items per sec) are required for communication as well as for processing. Sometimes latency requirements are also given. • The lifetime of a communication stream is semi-static, which means a stream is fixed for a relatively long time. 11.1.2 Multicore Architectures Flexible and efficient SoCs can be realized by integrating hardware blocks (called tiles or cores) of different granularities into heterogeneous recon- figurable SoCs. In this chapter the term “core” is used for processor-like hardware blocks and the term “tile” is used for ASICs, fine-grained recon- figurable blocks, and memory blocks. We assume that the interconnected building blocks can be heterogeneous (see Figure 11.1), for instance, bit- level reconfigurable tiles (e.g., embedded FPGAs), word-level reconfig- urable cores (e.g., domain-specific reconfigurable cores), general-purpose programmable cores (e.g., DSPs and GPPs), and memory blocks. From a systems point of view these architectures are heterogeneous multiproces- sor systems on a single chip. The programmability and reconfigurability of the architecture enables the system to be targeted at multiple application domains. Recently, a number of multicore architectures have been proposed for the streaming DSP application domain. Some examples will be discussed in Section 11.3. A multicore approach has a number of advantages: • It is a future-proof architecture as the processing cores do not grow in complexity with technology. Instead, as technology scales, simply the number of cores on the chip grows. . and Nicolescu /Model-Based Design for Embedded Systems 67842_C010 Finals Page 320 2009-10-2 320 Model-Based Design for Embedded Systems platform-based design. IEEE Transactions on Computer-Aided Design. next-generation design framework for platform-based design. In Design and Verification Conference (DV- CON’07), San Jose, CA, February 2007. Nicolescu /Model-Based Design for Embedded Systems. Nicolescu /Model-Based Design for Embedded Systems 67842_C010 Finals Page 316 2009-10-2 316 Model-Based Design for Embedded Systems embedded systems. We argued in favor