The new release contains the following changes:
- Simple mechanism for detecting loops in test templates was implemented. If the number of branch executions exceeds the specified limit, test generation is halted.
- New attribute 'init' was supported for 'mode' and 'op' nML primitives. It specifies initialization actions to be performed each time before code of other standard attributes like 'syntax' and 'image' is executed.
- The repetition operator was implemented in nML. Syntax is the following:
{N}X
- concatenates the specified location X with itself N times.
- Branches of logic in nML specifications which raise exceptions are automatically marked as named test situations.
- Syntax of the 'reg', 'mem' and 'var' nML constructs was extended to support array-based aliases.
- Functionality of 'format' and 'trace' nML functions was improved. Now they support conditional string-based expressions as arguments.
- Default values for some command-line options are now stored in a configuration file.
- Several bug fixes and general improvements were made.
The MicroTESK distribution package can be downloaded from here: http://forge.ispras.ru/projects/microtesk/files
The new release contains the following changes:
- Support for the CVC4 constraint solver was implemented (*)
- Several bug fixes and general code improvements were made
The MicroTESK distribution package can be downloaded from here: http://forge.ispras.ru/projects/microtesk/files
(*) Please see the Installing Constraint Solvers and Running MicroTESK sections of Installation Guide to learn how to install and use CVC4.
The new minor version of MicroTESK contains the following new features and changes:
- Support for automated extraction of coverage information that allows building constraints for named paths in instruction control flow (*)
- Possibility to process test templates in a stream manner (block by block), which allows processing larger test templates
- The
trace
method of the test template language now accepts objects created by the rand
method
- Several minor bug fixes and general improvements
The MicroTESK distribution package can be downloaded from here: http://forge.ispras.ru/projects/microtesk/files
What's new (*):
Coverage Information Extraction
The main feature of the new release is extraction of test situations for named paths in the instruction control flow. Test situations are described as constraints on input parameters which should be satisfied in order to cause execution of a specific path. Test data is generated by solving the constraints specified in a test template.
Paths can be marked in ISA specifications using the mark
function. For example, here is a part of the miniMIPS ADD instruction specification where two possible execution paths are marked as normal
and overflow
:
op add (rd: REG, rs: REG, rt: REG)
syntax = format("add %s, %s, %s", rd.syntax, rs.syntax, rt.syntax)
image = format("000000%s%s%s00000100000", rs.image, rt.image, rd.image)
action = {
temp = rs<31>::rs + rt<31>::rt;
if temp<32> != temp<31> then
mark("overflow");
exception("IntegerOverflow");
else
mark("normal");
rd = temp<31..0>;
endif;
}
Test situations to be covered by tests are specified in test templates using the name of the instruction and the name of the path. For example:
add t0, t1, t2 do situation('add.overflow') end
add t3, t4, t5 do situation('add.normal') end
NOTE: To generate test data based on constraints, MicroTESK requires the Z3 solver to be installed. See Installation Guide for more information.
The new release contains the following changes:
- The random_seed setting was added to test templates
- Biased random generation was supported
- The miniMIPS specification was improved
- More test templates for miniMIPS were added
The MicroTESK distribution package can be downloaded from here: http://forge.ispras.ru/projects/microtesk/files
The new release contains the following changes:
- The logic of test sequence building and processing has been improved
- The format of generated test programs has been improved
- Several bug fixes and general improvements have been made
The MicroTESK distribution package can be downloaded from here: http://forge.ispras.ru/projects/microtesk/files
The new release contains the following changes:
- Facilities to describe data segment in test templates were implemented
- Function 'trace' (nML) was supported
- Possibility to create instances of modes and ops in nML code was implemented
- Aliases for memory locations (mem, reg, var) were supported
- Specification of the miniMIPS ISA was added to the examples
The MicroTESK distribution package can be downloaded from here: http://forge.ispras.ru/projects/microtesk/files
The new release contains the following changes:
- Support for VLIW was implemented
- Support for floating-point types was implemented
- Ability to specify initialization code in test templates (the 'preparator' construct) was implemented
- New test data generators were implemented
- The test templates library was improved (including new text printing facilities and ability to specify unknown immediate values)
- New examples of test templates demonstrating features of MicroTESK were added
- Ability to use labels rather than addresses in the generated code was implemented
The MicroTESK distribution package can be downloaded from here: http://forge.ispras.ru/projects/microtesk/files
The MicroTESK framework will be presented at the University Booth exhibition and PhD Forum of the Design Automation Conference (DAC) - the premier conference for design and automation of electronic systems. The conference will take place on June 1-5 in San Francisco, CA, USA.
DAC offers outstanding training, education, exhibits and superb networking opportunities for designers, researchers, tool developers and vendors. The conference is sponsored by the Association for Computing Machinery (ACM), the Electronic Design Automation Consortium (EDA Consortium), and the Institute of Electrical and Electronics Engineers (IEEE), and is supported by ACM's Special Interest Group on Design. Read more...