MicroTESK is a reconfigurable (retargetable and extendable) model-based test program generator (TPG) for microprocessors and other programmable devices (such kind of tools are also called instruction stream generators or ISG). The generator is customized with the help of instruction-set architecture (ISA) specifications and configuration files, which describe parameters of the microprocessor subsystems (pipeline, memory and others). The suggested approach eases the model development and makes it possible to apply the model-based testing in the early design stages when the microprocessor architecture is frequently modified.
The current version of the tool supports ISA specification (in nML) and manual development of test program templates (in Ruby). It also implements lightweight methods for automated test program generation, including random-based and combinatorial techniques. Facilities for describing memory management units and microprocessor pipelines (microarchitectural networks) are under development, and so are the methods for advanced test program generation. The framework is applicable to a wide range of microprocessor architectures including RISC (ARM, PowerPC, MIPS, SPARC, etc.), CISC (x86, etc.), VLIW/EPIC (Elbrus, Itanium, etc.), DSP, GPU, etc.
|Office||25 Alexander Solzhenitsyn st., rooms 210 and 211, Moscow, 109004, Russia|
Licensing and Distribution¶
The MicroTESK package (consisting of MicroTESK core and sample ISA models) is distributed under the Apache License, Version 2.0, which implies the freedom to use the software for any purpose (to distribute it, to modify it and to distribute modified versions of the software) under the terms of the license, but requires preservation of the copyright notice and disclaimer.
The package can be downloaded from the Files page.
If you are looking for an industrial-level TPG/ISG for a particular architecture, please contact us – we have a number of predefined ISA models as well as test engines for microprocessor verification. We also provide commercial services on developing MicroTESK-based specifications and generators.
Available ISA Models¶
|ARMv8||AArch64||Closed||~500 instructions (in progress)|
|MIPS64||Release 6||Open||~250 instructions (in progress)|
|PowerPC||PowerISA v.2.06||New||~0 instructions (in progress)|
|RISC-V||TBD||New||~0 instructions (in progress)|
|TestBase||Apache License, 2.0||Storing and retrieving test situations|
|Fortress||Apache License, 2.0||Representing expressions and solving constraints|
|Java SoftFloat||Apache License, 2.0||Performing floating-point operations|
|ANTLR3||BSD License||Parsing ISA specifications|
|Commons CLI||Apache License, 2.0||Parsing command line options|
|JRuby||Ruby License||Processing test templates|
|JUnit||Eclipse Public License, 1.0||Testing project classes|
Manager: Alexander Kamkin, Andrei Tatarnikov
Developer: Alexander Protsenko, Alexander Dyumaev, Alexander Kamkin, Alexander Sortov, Alexander Ulyanov, Alexey Demakov, Andrei Tatarnikov, Artem Kotsynyak, Eugene Kornykhin, Mikhail Chupilko, Sergey Smolov
Project Creator: Alexander Kamkin
MicroTESK 2.4.16 released
MicroTESK 2.4.16 has been released.
MicroTESK 2.4.15 released
MicroTESK 2.4.15 has been released.
MicroTESK 2.4.14 released
MicroTESK 2.4.14 has been released.
MicroTESK 2.4.13 released
MicroTESK 2.4.13 has been released.
MicroTESK 2.4.12 released
MicroTESK 2.4.12 has been released.