Abstract
System-on-Chip (SoC) architectures integrate now many different components, such as processors, accelerators, memory, and I/O blocks, some but not all of which may have caches. Because the validation effort with simulation-based validation techniques, as currently used in industry, grows exponentially with the complexity of the SoC, we investigate in this paper the use of formal verification techniques. More precisely, we use the CADP toolbox to develop and validate a generic formal model of an SoC compliant with the recent ACE specification proposed by ARM to implement system-level coherency.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
ARM. AMBA AXI and ACE Protocol Specification, version ARM IHI 0022E (February 2013), http://infocenter.arm.com/help/topic/com.arm.doc.ihi0022e
ARM. CoreLink CCI-400 Cache Coherent Interconnect: Technical Reference Manual, revision r1p1 (November 2012), http://infocenter.arm.com/help/topic/com.arm.doc.ddi0470g/DDI0470G_cci400_r1p1_trm.pdf
Champelovier, D., Clerc, X., Garavel, H., Guerte, Y., McKinty, C., Powazny, V., Lang, F., Serwe, W., Smeding, G.: Reference manual of the LOTOS NT to LOTOS translator (version 5.8). INRIA/VASY, 155 pages (March 2013)
Chehaibar, G.: Integrating formal verification with Murφ of distributed cache coherence protocols in FAME multiprocessor system design. In: de Frutos-Escrig, D., Núñez, M. (eds.) FORTE 2004. LNCS, vol. 3235, pp. 243–258. Springer, Heidelberg (2004)
Chen, M., Qin, X., Koo, H.-M., Mishra, P.: System-Level Validation: High-Level Modeling and Directed Test Generation Techniques. Springer (2013)
Chen, X., Yang, Y., Gopalakrishnan, G., Chou, C.-T.: Efficient methods for formally verifying safety properties of hierarchical cache coherence protocols. Formal Methods in System Design 36(1), 37–64 (2010)
Clarke, E.M., Grumberg, O., Hiraishi, H., Jha, S., Long, D.E., McMillan, K.L., Ness, L.A.: Verification of the Futurebus+ cache coherence protocol. Formal Methods in System Design 6(2), 217–232 (1995)
Dill, D.L., Drexler, A.J., Hu, A.J., Yang, C.H.: Protocol verification as a hardware design aid. In: Proc. of the Int. Conf. on Computer Design: VLSI in Computers and Processors, pp. 522–525. IEEE (October 1992)
EirÃksson, A.T., McMillan, K.L.: Using Formal Verification/Analysis Methods on the Critical Path in System Design: A Case Study. In: Wolper, P. (ed.) CAV 1995. LNCS, vol. 939, pp. 367–380. Springer, Heidelberg (1995)
Garavel, H., Lang, F., Mateescu, R., Serwe, W.: Cadp 2011: A toolbox for the construction and analysis of distributed processes. Software Tools for Technology Transfer 15(2), 89–107 (2013)
Kahlouche, H., Viho, C., Zendri, M.: An industrial experiment in automatic generation of executable test suites for a cache coherency protocol. In: Proc. of the Int. Workshop on Testing of Communicating Systems. Chapman&Hall (1998)
Kapoor, H.K., Kanakala, P., Verma, M., Das, S.: Design and formal verification of a hierarchical cache coherence protocol for NoC based multiprocessors. The Journal of Supercomputing (2013)
Kern, C., Greenstreet, M.R.: Formal Verification in Hardware Design: A Survey. ACM Trans. on Design Automation of Electronic Systems 4(2), 123–193 (1999)
Martin, M.M.K., Hill, M.D., Sorin, D.J.: Why On-Chip Cache Coherence Is Here to Stay. Communications of the ACM 55(7), 78–89 (2012)
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)
McMillan, K.L., Schwalbe: Formal Verification of the Encore Gigamax cache consistency protocol. In: Proc. of the Int. Symposium on Shared Memory Multiprocessors, pp. 242–251 (1991)
Pong, F., Dubois, M.: Verification Techniques for Cache Coherence Protocols. ACM Computing Surveys 29(1), 82–126 (1997)
Pong, F., Nowatzyk, A., Aybay, G., Dubois, M.: Verifying Distributed Directory-based Cache Coherence Protocols: S3.mp, a Case Study. In: Haridi, S., Ali, K., Magnusson, P. (eds.) Euro-Par 1995. LNCS, vol. 966, pp. 287–300. Springer, Heidelberg (1995)
Ranjan, R.: Formal Techniques for Protocol Verification: A Case Study On Verifying the ARM ACE Protocol. In: Electronic Design (January 2012)
Slobodová, A., Davis, J., Swords, S., Hunt Jr., W.: A Flexible Formal Verification Framework for Industrial Scale Verification. In: Proc. of the Int. Conf. on Formal Methods and Models for Codesign, pp. 89–97 (July 2011)
Stern, U., Dill, D.L.: Automatic Verification of the SCI Cache Coherence Protocol. In: Camurati, P.E., Eveking, H. (eds.) CHARME 1995. LNCS, vol. 987, pp. 21–34. Springer, Heidelberg (1995)
Stevens, A.: Introduction to AMBA 4 ACE. ARM whitepaper (June 2011)
Thompson, C.: Verifying Cache Coherency Protocols with Verification IP. Synopsis (October 2012)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2013 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Kriouile, A., Serwe, W. (2013). Formal Analysis of the ACE Specification for Cache Coherent Systems-on-Chip. In: Pecheur, C., Dierkes, M. (eds) Formal Methods for Industrial Critical Systems. FMICS 2013. Lecture Notes in Computer Science, vol 8187. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-41010-9_8
Download citation
DOI: https://doi.org/10.1007/978-3-642-41010-9_8
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-642-41009-3
Online ISBN: 978-3-642-41010-9
eBook Packages: Computer ScienceComputer Science (R0)