|
ABSTRACT
SystemC has emerged lately as a de facto, open, industry standard modeling language, enabling a wide range of modeling levels, from RTL to system level. Its increasing acceptance is driven by the increasing complexity of designs, pushing designers to higher and higher levels of abstractions. While a major goal of SystemC is to enable verification at higher level of abstraction, enabling early exploration of system-level designs, the focus so far has been on traditional dynamic validation techniques. It is fair to see that the development of formal-verification techniques for SystemC models is at its infancy. In spite of intensive recent activity in the development of formal-verification techniques for software, extending such techniques to SystemC is a formidable challenge. The difficulty stems from both the object-oriented nature of SystemC, which is fundamental to its modeling philosophy, and its sophisticated event-driven simulation semantics. In this position paper we discuss what is needed to develop formal techniques for SystemC verification, augmenting dynamic validation techniques. By formal techniques we refer here to a range of techniques, including assertion-based dynamic validation, symbolic simulation, formal test generation, explicit-state model checking, and symbolic model checking.
REFERENCES
Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.
| |
1
|
R. Armoni, D. Korchemny, A. Tiemeyer, and M. V. Y. Zbar. Deterministic dynamic monitors for linear-time assertions. In Proc. Workshop on Formal Approaches to Testing and Runtime Verification, volume 4262 of Lecture Notes in Computer Science. Springer, 2006.
|
| |
2
|
T. Ball, B. Cook, V. Levin, and S. Rajamani. SLAM and static driver verifier: Technology transfer of formal methods inside microsoft. In Proc. 4th Int'l Conf. on Integrated Formal Methods, Lecture Notes in Computer Science 2999, pages 1--20, 2004.
|
| |
3
|
M. Barnett, R. DeLine, M. Fähndrich, K. Leino, and W. Schulte. Verification of object-oriented programs with invariants. J. of Object Technology, 3(6), 2004.
|
| |
4
|
|
| |
5
|
|
| |
6
|
|
| |
7
|
Lilian Burdy , Yoonsik Cheon , David R. Cok , Michael D. Ernst , Joseph R. Kiniry , Gary T. Leavens , K. Rustan M. Leino , Erik Poll, An overview of JML tools and applications, International Journal on Software Tools for Technology Transfer (STTT), v.7 n.3, p.212-232, June 2005
[doi> 10.1007/s10009-004-0167-4]
|
| |
8
|
|
| |
9
|
|
| |
10
|
|
| |
11
|
N. Dave. Designing a reorder buffer in Bluespec. In Proc. 2nd ACM/IEEE Int'l Conf. on Formal Methods and Models for Co-Design, pages 93--102, 2004.
|
| |
12
|
|
| |
13
|
|
| |
14
|
|
| |
15
|
A. Gawanmeh, A. Habibi, and S. Tahar. Enabling SystemC verification using abstract state machines. In Proc. Languages for Formal Specification and Verification, Forum on Specification and Design Languages, 2004.
|
| |
16
|
|
| |
17
|
R. Goering. A call to action for the EDA industry. EETimes, June 2005.
|
| |
18
|
|
| |
19
|
D. Große and R. Drechsler. Formal verification of LTL formulas for SystemC designs. In Proc. Int'l Symposium on Circuits and Systems, pages 245--248, 2003.
|
| |
20
|
D. Große and R. Drechsler. Checkers for SystemC designs. In Proc. 2nd ACM/IEEE Int'l Conf. on Formal Methods and Models for Co-Design, pages 171--178, 2004.
|
| |
21
|
K. Havelund and T. Pressburger. Model checking JAVA programs using JAVA pathfinder. Int'l J. on Software Tools for Technology Transfer, 2(4):366--381, 2000.
|
| |
22
|
|
| |
23
|
C. Ip and S. Swan. A tutorial introduction on the new SystemC verification standard. Technical report, www.systemc.org, 2003. White Paper.
|
| |
24
|
|
 |
25
|
|
| |
26
|
|
| |
27
|
|
 |
28
|
James Monaco , David Holloway , Rajesh Raina, Functional verification methodology for the PowerPC 604 microprocessor, Proceedings of the 33rd annual conference on Design automation, p.319-324, June 03-07, 1996, Las Vegas, Nevada, United States
[doi> 10.1145/240518.240579]
|
| |
29
|
J. Ruf , D. Hoffmann , J. Gerlach , T. Kropf , W. Rosenstiehl , W. Mueller, The simulation semantics of systemC, Proceedings of the conference on Design, automation and test in Europe, p.64-70, March 2001, Munich, Germany
|
| |
30
|
|
| |
31
|
C. Pasareanu and W. Visser. Verification of Java programs using symbolic execution and invariant generation. In Proc. 11th Int'l SPIN SWorkshop on Model Checking Software, volume 2989 of Lecture Notes in Computer Science, pages 164--181. Springer, 2004.
|
| |
32
|
T. Ramanathan and V. Thomas. Platform 2015: Intel processor and platform evolution for the next decade. Technical report, Intel, 2005. White Paper, Platform 2015.
|
| |
33
|
A. Raynaud. Code coverage techniques - a hands-on view. EETimes, February 2003.
|
| |
34
|
L. Singh and L. Drucker. Advanced Verification Techniques: A SystemC Based Approach for Successful Tapeout. Springer, 2004.
|
| |
35
|
|
| |
36
|
S. Vijayaraghavan and M. Ramanathan. A Practical Guide for SystemVerilog Assertions. Springer, 2005.
|
CITED BY 5
|
|
|
|
|
|
|
|
|
|
|
Deian Tabakov , Moshe Y. Vardi , Gila Kamhi , Eli Singerman, A temporal language for SystemC, Proceedings of the 2008 International Conference on Formal Methods in Computer-Aided Design, p.1-9, November 17-20, 2008, Portland, Oregon
|
|
|
Elvinia Riccobene , Patrizia Scandurra , Sara Bocchio , Alberto Rosti , Luigi Lavazza , Luigi Mantellini, SystemC/C-based model-driven design for embedded systems, ACM Transactions on Embedded Computing Systems (TECS), v.8 n.4, p.1-37, July 2009
|
|