Language for describing templates for test program generation for microprocessors
Автор: Tatarnikov A.D.
Журнал: Труды Института системного программирования РАН @trudy-isp-ran
Статья в выпуске: 4 т.28, 2016 года.
Бесплатный доступ
Test program generation and simulation is the most widely used approach to functional verification of microprocessors. High complexity of modern hardware designs creates a demand for automated tools that are able to generate test programs covering non-trivial situations in microprocessor functioning. The majority of such tools use test program templates that describe scenarios to be covered in an abstract way. This provides verification engineers with a flexible way to describe a wide range of test generation tasks with minimum effort. Test program templates are developed in special domain-specific languages. These languages must fulfill the following requirements: (1) be simple enough to be used by verification engineers with no sufficient programming skills; (2) be applicable to various microprocessor architectures and (3) be easy to extend with facilities for describing new types of test generation tasks. The present work discusses the test program template description language used in the reconfigurable and extensible test program generation framework MicroTESK being developed at ISP RAS. It is a flexible Ruby-based domain-specific language that allows describing a wide range of test generation tasks in terms of hardware abstractions. The tool and the language have been applied in industrial projects dedicated to verification of MIPS and ARM microprocessors.
Microprocessors, functional verification, test program generation, test templates, domain-specific languages
Короткий адрес: https://sciup.org/14916378
IDR: 14916378 | DOI: 10.15514/ISPRAS-2016-28(4)-5
Список литературы Language for describing templates for test program generation for microprocessors
- A. Adir, E. Almog, L. Fournier, E. Marcus, M. Rimon, M. Vinov, A. Ziv. Genesys-Pro: Innovations in Test Program Generation for Functional Processor Verification. Design & Test of Computers, 2004. pp. 84-93.
- Y. Naveh, M. Rimon, I. Jaeger, Y. Katz, M. Vinov, E. Marcus and G. Shurek. Constraint-Based Random Stimuli Generation for Hardware Verification. AI Magazine, Volume 28, Number 3, 2007, pp. 13-30.
- MicroTESK page. http://forge.ispras.ru/projects/microtesk
- A. Kamkin, E. Kornykhin, D. Vorobyev. Reconfigurable Model-Based Test Program Generator for Microprocessors. International Conference on Software Testing, Verification and Validation Workshops, 2011. pp. 47-54.
- A.S. Kamkin, T.I. Sergeeva, S.A. Smolov, A.D. Tatarnikov, M.M. Chupilko. Extensible Environment for Test Program Generation for Microprocessors. Programming and Computer Software, 40(1), 2014. pp. 1-9.
- Ruby site: http://www.ruby-lang.org
- E.A. Poe. Introduction to Random Test Generation for Processor Verification. Obsidian Software, 7 pp, 2002.
- RAVEN test program generator. Available at: http://www.slideshare.net/DVClub/introducing-obsidian-software-and-ravengcs-for-powerpc
- Seonghun Jeong, Youngchul Cho, Daeyong Shin, Changyeon Jo, Yenjo Han, Soojung Ryu, Jeongwook Kim, and Bernhard Egger. Random Test Program Generation for Reconfigurable Architectures. 13th International Workshop on Microprocessor Test and Verification (MTV), 2012, 6 p.
- A. Kamkin. Test Program Generation for Microprocessors. Trudy ISP RAN/Proc. ISP RAS], vol. 14, part 2, 2008, pp. 23-64.
- JRuby site: http://www.jruby.org
- Flanagan D., Matsumoto Y. The Ruby Programming Language. OReilly Media, Sebastopol, 2008.
- MIPS64TM Architecture For Programmers. Volume II: The MIPS64TM Instruction Set, Document Number: MD00087, Revision 2.00, June 9, 2003.
- ARM Architecture Reference Manual. ARM DDI 0487A.f, ARM Corporation, 2015. 5886 p.