Services and Tools

Providing Services

Institute for System Programming of the Russian Academy of Sciences provides the following services:

  • development of cross tools;
  • development of test program generators;
  • development of testbenches;
  • and others.

Development of Cross Tools

Automated development of cross tools (compilers, debuggers, cycle-accurate simulators of CPUs and coprocessors/accelerators) for embedded systems with RISC core architecture.

This kind of services is supported by the MetaDSP Framework.

Development of Test Program Generators

Automated development of test program generators for specific microprocessor architectures and customization of generators for concrete verification goals (checking of branching, pipelinening, etc.).

Services of this type are supported by the MicroTESK Tool.

Development of Testbenches

Automated development of functional testbenches for HDL models of hardware components (arithmetical units including floating-point ones, control-intensive units, and others).

Development of reference models for co-simulation, in particular, creation of microprocessor simulators.

Such services are mostly based on the UniTESK Technology and CTESK Toolkit. Development of simulators can be automated by the MetaDSP Framework.


We also render consulting, education, and other types of services.

Developed Tools

Our group has developed and use the following toolkits:

  • MetaDSP framework;
  • MicroTESK test program generator;
  • CTESK testbench development toolkit.

MetaDSP Framework

The MetaDSP framework is intended for cross tool developmentautomation.

The framework relies on a two-level specification of the target hardware: description of the most flexible parts, like instruction set and memory model using the new ADL language called ISE and description of complex fine grained functional aspects of CPU operations using a general purpose programming language (C/C++).

MetaDSP is applicable to various embedded systems with RISC core architectures. It supports simple pipelines with fixed number of stages, multiple memory banks, instructions with fixed and variable cycle count. These facilities cover most of modern special purpose CPUs and embedded systems.

More information about the framework is available on the MetaDSP Framework page.

MicroTESK Test Program Generator

The MicroTESK tool is aimed to test program generation for microprocessors and other programmable devices.

The tool automates creation of test program generators for microprocessors by using model-based approach. It allows specifying CPU instruction set, define test coverage, and to configure a generator for concrete verification goals. Test program generation is based on instruction set models and instruction-level test coverage. All components of a generator (CPU model and test coverage) are developed in Java programming language with the help of the MicroTESK core library. The tool allows generating self-checking test programs.

The MicroTESK is applicable to a wide range of programmable devices: special- and general-purpose microprocessors, coprocessors, controllers, etc.

More information about the test program generator is available on the MicroTESK page.

CTESK Testbench Development Toolkit

CTESK toolkit is originally destined to testing of C-software, but we have adapted it for simulation-based verification of HDL models of hardware components.

CTESK implements UniTESK concepts of automated specification-driven test development. Target design (HDL model) is formally specified with the help of contract specifications in form of pre- and post-conditions of operations and micro-operations. Using such specifications one can automatically check design behavior and construct test sequence using FSM traversal techniques.

CTESK is rather universal; there are no fundamental limitations on the kind of hardware or software under test. In particular, the tool is applicable to testbench development for synchronous parallel-pipeline designs.

More information about the tool is available on the CTESK page.


Information on UniTESK services and tools is presented on