Maintaining ISA Specifications in MicroTESK Test Program Generator
The specification-based approach is widely used for test program generation for functional verification of microprocessors. The size of microprocessor specifications is measured in thousands lines of code. Consequently, their maintenance requires significant effort. Typical maintenance activities include regular updates, substitution of deprecated functionality, and support for new revisions and implementation-defined features. Our team is working on MicroTESK, a tool that generates test programs for microprocessors based on specifications of the instruction set architectures. The specifications are created in a specialized language, called nML, extended with facilities to manage revision-specific and implementation-defined features. The tool has been applied to ARMv8, MIPS64, PowerPC, RISC-V, and x86 microprocessors. This paper describes our experience in maintaining specifications and the approach we use to simplify this process.