Abstract
In this paper we report about a case study on the functional verification of a System-on-Chip (SoC) with a formal system-level model. Our approach improves industrial simulation-based verification techniques in two aspects. First, we suggest to use the formal model to assess the sanity of an interface verification unit. Second, we present a two-step approach to generate clever semi-directed test cases from temporal logic properties: model-based testing tools of the CADP toolbox generate system-level abstract test cases, which are then refined with a commercial Coverage-Directed Test Generation tool into interface-level concrete test cases that can be executed at RTL level. Applied to an AMBA 4 ACE-based cache-coherent SoC, we found that our approach helps in the transition from interface-level to system-level verification, facilitates the validation of system-level properties, and enables early detection of bugs in both the SoC and the commercial test-bench.
Chapter PDF
Similar content being viewed by others
Keywords
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.
References
ARM. AMBA AXI and ACE Protocol Specification. version ARM IHI 0022E (February 2013), http://infocenter.arm.com/help/topic/com.arm.doc.ihi0022e
Benjamin, M., Geist, D., Hartman, A., Mas, G., Smeets, R.: A Study in Coverage-Driven Test Generation. In: Design Automation Conference, pp. 970–975. IEEE (1999)
Champelovier, D., Clerc, X., Garavel, H., Guerte, Y., McKinty, C., Powazny, V., Lang, F., Serwe, W., Smeding, G.: Reference manual of the LNT to LOTOS translator (version 6.1). INRIA/VASY – INRIA/CONVECS (December 2014)
Chen, M., Mishra, P.: Property learning techniques for efficient generation of directed tests. IEEE Transactions on Computers 60(6), 852–864 (2011)
Chen, M., Qin, X., Koo, H.-M., Mishra, P.: System-Level Validation: High-Level Modeling and Directed Test Generation Techniques. Springer (2013)
Crouzen, P., Lang, F.: Smart reduction. In: Giannakopoulou, D., Orejas, F. (eds.) FASE 2011. LNCS, vol. 6603, pp. 111–126. Springer, Heidelberg (2011)
Garavel, H., Lang, F.: SVL: a Scripting Language for Compositional Verification. In: Kim, M., Chin, B., Kang, S., Lee, D. (eds.) System Engineering and Automation. IFIP, vol. 69, pp. 377–392. Springer, Boston (2001)
Garavel, H., Lang, F., Mateescu, R., Serwe, W.: CADP 2011: A Toolbox for the Construction and Analysis of Distributed Processes. STTT 15(2), 89–107 (2013)
Garavel, H., Viho, C., Zendri, M.: System design of a CC-NUMA multiprocessor architecture using formal specification, model-checking, co-simulation, and test generation. STTT 3(3), 314–331 (2001)
Gargantini, A., Heitmeyer, C.: Using model checking to generate tests from requirements specifications. Software Engineering Notes 24, 146–162 (1999)
Guzey, O., Wang, L.-C.: Coverage-directed test generation through automatic constraint extraction. In: High Level Design Validation and Test Workshop, pp. 151–158. IEEE (2007)
IEEE standard for property Specification language (PSL). IEEE Std 1850-2010, pp. i–188 (2010), http://standards.ieee.org/findstds/standard/1850-2010.html
Jard, C., Jéron, T.: TGV: theory, principles and algorithms. STTT 7(4), 297–315 (2005)
Kahlouche, H., Viho, C., Zendri, M.: An industrial experiment in automatic generation of executable test suites for a cache coherency protocol. In: Petrenko, A., Yevtushenko, N. (eds.) Testing of Communicating Systems. IFIP, vol. 3, pp. 211–226. Springer, Boston (1998)
Koo, H.-M., Mishra, P., Bhadra, J., Abadir, M.: Directed micro-architectural test generation for an industrial processor: A case study. In: Microprocessor Test and Verification, pp. 33–36. IEEE (2006)
Kriouile, A., Serwe, W.: Formal Analysis of the ACE Specification for Cache Coherent Systems-on-Chip. In: Pecheur, C., Dierkes, M. (eds.) FMICS 2013. LNCS, vol. 8187, pp. 108–122. Springer, Heidelberg (2013)
Mateescu, R., Thivolle, D.: A model checking language for concurrent value-passing systems. In: Cuellar, J., Sere, K. (eds.) FM 2008. LNCS, vol. 5014, pp. 148–164. Springer, Heidelberg (2008)
Mathaikutty, D.A., Shukla, S.K., Kodakara, S.V., Lilja, D., Dingankar, A.: Design fault directed test generation for microprocessor validation. In: DATE, pp. 1–6. IEEE (2007)
Mishra, P., Chen, M.: Efficient techniques for directed test generation using incremental satisfiability. In: VLSI Design, pp. 65–70. IEEE (2009)
Greenhalgh, A.P.: Big. LITTLE Processing with ARM CortexTM -A15 & Cortex-A7 (2011)
Qin, X., Mishra, P.: Efficient directed test generation for validation of multicore architectures. In: Quality Electronic Design, pp. 276–283. IEEE (2011)
Shen, H., Wei, W., Chen, Y., Chen, B., Guo, Q.: Coverage directed test generation: Godson experience. In: Asian Test Symposium, pp. 321–326. IEEE (2008)
Stevens, A.: Introduction to AMBA 4 ACE. ARM whitepaper (June 2011)
Tretmans, J.: A formal approach to conformance testing. Twente University Press (1992)
Van Glabbeek, R.J., Weijland, W.P.: Branching time and abstraction in bisimulation semantics. Journal of the ACM 43(3), 555–600 (1996)
Yuan, J., Pixley, C., Aziz, A., Albin, K.: A framework for constrained functional verification. In: Computer Aided Design, pp. 142–145. IEEE (2003)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2015 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Kriouile, A., Serwe, W. (2015). Using a Formal Model to Improve Verification of a Cache-Coherent System-on-Chip. In: Baier, C., Tinelli, C. (eds) Tools and Algorithms for the Construction and Analysis of Systems. TACAS 2015. Lecture Notes in Computer Science(), vol 9035. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-662-46681-0_62
Download citation
DOI: https://doi.org/10.1007/978-3-662-46681-0_62
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-662-46680-3
Online ISBN: 978-3-662-46681-0
eBook Packages: Computer ScienceComputer Science (R0)