ABSTRACT
Due to the increasing complexity of System-on-Chip (SoC) design, how to ensure that silicon implementations conform to their high-level specifications is becoming a major challenge. To address this problem, we propose a novel specification-driven conformance checking approach that can automatically identify inconsistencies between different levels of designs. By extending SystemRDL specifications, our approach enables the generation of high-level Formal Device Models (FDMs) that specify access behaviors of interface registers triggered by driver requests. Based on the symbolic execution of the generated FDMs with the same driver requests to virtual/silicon devices, our approach can efficiently check whether the designs of an SoC at different levels exhibit unexpected behaviors that are not modeled in the given specification. Experiments on two industrial network adapters demonstrate the effectiveness of our approach in troubleshooting bugs caused by inconsistencies in both virtual and post-silicon prototypes.
- M. J. Renzelmann, A. Kadav, and M. M. Swift. SymDrive: Testing drivers without devices. In Proc. of OSDI, 279--292, 2012. Google Scholar
Digital Library
- S. Nelson and P. Waskiewicz. Virualization: Writing (and testing) device drivers without hardware. In Proc. of Linux Plumbers Conference, 2011.Google Scholar
- M. M. Swift, M. Annamalai, B. N. Bershad, and H. M. Levy. Recovering device drivers. In Proc. of OSDI, 1--16, 2004. Google Scholar
Digital Library
- P. Mishra, R. Morad, A. Ziv, and S. Ray. Post-silicon validation in the SoC era: A tutorial introduction. IET Computers & Digital Techniques, vol. 34, no. 3, pp. 68--92, 2017.Google Scholar
- SystemRDL 1.0 Standard. http://www.accellera.org/downloads/standards/systemrdl.Google Scholar
- F. Bellard. QEMU, a fast and portable dynamic translator. In Proc. of ATC, 41--46, 2005. Google Scholar
Digital Library
- L. Lei, F. Xie, and K. Cong. Post-silicon conformance checking with virtual prototypes. In Proc. of DAC, 29:1--29:6, 2013. Google Scholar
Digital Library
- N. Bombieri, F. Fummi, G. Pravadelli, and J. Marques-Silva. Towards equivalence checking between TLM and RTL models. In Proc. of MEMOCODE, 113--122, 2007. Google Scholar
Digital Library
- M. Chen and P. Mishra. Assertion-based functional consistency checking between TLM and RTL models. In Proc. of VLSI Design, 320--325, 2013. Google Scholar
Digital Library
- P. Herber, M. Pockrandt, and S. Glesner. Automated conformance evaluation of SystemC designs using timed automata. In Proc. of ETS, 188--193, 2010.Google Scholar
Cross Ref
- P. Godefroid, M. Y. Levin, and D. A. Molnar. SAGE: whitebox fuzzing for security testing. Communications of the ACM, 55(3):40-44, 2012. Google Scholar
Digital Library
- V. Chipounov, V. Kuznetsov, and G. Candea. S2E: a platform for in-vivo multi-path analysis of software systems. In Proc. of ASPLOS, 265--278, 2011. Google Scholar
Digital Library
- C. Cadar, D. Dunbar, and D. R. Engler. KLEE: Unassisted and automatic generation of high-coverage tests for complex systems programs. In Proc. of OSDI, 209--224, 2008. Google Scholar
Digital Library
- K. Sen, D. Marinov, and G. Agha. CUTE: a concolic unit testing engine for C. In Proc. of ES-EC/FSE, 263--272, 2005. Google Scholar
Digital Library
- X. Qin and P. Mishra. Scalable test generation by interleaving concrete and symbolic execution. In Proc. of VLSI Design, 104--109, 2014. Google Scholar
Digital Library




Comments