Abstract
Transaction-level modeling is used in hardware design for describing designs at a higher level compared to the register-transfer level (RTL) (e.g. Cai and Gajski in CODES+ISSS ’03: proceedings of the 1st IEEE/ACM/IFIP international conference on Hardware/software codesign and system synthesis, pp. 19–24, 2003; Chen et al. in FMCAD ’07: proceedings of the formal methods in computer aided design, pp. 53–61, 2007; Mahajan et al. in MEMOCODE ’07: proceedings of the 5th IEEE/ACM international conference on formal methods and models for codesign, pp. 123–132, 2007; Swan in DAC ’06: proceedings of the 43rd annual conference on design automation, pp. 90–92, 2006). Each transaction represents a unit of work, which is also a useful unit for design verification. In such models, there are many properties of interest which involve interactions between multiple transactions. Examples of this are ordering relationships in sequential processing and hazard checking in pipelined circuits. Writing such properties on the RTL design requires significant expertise in understanding the higher-level computation being done in a given RTL design and possible instrumentation of the RTL to express the property of interest. This is a barrier to the easy use of such properties in RTL designs.
In this paper, we consider specification of interaction properties at the transaction-level and the subsequent encoding of the property and the transaction-level model as a finite-state system for model checking. We discuss how the encoded finite-state system can be automatically generated from the specification of the property and the transaction-level model, and illustrate this through simple examples.
Similar content being viewed by others
References
Apt KR, Kozen DC (1986) Limits for automatic verification of finite-state concurrent systems. Inf Process Lett 22(6):307–309. doi:10.1016/0020-0190(86)90071-2
Ball T, Chaki S, Rajamani SK (2001) Parameterized verification of multithreaded software libraries. In: TACAS 2001: proceedings of the 7th international conference on tools and algorithms for the construction and analysis of systems. Springer, London, pp 158–173
Bultan T, Gerber R, Pugh W (1996) Symbolic model checking of infinite state programs using Presburger arithmetic. In: Proceedings of international conference on computer aided verification. Springer, Berlin, pp 400–411
Cai L, Gajski D (2003) Transaction level modeling: an overview. In: CODES + ISSS ’03: proceedings of the 1st IEEE/ACM/IFIP international conference on hardware/software codesign and system synthesis. ACM, New York, pp 19–24. doi:10.1145/944645.944651
Chen X, German SM, Gopalakrishnan G (2007) Transaction based modeling and verification of hardware protocols. In: FMCAD ’07: proceedings of the formal methods in computer aided design. IEEE Comput Soc, Washington, pp 53–61. doi:10.1109/FMCAD.2007.37
Clarke EM, Grumberg O, Browne MC (1986) Reasoning about networks with many identical finite-state processes. In: PODC ’86: proceedings of the 5th annual ACM symposium on principles of distributed computing. ACM, New York, pp 240–248. doi:10.1145/10590.10611
Clarke EM Jr., Grumberg O, Peled DA (1999) Model checking. MIT Press, Cambridge
Emerson EA, Kahlon V (2000) Reducing model checking of the many to the few. In: CADE-17: proceedings of the 17th international conference on automated deduction. Springer, London, pp 236–254
Emerson EA, Namjoshi KS (1996) Automatic verification of parameterized synchronous systems (extended abstract). In: CAV ’96: proceedings of the 8th international conference on computer aided verification. Springer, London, pp 87–98
Esparza J Decidability of model checking for infinite-state concurrent systems. Acta Inform 34:85–107
Jhala R, Majumdar R (2007) Interprocedural analysis of asynchronous programs. In: POPL ’07: proceedings of the 34th annual ACM SIGPLAN-SIGACT symposium on principles of programming languages. ACM, New York, pp 339–350. doi:10.1145/1190216.1190266
Mahajan Y, Malik S (2007) Automating hazard checking in transaction-level microarchitecture models. In: FMCAD ’07: proceedings of the formal methods in computer aided design. IEEE Comput Soc, Washington, pp 62–65. doi:10.1109/FMCAD.2007.12
Mahajan Y, Chan C, Bayazit A, Malik S, Qin W (2007) Verification driven formal architecture and microarchitecture modeling. In: MEMOCODE ’07: proceedings of the 5th IEEE/ACM international conference on formal methods and models for codesign. IEEE Comput Soc, Washington, pp 123–132. doi:10.1109/MEMCOD.2007.371235
Mcmillan KL (1999) Verification of infinite state systems by compositional model checking. In: CHARME. Springer, Berlin, pp 219–233
Schwartz-Narbonne D, Chan C, Mahajan Y, Malik S (2009) Supporting RTL flow compatibility in a microarchitecture-level design framework. In: CODES + ISSS ’09: proceedings of the 7th IEEE/ACM international conference on hardware/software codesign and system synthesis. ACM, New York, pp 343–352. doi:10.1145/1629435.1629482
Swan S (2006) SystemC transaction level models and RTL verification. In: DAC ’06: proceedings of the 43rd annual conference on design automation. ACM, New York, pp 90–92. doi:10.1145/1146909.1146937
Author information
Authors and Affiliations
Corresponding author
Rights and permissions
About this article
Cite this article
Sethi, D., Mahajan, Y. & Malik, S. Specification and encoding of transaction interaction properties. Form Methods Syst Des 39, 144–164 (2011). https://doi.org/10.1007/s10703-011-0120-6
Published:
Issue Date:
DOI: https://doi.org/10.1007/s10703-011-0120-6