Abstract
This paper presents a formal model and a systematic approach to the validation of communication architectures at a high level of abstraction. This model is described mathematically by a function, named GeNoC. The correctness of GeNoC is expressed as a theorem, which states that messages emitted on the architecture reach their expected destination without any modification of their content. The model identifies the key constituents common to all on chip communication architectures, and their essential properties from which the correctness theorem is deduced. Each constituent is represented by a function that has no explicit definition but is constrained to satisfy the essential properties. Thus, the validation of a particular architecture is reduced to the proof that its concrete definition satisfies the essential properties. In practice, the model has been defined in the logic of the ACL2 theorem proving system. We illustrate our approach on several architectures that constitute concrete instances of the generic GeNoC model. Some of these applications come from industrial designs, such as the AMBA AHB bus or the Octagon network from ST Microelectronics.
Similar content being viewed by others
References
Amjad H (2004) Model checking the AMBA Protocol in HOL. Technical report, University of Cambridge, Computer Laboratory, September, UK
Büttner W (2005) Is formal verification bound to remain a junior partner of simulation?. In: Borrione D, Paul W (eds) Correct hardware design and verification methods (CHARME’05), Volume 3725 of LNCS Invited Speaker. Springer, Saarbrücken
Borrione D, Helmy A, Pierre L, Schmaltz J (2007) A generic model for formally verifying NoC communication architectures: a case study. In: Proceedings of first international symposium on networks-on-chip (NOCS’07), IEEE, Princeton, 7–9 May, pp 127–136
Boyer RS, Strother MJ (1988) A computation logic handbook. Academic, New York
Dally WJ, Towles B (2004) Principles and practices of interconnection networks. Morgan-Kaufmann, San Fransisco
Goossens K, Dielissen J, Rădulescu A (2005) Æthereal network on chip: concepts, architectures, and implementations. IEEE Des Test Comput 22(5):414–421
Gordon MJC (1987) HOL: a proof generating system for higher-order logic. In: Birthwislte G, Subrahmanyam PA (eds) VLSI specification, verification and synthesis. Kluwer, Boston, pp 73–128
Gebremichael B, Vaandrager F, Zhang M, Goossens K, Rijpkema E, Rădulescu A (2005) Deadlock Prevention in the Æthereal protocol. In: Borrione D, Paul WJ (eds) Correct hardware design and verification methods (CHARME’05), Volume 3725 of LNCS. Springer, Heidelberg, pp 345–348
Herzberg D, Broy M (2005) Modeling layered distributed communication systems. Form Asp Comput 17(1):1–18
Kaufmann M, Manolios P, Strother Moore J (2000) ACL2 computer aided reasoning: an approach. Klulwer, Dordrecht
Karim K, Nguyen A, Dey S (2002) An interconnect architecture for networking systems on chip. IEEE Micro, September–October, pp 36–45
McMillan KL (1993) Symbolic model checking. Kluwer, Dordrecht
Miner PS, Geser A, Pike L, Maddalon J (2004) A unified fault-tolerance protocol. In: Lakhnech Y, Yovine S (eds) Formal techniques, modeling and analysis of timed and fault-tolerant systems (FORMATS-FTRTFT), Volume 3253 of LNCS. Springer, Heidelberg, pp 167–182
Strother Moore J (1994) A formal model of asynchronous communications and its use in mechanically verifying a biphase Mark Protocol. Form Asp Comput 6(1):60–91
Owre S, Rushby JM, Shankar N (1992) PVS: a prototype verification system. In: Kapur D (ed) Eleventh international conference on automated deduction (CADE’92), Saragota, Volume 607 of LNAI. Springer, Heidelberg, pp 748–752
Hunt WA, Krug R, Strother Moore J (2003) Linear and nonlinear arithemetic in ACL2. In: Geist D, Tronci E (eds) Correct hardware design and verification methods (CHARME’03), Volume 2860 of LNCS. Springer, L’Aquila, pp 51–65
Roychoudhury A, Mitra T, Karri SR (2003) Using formal techniques to debug the AMBA system-on-chip Bus Protocol. In: Design automation and test Europe (DATE’03), pp 828–833
Rowson JA, Sangiovanni-Vincentelli A (1987) Interface-based design. In: 34th design automation conference (DAC’96), pp 178–183
Schmaltz J, Borrione D (2003) Verification of a parameterized bus architecture using ACL2. In: Proceedings of the fourth international workshop on the ACL2 theorem prover and its applications
Schmaltz J, Borrione D (2004) A functional approach to the formal specification of networks on chip. In: Hu AJ, Martin AK (eds) Formal methods in computer-aided design (FMCAD’04), Volume 3312 of LNCS. Springer, Austin, pp 52–66
Schmaltz J, Borrione D (2005) A generic network on Chip Model. In: Melham T, Hurd J (eds) Theorem proving in higher order logics (TPHOLs’05), Volume 3603 of LNCS. Springer, Oxford, pp 310–325
Schmaltz J, Borrione D (2006) Towards a formal theory of on chip communications in the ACL2 Logic. In: Proceedings of the sixth international workshop on the ACL2 theorem prover and its applications, part of FloC’06. ACM, Seattle, pp 47–60
Schmaltz J (2006) Une formalisation fonctionnelle des communications sur la puce. PhD thesis, Joseph Fourier University, Grenoble, France (in French). A partial translation is available upon request to the first author
Schmaltz J (2007) A formal model of clock domain crossing and automated verification of time-triggered hardware. In: Baumgartner J, Sheeran M (eds) Formal methods in computer-aided design (FMCAD’07). IEEE/ACM, Austin (to appear)
Spirakis G (2004) Beyond verification: formal methods in design. In: Hu A, Martin AK (eds) Formal methods in computer-aided design (FMCAD’04), Volume 3312 of LNCS. Springer, Austin, USA Invited Speaker
Author information
Authors and Affiliations
Corresponding author
Additional information
C. Delgado Kloos
Rights and permissions
About this article
Cite this article
Schmaltz, J., Borrione, D. A functional formalization of on chip communications. Form Asp Comp 20, 241–258 (2008). https://doi.org/10.1007/s00165-007-0049-0
Received:
Revised:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s00165-007-0049-0