Extensible environment for test program generation for microprocessors
Development of test programs and analysis of the results of their execution is the basic approach to verification of microprocessors at the system level. There is a variety of methods for the automation of test generation, starting with the generation of random code and ending with directed model-based test generation. However, there is no cure-all method. In practice, combinations of various complementary techniques are used. Unfortunately, no solution for the integration of various test generation methods into a unified environment is currently available. To test a microprocessor, verification engineers are forced to use many different test generators, which results in a number of difficulties, such as (1) the necessity to ensure the compatibility of tool configurations (in each tool, a specific description of the target microprocessor is used, which leads to duplication of information); (2) the necessity to develop utilities for integration tools (different tools have different interfaces and use different data formats). This paper describes a concept of extensible environment for test program generation for microprocessors. This environment provides a unified approach for test generation; it supports widespread test generation techniques, and can be extended by new testing tools. The proposed concept was partially implemented in MicroTESK (Microprocessor T Esting and Specification Kit).
KeywordsTest Generation Test Program Test Situation Constraint Solver Modeling Library
Unable to display preview. Download preview PDF.
- 1.M.S. Abadir and S. Dasgupta, Guest editors’ introduction: Microprocessor test and verification, IEEE Design & Test Comput., 2000, vol. 17, no. 4, pp. 4–5.Google Scholar
- 2.Kamkin, A.S., Test program generation for microprocessors, in Trudy Instituta Sistemnogo Programmirovaniya Ross. Akad. Nauk, 2008, vol. 14, part 2, pp. 23–63.Google Scholar
- 7.Kamkin, A.S., Some issues of automation of test program generation for branch units of microprocessors, in Trudy Instituta Sistemnogo Programmirovaniya Ross. Akad. Nauk, 2010, vol. 18, pp. 129–150.Google Scholar
- 8.Naveh, Y., Rimon, M., Jaeger, I., Katz, Y., Vinov, M., Marcus, E., and Shurek, G., Constraint-based random stimuli generation for hardware verification, AI Magazine, 2007, vol. 28, no. 3, pp. 13–30.Google Scholar
- 9.Grun, P., Halambi, A., Khare, A., Ganesh, V., Dutt, N., and Nicolau, A., EXPRESSION: An ADL for system level design exploration, Technical Report 1998-29, Univ. of California, Irvine, 1998.Google Scholar
- 11.Dang, T.N., Roychoudhury, A., Mitra, T., and Mishra, P., Generating test programs to cover pipeline interactions, in Design Automation Conference (DAC), 2009, pp. 142–147.Google Scholar
- 12.Kamkin, A., Kornykhin, E., and Vorobyev, D., Reconfigurable model-based test program generator for microprocessors, in Software Testing, Verification, and Validation Workshops (ICSTW), 2011, pp. 47–54.Google Scholar
- 15.Cok, D.R., The SMT-LIBv2 Language and Tools: A Tutorial, GrammaTech, Inc., 2011, Version 1.1.Google Scholar
- 17.Freericks, M., The nML machine description formalism, Technical Report, Bericht 1991/15, Technische Universitaumlautt Berlin, 1991.Google Scholar
- 18.Moona, R., Processor models for retargetable tools, in Int. Workshop on Rapid Systems Prototyping (RSP), 2000, pp. 34–39.Google Scholar
- 19.MIPS64TM Architecture for Programmers, Vol. II: The MIPS64TM Instruction Set, Document Number: MD00087, Revision 2.00, June 9, 2003.Google Scholar
- 22.Kamkin, A.S. and Chupilko, M.M., Testing microprocessor floating point arithmetic modules for conformity to the IEEE 754 standard, in Trudy Instituta Sistemnogo Programmirovaniya Ross. Akad. Nauk, 2008, no. 2, pp. 7–22.Google Scholar