Abstract
System level modeling with executable languages such as C/C++ has been crucial in the development of large electronic systems from general processors to application specific designs. To make sure that the executable models behave as they should, the designers often have to “eye-ball” the simulation traces and at best, apply simple “assert” statements or write simple trace checkers in some scripting languages. The problem is the lack of a concise and formal method to specify and check desired properties, whether they be functional or performance in nature. In this paper, we apply assertion checking methodology to the system design of network processors. Functional and performance assertions, based on Linear Temporal Logic and Logic of Constraints, are written during the design process. Trace checkers and simulation monitors are automatically generated to validate particular simulation runs or to analyze their performance characteristics. Several categories of assertions are checked throughout the design process, such as equivalence, functionality, transaction, and performance. We demonstrate that the assertion-based methodology is very useful for both system level verification and design exploration.
Similar content being viewed by others
References
Abarbanel, Yael, Ilan Beer, Leonid Gluhovsky, Sharon Keidar, and Yaron Wolfsthal. FoCs - Automatic Generation of Simulation Checkers from Formal Specifications. Technical Report, IBM Haifa Research Laboratory, Israel, 2003.
Balarin, F., Y. Watanabe, J. Burch, L. Lavagno, R. Passerone, and A. Sangiovanni-Vincentelli. Constraints Specification at Higher Levels of Abstraction. In Proceedings of International Workshop on High Level Design Validation and Test, November 2001.
Chen, X., H. Hsieh, F. Balarin, and Y. Watanabe. Automatic Trace Analysis for Logic of Constraints. In Proceedings of the 40th Design Automation Conference, June 2003.
Chen, X., H. Hsieh, F. Balarin, and Y. Watanabe. Verifying LOC Based Functional and Performance Constraints. In Proceedings of International Workshop on High Level Design Validation and Test, November 2003.
Eisner, C. and Fisman D. Sugar 2.0 Proposal Presented to the Accellera Formal Verification Technical Committee, March 2002.
Gordon, M.J.C. and T.F. Melham (eds.). Introduction to HOL: A Theorem Proving Environment for Higher Order Logic. Cambridge University Press, 1992.
Gerard, J. Holzmann. The Model Checker SPIN. IEEE Trans. on Software Engineering, vol. 23 no. 5, pp. 279–258, 1997.
Hsu, Y.-C., B. Tabbara, Y.-A. Chen, and F. Tsai. Advanced Techniques for RTL Debugging. In Proceedings of the 40th Design Automation Conference, June 2003.
http://www.cadence.com/datasheets/affirma_nc_sim.html, 2003.
Intel® IXP1200 Network Processor Family: Hardware Reference Manual, December 2001.
OpenVera Assertions White Paper. Synopsys, Inc, 2002.
Pnueli, A. The Temporal Logic of Programs. In Proceedings of the 18th IEEE Symposium on Foundation of Computer Science, 1977, pp. 46–57.
Sanchez, M., E. Biersack, and W. Dabbous. Survey and Taxonomy of IP Address Lookup Algorithms. IEEE Network Magazine, vol. 15, no. 2, pp. 8–23, 2001.
Author information
Authors and Affiliations
Corresponding author
Rights and permissions
About this article
Cite this article
Chen, X., Luo, Y., Hsieh, H. et al. Assertion Based Verification and Analysis of Network Processor Architectures. Des Autom Embed Syst 9, 163–176 (2004). https://doi.org/10.1007/s10617-005-1193-5
Published:
Issue Date:
DOI: https://doi.org/10.1007/s10617-005-1193-5