ABSTRACT
System-level and Platform-based design, along with Transaction Level modeling (TLM) techniques and languages like SystemC, appeared as a response to the ever increasing complexity of electronics systems design, where complex SoCs composed of several modules integrated on the same chip have become very common. In this scenario, the exploration and verification of several architecture models early in the design flow has played an important role. This paper proposes a mechanism that relies on computational reflection to enable designers to interact, on the fly, with platform simulation models written in SystemC TLM. This allows them to monitor and change signals or even IP internal register values, thus injecting specific stimuli that guide the simulation flow through corner cases during platform debugging, which are usually hard to handle by standard techniques, thus improving functional coverage. The key advantages of our approach are that we do not require code instrumentation from the IP designer, do not need a specialized SystemC library, and not even need the IP source code to be able to inspect its contents. The reflection mechanism was implemented using a C++ reflection library and integrated into a platform modeling framework. We evaluate our technique through some platform case studies.
- C. Araujo, E. Barros, M. Almeida, and G. Araujo. IPZip -- An IP Distribution Framework. Proceedings of the IP-SOC 2006, pages 259--264, Dec. 2006.Google Scholar
- R. Azevedo, S. Rigo, M. Bartholomeu, G. Araujo, C. Araujo, and E. Barros. The ArchC Architecture Description Language. International Journal of Parallel Programming, 33(5):453--484, Oct. 2005. Google ScholarDigital Library
- D. C. Black, J. Donovan, B. Bunton, and A. Keist. SystemC: From the Ground Up. Kluwer, 2004. Google ScholarDigital Library
- Cadence. Website, Jan. 2007. http://www.cadence.com.Google Scholar
- Coware. Website, Jan. 2007. http://www.coware.com.Google Scholar
- D. Déharbe and S. Medeiros. Aspect-oriented design in systemC: implementation and applications. In SBCCI'06: Proceedings of the 19th annual symposium on Integrated circuits and systems design, pages 119--124, New York, NY, USA, 2006. ACM Press. Google ScholarDigital Library
- Eclipse -- an open development platform. http://www.eclipse.org, 2007.Google Scholar
- J. Ferber. Computational reflection in class based object-oriented languages. In OOPSLA'89: Conference proceedings on Object-oriented programming systems, languages and applications, pages 317--326, New York, NY, USA, 1989. ACM Press. Google ScholarDigital Library
- Frank Ghenassia, editor. Transaction-Level Modeling with SystemC. Springer, 2005. Google ScholarDigital Library
- J. Lapalme, E. M. Aboulhamid, and G. Nicolescu. A new efficient EDA tool design methodology. Trans. on Embedded Computing Sys., 5(2):408--430, 2006. Google ScholarDigital Library
- Mentor graphics. Website, Jan. 2007. http://www.mentor.com.Google Scholar
- PDesigner. http://www.pdesigner.org, 2007.Google Scholar
- S. Roiser and P. Mato. The SEAL C++ reflection system. In CHEP'04: Presented in the Computing in High Energy and Nuclear Physics congress (CHEP'04). CERN, Sept. 2004.Google Scholar
- SPIRIT Consortium. http://www.spiritconsortium.org, 2007.Google Scholar
Index Terms
- A computational reflection mechanism to support platform debugging in SystemC
Recommendations
Computational reflection and its application to platform verification
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,...
Debugging in the brave new world of reconfigurable hardware
ASPLOS '22: Proceedings of the 27th ACM International Conference on Architectural Support for Programming Languages and Operating SystemsSoftware and hardware development cycles have traditionally been quite distinct. Software allows post-deployment patches, which leads to a rapid development cycle. In contrast, hardware bugs that are found after fabrication are extremely costly to fix (...
Stepwise Debugging for Hardware Accelerators
ASPLOS 2023: Proceedings of the 28th ACM International Conference on Architectural Support for Programming Languages and Operating Systems, Volume 2High-level programming models for hardware design let domain experts quickly produce specialized accelerators. However, tools for debugging these accelerators remain tied to low-level hardware description languages (HDLs). High-level descriptions ...
Comments