Browse > Article

Synthesizable Interface Verification for Hardware/Software Co-verification  

Lee, Jae-Ho (삼성전자 DMC연구소 SE Lab)
Han, Tai-Sook (KAIST 전산학과)
Yun, Jeong-Han (KAIST 전산학과)
Abstract
The complexity of embedded systems and the effort to develop them has been rising in proportion with their importance. Also, the heterogeneity of the hardware and software parts in embedded systems makes it more challenging to develop. Errors caused by hardware/software interfaces, especially, account for up to 13 percent of failures with an increasing trend. Therefore, verifying the interface between hardware and software in embedded system is one of the most important research areas. However, current approaches such as co-simulation method and model checking have explicit limitations. In this paper, we propose the synthesizable interface co-verification framework for hardware/software co-design. Firstly, we introduce the separate interface specifications for the heterogeneous components to describe hardware design and software design. Our specifications are expressive enough to describe both. We also provide the transformation rules from the software specification to the hardware specification so that the whole system can be described from the software view. Secondly, we address the solution of verifying the interface of the software and hardware design by adopting and extending existing verification-techniques and extending them. In hardware interface verification, we exploit the model checking technique and provide more efficient verification by closing the hardware design from the assumption of the software behavior which is ensured by software verification step. Lastly, we generate the interface codes such as device APIs, device driver, and device controller from the specification so that verified hardware and software codes can be synthesized without extra efforts.
Keywords
Hardware/Software Co-verification; Interface verification; Interface generation;
Citations & Related Records
연도 인용수 순위
  • Reference
1 A.A. Jerraya and W.Wolf, "Hardware/software interface codesign for embedded systems," IEEE Computer, pp.63-69. Feb. 2005.
2 Daniel GroBe, Ulrich K¨uhne, and Rolf Drechsler, "HW/SW co-verification of embedded systems using bounded model checking," GLSVLSI '06: Proceedings of the 16th ACM Great Lakes symposium on VLSI, pp.43-48, 2006.
3 J. Buck, S. Ha, E. Lee, and D. Messerschmitt, "Ptolemy: A Framework for Simulating and Prototyping Heterogeneous Systems," International Journal in Computer Simulation, vol.4, no.2, pp.155-182. 1994.
4 E.A. Lee, "What's ahead for embedded software?" IEEE Computer, vol.33, Issue.9, pp.18-26, Sep. 2000.
5 Lego Mindstorm, http://mindstorms.lego.com/
6 O. Tkachuk, M. Dwyer, C. Pasareanu, "Automated environment generation for software model checking," In Proceedings of the 18th IEEE International Conference on Automated Software Engineering, pp.116-127, 2003.
7 A. Bouali, "Xeve: an Esterel verification environment," Technical report, INRIA, Dec. 2000.
8 VICODE(Verification Integrated Codesign Environment), http://plus.kaist.ac.kr/~vicode, 2008.
9 Eclipse, http://www.eclipse.org/
10 Hanback Electronics, http://www.hanback.co.kr/
11 L. de Alfaro and T.A. Henzinger, "Interface theories for component-based design, In Proc. Embedded Software, Lecture Notes in Computer Science 2211, pp.148-165. Springer-Verlag, 2001.
12 Hyun-Goo Kang, Youil Kim, Taisook Han, and Hwansoo Han, "A Path Sensitive Type System for Resource Usage Verification of C like Languages," In the 3rd Asian Symposium on Programming Languages and Systems, November 2005.
13 L. de Alfaro and T.A. Henzinger, "Interface-based design," In Engineering Theories of Softwareintensive Systems (M. Broy, J. Gruenbauer, D. Harel, and C.A.R Hoare, eds.), NATO Science Series: Mathematics, Physics, and Chemistry, vol.195, Springer, pp.83-104, 2005.
14 K.L. McMillan. Symbolic Model Checking. Kluwer Academic Publisher, 1993.
15 G. Berry, M. Kishinevsky and S. Singh, "System Level Design and Verification Using a Synchronous Language," Proceedings of the 2003 IEEE/ ACM International Conference on Computer-Aided Design, p.433, November 09-13, 2003.
16 Z. Manna and A. Pnueli, The Temporal Logic of Reactive and Concurrent Systems: Specification, Springer-Verlag, 1996.
17 F. Balarin, M. Chiodo, P. Giusto, H. Hsieh, A, Jurecska, L. Lavagno, C. Passerone, A. Sangiovanni- Vincentelli, E. Sentovich, K. Suzuki, and B. Tabbara, Hardware-Software Co-Design of Embedded Systems: The Polis Approach. Kluwer Academic Press. 1997.
18 L. Benini, D. Bertozzi, D. Bruni, N. Drago, F. Fummi, and M. Poncino, "SystemC Cosimulation and Emulation of Multi-Processor SoC Designs," IEEE Computer, vol.36, no.4, pp.53-59 2003.   DOI   ScienceOn
19 Synopsys Inc., Eaglei, http://www.synopsys.com/products.
20 Mentor Graphics Inc., Seamless CVE. http://www.mentor.com/seamless.
21 L. Formaggio, F. Fummi, and G. Pravadelli, "A Timing-Accurate HW/SW Co-simulation of an ISS with SystemC," Proceedings of IEEE International Conference on Hardware/Software Codesign and System Synthesis, pp.152-157. 2004.
22 Kudlugi, M. Hassoun, S. Selvidge, C. Pryor, D., "A transaction-based unified simulation/emulation architecture for functional verification," In Proceedings of Design Automation Conference, 2001.
23 J. Hatcliff and M. Dwyer, "Using the Bandera Tool Set to Model-check Properties of Concurrent Java Software," Proceedings of CONCUR 2001 (LNCS 2154), 2001.
24 J. Corbett, M. Dwyer, J. Hatcliff, C. Pasareanu, Robby, S. Laubach, H. Zheng, "Bandera : Extracting Finite-state Models from Java Source Code," Proceedings of the 22th ICSE, 2000.
25 T. Ball, S. K. Rajamani, "The SLAM Project: Debugging System Software via Static Analysis," Proceedings of Principles of Programming Languages, 2002.