Computational reflection and its application to platform verification
详细信息    查看全文
  • 作者:Bruno Albertini (1) balbertini@ic.unicamp.br
    Sandro Rigo (1) sandro@ic.unicamp.br
    Guido Araujo (1) guido@ic.unicamp.br
  • 关键词:Platform ; based design &#8211 ; Debugging &#8211 ; Computational reflection &#8211 ; System architecture
  • 刊名:Design Automation for Embedded Systems
  • 出版年:2012
  • 出版时间:March 2012
  • 年:2012
  • 卷:16
  • 期:1
  • 页码:1-17
  • 全文大小:581.9 KB
  • 参考文献:1. Albertini B, Rigo S, Araujo G, Araujo C, Barros E, Azevedo W (2007) A computational reflection mechanism to support platform debugging in SystemC. In: CODES+ISSS ’07: proceedings of the 5th IEEE/ACM international conference on hardware/software codesign and system synthesis. ACM, New York, pp 81–86
    2. AMBA (2010) http://www.arm.com/system-ip/amaba/
    3. Arne A (2007) AReflection. Website, Jan. 2007. http://www.arneadams.com/reflection_doku/
    4. Azevedo R, Rigo S, Bartholomeu M, Araujo G, Araujo C, Barros E (2005) The ArchC architecture description language. Int J Parallel Program 33(5):453–484
    5. Beltrame G, Bolchini C, Fossati L, Miele A, Sciuto D (2008) ReSP: a non-intrusive transaction-level reflective MPSoC simulation platform for design space exploration. In: ASP-DAC ’08: proceedings of the Asia and South Pacific design automation conference. IEEE Computer Society, Los Alamitos, pp 673–678
    6. Black DC, Donovan J, Bunton B, Keist A (2004) SystemC: from the ground up. Kluwer, New York
    7. Cadence. Website, Jan. 2007. http://www.cadence.com
    8. Chiba S (2007) OpenC++. Website sourceforge, Jan. 2007. http://opencxx.sourceforge.net/
    9. Coware. Website, Jan. 2007. http://www.coware.com
    10. D茅harbe D, Medeiros S (2006) Aspect-oriented design in SystemC: implementation and applications. In: SBCCI ’06: proceedings of the 19th annual symposium on integrated circuits and systems design. ACM, New York, pp 119–124
    11. Ferber J (1989) Computational reflection in class based object-oriented languages. In: OOPSLA ’89: proceedings on object-oriented programming systems, languages and applications. ACM, New York, pp 317–326
    12. Forman I, Danforth S (1999) Putting metaclasses to work. Addison-Wesley, Boston
    13. Forman IE (2004) Java reflection in action. Manning Publications, Greenwich
    14. GCC_XML (2008) http://www.gccxml.org
    15. Gnu debugger. Available at http://www.gnu.org/s/gdb
    16. Ghenassia F (2006) Transaction-level modeling with SystemC: TLM concepts and applications for embedded systems. Springer, New York
    17. (ISO Group) dist10. Website, Oct. 2009. ftp://ftp.sunet.se/pub/multimedia/Berkeley/mpeg2/conformance-bitstreams/audio/mpeg2/software/technical_report/
    18. KaSCPar (2010) Karlsruhe SystemC parser suite. http://www.fzi.de/index.php/de/component/content/article/238-ispe-sim/4350-sim-tools-kascpar-examples
    19. Kiczales G, Irwin J, Lamping J, Loingtier J-M, Lopes CV, Maeda C, Mendhekar A (1997) Aspect-oriented programming
    20. King B (2009) GCC_XML. Website, Oct. 2009. http://www.gccxml.org/
    21. Lapalme J, Aboulhamid EM, Nicolescu G (2006) A new efficient EDA tool design methodology. ACM Trans Embed Comput Syst 5(2):408–430
    22. Lee C, Potkonjak M, Mangione-Smith WH (1997) MediaBench: a tool for evaluating and synthesizing multimedia and communicatons systems. In: MICRO 30: proceedings of the 30th annual ACM/IEEE international symposium on Microarchitecture. IEEE Computer Society, Washington, pp 330–335
    23. Lombardelli F (2007) CPPReflect. Website SourceForge, Jan. 2007. http://sourceforge.net/projects/cppreflect/
    24. Maes P (1988) Computational reflection. Knowl Eng Rev 3:1–19. doi:
    25. Marcilio G, Santos LCV, Albertini B, Rigo S (2009) A novel verification technique to uncover out-of-order DUV behaviors. In: DAC ’09: proceedings of the 46th annual design automation conference. ACM, New York, pp 448–453
    26. Mathaikutty DA, Shukla SK (2008) Mining Metadata for Composability of IPs from SystemC IP Library. Des Autom Embed Syst 12:63–94.
    27. Mentor Graphics. Website, Jan. 2007. http://www.mentor.com
    28. Metzger M, Anane A, Rousseau F, Vachon J, Aboulhamid E (2009) Introspection mechanisms for runtime verification in a system-level design environment. Microelectron J 40(7):1124–1134 Mixed-technology testing; Rapid system prototyping
    29. Misera S, Vierhaus HT, Sieber A (2008) Simulated fault injections and their acceleration in SystemC. Microprocess Microsyst 32(5–6):270–278
    30. C++/Python Interfacing: pyplusplus. http://www.language-binding.net
    31. Rogin F, Genz C, Drechsler R, Rilke S (2008) Embedded systems specification and design languages, vol 10. Springer, Amsterdam, pp 59–71.
    32. Roiser S, Mato P (2004) The SEAL C++ reflection system. In: CHEP ’04: presented in the computing in high energy and nuclear physics congress (CHEP’04), Interlaken, Switzerland, Sept. 2004. CERN
    33. SPIRIT consortium (2007). http://www.spiritconsortium.org
  • 作者单位:1. Institute of Computing, Unicamp, PO Box 6176, Av. Albert Einstein, 1251, CEP 13083-970 Campinas, SP, Brazil
  • 刊物类别:Engineering
  • 刊物主题:Circuits and Systems
    Computer-Aided Engineering and Design
    Electronic and Computer Engineering
    Special Purpose and Application-Based Systems
  • 出版者:Springer Netherlands
  • ISSN:1572-8080
文摘
The complexity of modern hardware design has created the need for higher levels of abstraction, where system modeling is used to integrate modules into complex System-on-Chip (SoCs) platforms. SystemC, and its TLM (Transaction Level Modeling) extensions, have been used for this purpose mainly because of their fast prototyping and simulation features, which allow for early design space exploration. This paper proposes an approach to explore and interact with SystemC models by means of an introspection technique known as Computational Reflection. We use reflection to implement a white-box introspection mechanism called ReflexBox. We show that ReflexBox is a fast, non-intrusive technique that can be used to dynamically gather and inject stimuli into any SystemC module, without the need to use a proprietary SystemC implementation, change the SystemC library, instrument or even inspect the module source code. Our approach can be used to support many different verification tasks like platform debugging, performance evaluation and communication analysis. To show ReflexBox effectiveness we used it in three platforms case studies to address tasks like register inspection, performance analysis and signal replaying for testbench reuse. In all cases we assumed no source code availability and measured the impact on the overall platform performance.

© 2004-2018 中国地质图书馆版权所有 京ICP备05064691号 京公网安备11010802017129号

地址:北京市海淀区学院路29号 邮编:100083

电话:办公室:(+86 10)66554848;文献借阅、咨询服务、科技查新:66554700