Project

General

Profile

Installation Guide » History » Version 59

Andrei Tatarnikov, 10/17/2014 11:09 PM

1 1 Andrei Tatarnikov
h1. Installation Guide
2
3 36 Alexander Kamkin
{{toc}}
4
5 17 Andrei Tatarnikov
h3. System Requirements
6 1 Andrei Tatarnikov
7 52 Andrei Tatarnikov
MicroTESK is a set of Java-based utilities that are run from the command line. It can be used on *_Windows_*, *_Linux_* and *_OS X_* machines that have *_JDK 1.7 or later_* installed. To build MicroTESK from source code or to build generated Java models, *_Apache Ant version 1.8_ or later* is required. To generate test data based on constraints, MicroTESK needs *_Microsoft Research Z3_* that can work under the corresponding operating system.
8 1 Andrei Tatarnikov
9 17 Andrei Tatarnikov
h3. Installation Steps
10 1 Andrei Tatarnikov
11 33 Alexander Kamkin
# Download from http://forge.ispras.ru/projects/microtesk/files and unpack the MicroTESK installation package (the @.tar.gz@ file, latest release) to your computer.
12 53 Andrei Tatarnikov
# [Not required for MicroTESK 2.1 beta] Download and install constraint solver tools to the @<installation dir>/tools@ directory (see the *Installing Constraint Solvers* section).
13 46 Andrei Tatarnikov
# Declare the *MICROTESK_HOME* environment variable and set its value to the path to the installation directory (see the *Setting Environment Variables* section).
14 59 Andrei Tatarnikov
# Set the @<installation dir>/bin@ as the working directory (add the path to the @PATH@ environment variable) to be able to run MicroTESK tasks from any path.
15 33 Alexander Kamkin
# Now you can run the @compile.sh@ (or @.bat@) script to create a microprocessor model and the @generate.sh@ (or @.bat@) script to generate test for this model.
16 13 Andrei Tatarnikov
17 47 Andrei Tatarnikov
h3. Setting Environment Variables
18
19 48 Andrei Tatarnikov
h4. _Windows_
20 47 Andrei Tatarnikov
21 50 Andrei Tatarnikov
# Open the "System Properties" window.
22
# Switch to the "Advanced" tab.
23
# Click on Environment Variables.
24
# Click "New.." under "System Variables".
25
# In the "New System Variable" dialog specify variable name as MICROTESK_HOME and variable value as <instrallation dir>.
26
# Click "OK" on all open windows.
27
# Reopen the command prompt window.
28
29 47 Andrei Tatarnikov
30 49 Andrei Tatarnikov
h4. _Linux and OS X_
31 48 Andrei Tatarnikov
32 49 Andrei Tatarnikov
Add the command below to the @~.bash_profile@ file (Linux) or the @~/.profile@ file (OS X):
33
<pre>export MICROTESK_HOME=<installation dir></pre> To start editing the file, type @vi ~/.bash_profile@ (or @vi ~/.profile@). Changes will be applied after reboot. You can also execute the command in your command-line terminal to make temporary changes.
34 47 Andrei Tatarnikov
35 55 Andrei Tatarnikov
h3. Installing Constraint Solvers
36
37
_NOTE: Not required for MicroTESK 2.1 beta._
38 15 Andrei Tatarnikov
39 40 Alexander Kamkin
To generate test data based on constraints, MicroTESK requires external constraint solver engines. The current version uses the Z3 constraint solver by Microsoft Research (http://z3.codeplex.com/). The Z3 executable should be downloaded and placed to the @<installation dir>/tools@ directory.
40 18 Andrei Tatarnikov
41 40 Alexander Kamkin
* Windows users should download Z3 (32 or 64-bit version) from the following page: http://z3.codeplex.com/releases, unpack the archive and place the @z3.exe@ file to the @<installation dir>/tools/z3/windows@ directory.
42 1 Andrei Tatarnikov
43 40 Alexander Kamkin
* UNIX and Linux users should use one of the links below and place the @z3@ executable file to the @<installation dir>/tools/z3/unix/z3@ directory.
44 34 Alexander Kamkin
| Debian  x64 | http://z3.codeplex.com/releases/view/101916 |
45
| Ubuntu  x86 | http://z3.codeplex.com/releases/view/101913 |
46
| Ubuntu  x64 | http://z3.codeplex.com/releases/view/101911 |
47
| FreeBSD x64 | http://z3.codeplex.com/releases/view/101907 |
48 21 Andrei Tatarnikov
49 40 Alexander Kamkin
* OS X users should download Z3 from http://z3.codeplex.com/releases/view/101918 and place the @z3@ executable file to the @<installation dir>/z3/osx/z3@ directory.
50 15 Andrei Tatarnikov
51 40 Alexander Kamkin
h3. Installation Directory Structure
52 13 Andrei Tatarnikov
53 40 Alexander Kamkin
The MicroTESK installation directory contains the following subdirectories:
54 13 Andrei Tatarnikov
55 33 Alexander Kamkin
| @arch@   | Examples of microprocessor specifications and test templates for the described designs |
56
| @bin@    | Scripts to run features of MicroTESK (modelling and test generation) |
57 56 Andrei Tatarnikov
| @doc@    | Documentation on MicroTESK |
58 43 Andrei Tatarnikov
| @gen@    | Generated Java models of the specified microprocessor designs |
59
| @lib@    | JAR files and Ruby scripts to perform modelling and test generation tasks |
60 14 Andrei Tatarnikov
61
h3. Running MicroTESK
62 26 Andrei Tatarnikov
63 58 Andrei Tatarnikov
To generate a Java model of a microprocessor from its nML specification, a user needs to run the compile.sh script (Unix, Linux, OS X) or the compile.bat script (Windows). For example, the following command generates a model for the VLIW demo specification:
64 1 Andrei Tatarnikov
65 26 Andrei Tatarnikov
<pre>
66 57 Andrei Tatarnikov
sh bin/compile.sh arch/demo/vliw/model/vliw.nml
67 27 Andrei Tatarnikov
</pre>
68 1 Andrei Tatarnikov
69 57 Andrei Tatarnikov
_NOTE: Models for all demo specifications are already built and included in the MicroTESK distribution package. So a user can start working with MicroTESK from generating test programs for these models._
70 1 Andrei Tatarnikov
71 57 Andrei Tatarnikov
To generate a test program, a user needs to use the generate.sh script (Unix, Linux, OS X) or the generate.bat script (Windows). The scripts require the following parameters: 
72
73
#  _model name_;
74
# _test template file_;
75
# _target test program source code file_.
76
77
For example, the following command runs the @euclid.rb@ test template for the VLIW demo model generated by the command from the previous example and saves the generated test program to the @test.asm@ file:
78
79 27 Andrei Tatarnikov
<pre>
80 57 Andrei Tatarnikov
sh bin/generate.sh vliw arch/demo/vliw/templates/euclid.rb test.asm
81 26 Andrei Tatarnikov
</pre>