Codesign Experiences Based on a Virtual Platform
One of the key elements of an electronic system level (ESL) methodology is the concept of platform-based design. Platform-based design (PBD) allows extensive reuse of components, which reduces the time-to-market for the first release of a product, maintenance, and subsequent releases. When the platform is modeled at a high level of abstraction, we often call the model a “virtual platform” (see Chapters 5 and 8). By recreating – in a simulation model – the full architectural environment of a system as well as the algorithms that it implements, virtual platform-based design enables quick design space exploration through experimentation with different design possibilities, without having to first invest time and effort in the design of a physical prototype. The final, optimal, solution might be one that was not usually explored using past methods.
KeywordsEncapsulation Adapter IDCT
- 1.Brian Bailey, Grant Martin, Andrew Piziali. ESL Design and Verification, Elsevier, 2007.Google Scholar
- 3.Brian Bailey, Grant Martin, Thomas Anderson. Taxonomies for the Development and Verification of Digital Systems, Springer 2005Google Scholar
- 4.Bill Murray. “Virtual Platforms – A Reality Check”, http://www.scdsource.com, December 2007.
- 5.Bill Murray. “Virtual Platforms –A Reality Check, Part 2”, http://www.scdsource.com, January 2008.
- 6.Frank Schirrmeister, Shay Benchorin, and Filip Thoen. “Using Virtual Platforms for Pre-Silicon Software Development”, White paper, Synopsys, May 2008.Google Scholar
- 7.David Maliniak. “Virtual Platforms Technology 101”, http://electronicdesign.com/Articles/ArticleID/21129/21129.html, April 2009.
- 8.Lukai Cai, Daniel Gajski. “Transaction Level Modeling: An Overview,” in First IEEE/ACM/IFIP International Conference on Hardware/ Software Codesign and Systems Synthesis, Newport Beach, CA, 2003, pp. 19–24.Google Scholar
- 9.Felice Balarin, Yosinori Watanabe, Harry Hsieh, Luciano Lavagno, Claudio Passerone, Alberto Sangiovanni-Vincentelli. “Metropolis: An Integrated Electronic System Design Environment”, IEEE Computer, 36(4): 45–52, 2003.Google Scholar
- 11.Frank Vahid, Tony Givargis. “Embedded System Design, A Unified Hardware/Software Introduction”, John Wiley & Sons, 2001.Google Scholar
- 12.Adam Donlin. “Transaction Level Modeling: Flows and Use Models”, Proceedings of CODES+ISSS’04, Stockholm, Sweden, pp. 75–80, 2004.Google Scholar
- 13.Gilles Kahn. “The Semantics of a Simple Language for Parallel Programming,” in IFIP-74, North-Holland, pp. 471–475, 1974.Google Scholar
- 14.Prakash Panangaden, Eugene W. Stark. “Computations, Residuals, and the Power of Indeterminacy,” in Proceedings of the 15th International Colloquium on Automata, Languages and Programming. Lecture Notes in Computer Science. Vol. 317, T. Lepistö and A. Salomaa (Editors). Springer-Verlag, pp. 439–454, 1988.Google Scholar
- 15.Erwin A. de Kock, Wim J. M. Smits, Pieter van der Wolf, Jean-Yves Brunel, Wido M. Kruijtzer, Paul Lieverse, Kees A. Vissers, Gerben Essink. “YAPI: Application Modeling for Signal Processing Systems,” in 37th conference on Design automation, Los Angeles, California, pp. 402-05, 2000.Google Scholar
- 16.Pieter van der Wolf, Erwin de Kock, Tomas Henriksson, Wido Kruijtzer, Gerben Essink. “Design and programming of embedded multiprocessors: an interface-centric approach,” in International Conference on Hardware/Software Codesign and Systems Synthesis, Stockholm, Sweden, 2004, pp. 206–217.Google Scholar
- 17.Kai Huang, David Grunert, Lothar Thiele. “Windowed FIFOs for FPGA-based Multiprocessor Systems,” in IEEE 18th International Conference on Application-specific Systems, Architectures and Processors, Montreal, Canada, pp. 36–42, 2007.Google Scholar
- 18.Robert Kim Yates. “Networks of Real-Time Processes,” in Proceedings of the 4th International Conference on Concurrency Theory, Hildesheim, Germany, pp. 384-97, 1993.Google Scholar
- 19.Edward A. Lee. “Modeling Concurrent Real-Time Processes Using Discrete Events,” Annals of Software Engineering, 7(1–4): 25-45, 1999.Google Scholar
- 21.Xilinx Virtex. Virtex-II Pro Platform FPGA Handbook. San Jose, CA: Xilinx, Inc., 2002.Google Scholar
- 22.Thorsten Grötker, Stan Liao, Grant Martin, Stuart Swan. System Design with SystemC, Kluwer, 2002.Google Scholar
- 23.Eclipse – an open development platform. http://www.eclipse.org/
- 24.Sudeep Pasricha, Nikil Dutt. “On-Chip Communication Architectures”, Elsevier, 2008.Google Scholar
- 25.IBM. The CoreConnect Bus Architecture," IBM, Armonk, NY, 1999.Google Scholar
- 27.Micrium. “μC/OS-II,” Micrium Inc., http://www.micrium.com
- 28.Xilinx. “Microblaze Processor Reference Guide - Embedded Development Kit EDK 9.1i”, Xilinx, 2007.Google Scholar
- 29.Sébastien Fontaine, Luc Filion, Guy Bois. “Exploring ISS Abstractions for Embedded Software Design,” dsd, pp. 651–655, 2008 11th EUROMICRO Conference on Digital System Design Architectures, Methods and Tools, 2008Google Scholar
- 30.Free Software Foundation, Inc. “GDB: The GNU Project Debugger”, [http://sourceware.org/gdb/], 2008.
- 31.John L. Hennessy, David A. Patterson. Computer Architecture: A Quantitative Approach, 3rd edition, Maurgan-Kauffman, pp. A1–A79, 2002.Google Scholar
- 32.Laurent Moss, Maxime De Nanclas, Luc Filion, Sébastien Fontaine, Guy Bois, Mostapha Aboulhamid. “Seamless Hardware/Software Performance Co-Monitoring in a Codesign Simulation Environment with RTOS Support,” in Design Automation and Test in Europe Conference, Nice, France, pp. 876-81, 2007.Google Scholar
- 33.Martin Holzer, Markus Rupp. “Static Code Analysis of Functional Descriptions in SystemC,” Third IEEE International Workshop on Electronic Design, Test and Applications, pp. 243-248, 2006.Google Scholar
- 34.Forte. “Cynthesizer User’s Guide For Cynthesizer 3.3,” Forte Design Systems, San Jose, CA, 2007.Google Scholar
- 35.Tero Rissa, Adam Donlin, Wayne Luk. “Evaluation of SystemC Modelling of Reconfigurable Embedded Systems,” Design, Automation and Test in Europe, 2005. Proceedings, pp. 253–258 Vol. 3, 7–11, March 2005.Google Scholar