Codesign Experiences Based on a Virtual Platform

  • Brian Bailey
  • Grant Martin
Part of the Embedded Systems book series (EMSY)


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.


Encapsulation Adapter IDCT 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


  1. 1.
    Brian Bailey, Grant Martin, Andrew Piziali. ESL Design and Verification, Elsevier, 2007.Google Scholar
  2. 2.
  3. 3.
    Brian Bailey, Grant Martin, Thomas Anderson. Taxonomies for the Development and Verification of Digital Systems, Springer 2005Google Scholar
  4. 4.
    Bill Murray. “Virtual Platforms – A Reality Check”,, December 2007.
  5. 5.
    Bill Murray. “Virtual Platforms –A Reality Check, Part 2”,, January 2008.
  6. 6.
    Frank Schirrmeister, Shay Benchorin, and Filip Thoen. “Using Virtual Platforms for Pre-Silicon Software Development”, White paper, Synopsys, May 2008.Google Scholar
  7. 7.
    David Maliniak. “Virtual Platforms Technology 101”,, April 2009.
  8. 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. 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
  10. 10.
    Douglas Densmore, Roberto Passerone, Alberto Sangiovanni-Vincentelli. “A Platform-Based Taxonomy for ESL Design”, IEEE Design and Test of Computers, 23(5): 359–374, September–October 2006.CrossRefGoogle Scholar
  11. 11.
    Frank Vahid, Tony Givargis. “Embedded System Design, A Unified Hardware/Software Introduction”, John Wiley & Sons, 2001.Google Scholar
  12. 12.
    Adam Donlin. “Transaction Level Modeling: Flows and Use Models”, Proceedings of CODES+ISSS’04, Stockholm, Sweden, pp. 75–80, 2004.Google Scholar
  13. 13.
    Gilles Kahn. “The Semantics of a Simple Language for Parallel Programming,” in IFIP-74, North-Holland, pp. 471–475, 1974.Google Scholar
  14. 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. 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. 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. 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. 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. 19.
    Edward A. Lee. “Modeling Concurrent Real-Time Processes Using Discrete Events,” Annals of Software Engineering, 7(1–4): 25-45, 1999.Google Scholar
  20. 20.
  21. 21.
    Xilinx Virtex. Virtex-II Pro Platform FPGA Handbook. San Jose, CA: Xilinx, Inc., 2002.Google Scholar
  22. 22.
    Thorsten Grötker, Stan Liao, Grant Martin, Stuart Swan. System Design with SystemC, Kluwer, 2002.Google Scholar
  23. 23.
    Eclipse – an open development platform.
  24. 24.
    Sudeep Pasricha, Nikil Dutt. “On-Chip Communication Architectures”, Elsevier, 2008.Google Scholar
  25. 25.
    IBM. The CoreConnect Bus Architecture," IBM, Armonk, NY, 1999.Google Scholar
  26. 26.
    Jerome Chevalier, Maxime de Nanclas, Luc Filion, Olivier Benny, Mathieu Rondonneau, Guy Bois, El Mostapha Aboulhamid. “A SystemC refinement methodology for embedded software,” IEEE Design & Test of Computers, 23: 148–158, 2006.CrossRefGoogle Scholar
  27. 27.
    Micrium. “μC/OS-II,” Micrium Inc.,
  28. 28.
    Xilinx. “Microblaze Processor Reference Guide - Embedded Development Kit EDK 9.1i”, Xilinx, 2007.Google Scholar
  29. 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. 30.
    Free Software Foundation, Inc. “GDB: The GNU Project Debugger”, [], 2008.
  31. 31.
    John L. Hennessy, David A. Patterson. Computer Architecture: A Quantitative Approach, 3rd edition, Maurgan-Kauffman, pp. A1–A79, 2002.Google Scholar
  32. 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. 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. 34.
    Forte. “Cynthesizer User’s Guide For Cynthesizer 3.3,” Forte Design Systems, San Jose, CA, 2007.Google Scholar
  35. 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

Copyright information

© Springer Science+Business Media, LLC 2010

Authors and Affiliations

  1. 1.BeavertonUSA
  2. 2.Tensilica Inc.Santa ClaraUSA

Personalised recommendations