Installation Guide » History » Version 87
Andrei Tatarnikov, 06/25/2015 10:34 AM
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 | 64 | Andrei Tatarnikov | # Download from http://forge.ispras.ru/projects/microtesk/files and unpack the MicroTESK installation package (the @.tar.gz@ file, latest release) to your computer. The folder to which it was unpacked will be further referred to as the installation directory (@<installation dir>@). |
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 | 60 | 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 utilities 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 | 63 | Andrei Tatarnikov | # In the "New System Variable" dialog specify variable name as @MICROTESK_HOME@ and variable value as @<installation dir>@. |
26 | 50 | Andrei Tatarnikov | # Click "OK" on all open windows. |
27 | # Reopen the command prompt window. |
||
28 | |||
29 | 49 | Andrei Tatarnikov | h4. _Linux and OS X_ |
30 | 48 | Andrei Tatarnikov | |
31 | 1 | Andrei Tatarnikov | Add the command below to the @~.bash_profile@ file (Linux) or the @~/.profile@ file (OS X): |
32 | 61 | Andrei Tatarnikov | <pre>export MICROTESK_HOME=<installation dir></pre> To start editing the file, type @vi ~/.bash_profile@ (or @vi ~/.profile@). Changes will be applied after restarting the command-line terminal or reboot. You can also execute the command in your command-line terminal to make temporary changes. |
33 | 47 | Andrei Tatarnikov | |
34 | 55 | Andrei Tatarnikov | h3. Installing Constraint Solvers |
35 | |||
36 | 70 | Andrei Tatarnikov | To generate test data based on constraints, MicroTESK requires external constraint solvers. The current version supports the "Z3":https://github.com/z3prover and "CVC4":http://cvc4.cs.nyu.edu constraint solvers. Constraint executables should be downloaded and placed to the @<installation dir>/tools@ directory. |
37 | 1 | Andrei Tatarnikov | |
38 | 71 | Andrei Tatarnikov | *_Installing Z3_* |
39 | 70 | Andrei Tatarnikov | |
40 | 68 | Andrei Tatarnikov | * Windows users should download Z3 (32 or 64-bit version) from the following page: http://z3.codeplex.com/releases and unpack the archive to the @<installation dir>/tools/z3/windows@ directory. Note: the executable file path is @<windows>/z3/bin/z3.exe@. |
41 | 1 | Andrei Tatarnikov | |
42 | 68 | Andrei Tatarnikov | * UNIX and Linux users should use one of the links below and and unpack the archive to the @<installation dir>/tools/z3/unix@ directory. Note: the executable file path is @<unix>/z3/bin/z3@. |
43 | 34 | Alexander Kamkin | | Debian x64 | http://z3.codeplex.com/releases/view/101916 | |
44 | | Ubuntu x86 | http://z3.codeplex.com/releases/view/101913 | |
||
45 | | Ubuntu x64 | http://z3.codeplex.com/releases/view/101911 | |
||
46 | | FreeBSD x64 | http://z3.codeplex.com/releases/view/101907 | |
||
47 | 21 | Andrei Tatarnikov | |
48 | 1 | Andrei Tatarnikov | * OS X users should download Z3 from http://z3.codeplex.com/releases/view/101918 and unpack the archive to the @<installation dir>/z3/osx@ directory. Note: the executable file path is @<osx>/z3/bin/z3@. |
49 | 70 | Andrei Tatarnikov | |
50 | 71 | Andrei Tatarnikov | *_Installing CVC4_* |
51 | 70 | Andrei Tatarnikov | |
52 | 72 | Andrei Tatarnikov | * Windows users should download the latest version of CVC4 binary from http://cvc4.cs.nyu.edu/builds/win32-opt/ and save it to the @<installation dir>/tools/cvc4/windows@ directory as @cvc4.exe@. |
53 | 70 | Andrei Tatarnikov | |
54 | 79 | Andrei Tatarnikov | * Linux users download the latest version of CVC4 binary from http://cvc4.cs.nyu.edu/builds/i386-linux-opt/unstable/ (32-bit version) or http://cvc4.cs.nyu.edu/builds/x86_64-linux-opt/unstable/ (64-bit version) and save it to the @<installation dir>/tools/cvc4/unix@ directory as @cvc4@. |
55 | 70 | Andrei Tatarnikov | |
56 | 77 | Andrei Tatarnikov | * OS X users should download the latest version of CVC4 distribution package from http://cvc4.cs.nyu.edu/builds/macos/ and install it. |
57 | 76 | Andrei Tatarnikov | The CVC4 binary should be copied to @<installation dir>/tools/cvc4/osx@ as @cvc4@ or linked to this file name via a symbolic link. |
58 | 15 | Andrei Tatarnikov | |
59 | 40 | Alexander Kamkin | h3. Installation Directory Structure |
60 | 13 | Andrei Tatarnikov | |
61 | 40 | Alexander Kamkin | The MicroTESK installation directory contains the following subdirectories: |
62 | 13 | Andrei Tatarnikov | |
63 | 33 | Alexander Kamkin | | @arch@ | Examples of microprocessor specifications and test templates for the described designs | |
64 | | @bin@ | Scripts to run features of MicroTESK (modelling and test generation) | |
||
65 | 56 | Andrei Tatarnikov | | @doc@ | Documentation on MicroTESK | |
66 | 81 | Andrei Tatarnikov | | @etc@ | MicroTESK configuration files | |
67 | 43 | Andrei Tatarnikov | | @gen@ | Generated Java models of the specified microprocessor designs | |
68 | | @lib@ | JAR files and Ruby scripts to perform modelling and test generation tasks | |
||
69 | 66 | Andrei Tatarnikov | | @src@ | Source code of MicroTESK | |
70 | 14 | Andrei Tatarnikov | |
71 | h3. Running MicroTESK |
||
72 | 26 | Andrei Tatarnikov | |
73 | 67 | 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 miniMIPS specification: |
74 | 1 | Andrei Tatarnikov | |
75 | 26 | Andrei Tatarnikov | <pre> |
76 | 67 | Andrei Tatarnikov | sh bin/compile.sh arch/minimips/model/minimips.nml |
77 | 27 | Andrei Tatarnikov | </pre> |
78 | 1 | Andrei Tatarnikov | |
79 | 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._ |
80 | 1 | Andrei Tatarnikov | |
81 | 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: |
82 | |||
83 | # _model name_; |
||
84 | # _test template file_; |
||
85 | # _target test program source code file_. |
||
86 | |||
87 | 87 | Andrei Tatarnikov | For example, the command below runs the @euclid.rb@ test template for the miniMIPS model generated by the command from the previous example and saves the generated test program to an assembler file. The file name is based on values of the @--code-file-prefix@ and @--code-file-extension@ options. |
88 | 57 | Andrei Tatarnikov | |
89 | 27 | Andrei Tatarnikov | <pre> |
90 | 84 | Andrei Tatarnikov | sh bin/generate.sh minimips arch/minimips/templates/euclid.rb |
91 | 26 | Andrei Tatarnikov | </pre> |
92 | 80 | Andrei Tatarnikov | |
93 | To specify whether "Z3":https://github.com/z3prover or "CVC4":http://cvc4.cs.nyu.edu should be used to solve constraints, a user needs to specify the @-s@ or @--solver@ command-line option as @z3@ or @cvc4@ respectively. By default, Z3 will be used. Here is an example: |
||
94 | |||
95 | <pre> |
||
96 | sh bin/generate.sh -s cvc4 minimips arch/minimips/templates/constraint.rb |
||
97 | </pre> |
||
98 | 82 | Andrei Tatarnikov | |
99 | 83 | Andrei Tatarnikov | More information on command-line options can be found on the [[Command-Line Options]] page. |