                            SCOOT
==================================================================
                     Author: Nicolas Blanc
                    nicolas.blanc@inf.ethz.ch
==================================================================

Scoot is a research compiler for SystemC. We provide it as is
for research purposes.

This package contains a compiled version of Scoot for Linux and
a collection of examples. Additionally, this release also includes
a modified version of the model-checkers SatAbs and CBMC that are
used for race-analysis.


List of subdirectories:

-bin: contains binaries
  + scoot: Linux binary of Scoot
  + satabs_wp: Compute termination conditions using SatAbs.
  + cbmc_wp : Compute termination conditions using CBMC.
  + scoot_explorer: Tool for exhaustive simulation.

-include: Various include directories for Scoot

-examples: Collection of examples

-examples-ra: Exhaustive simulation examples.
  In order to run the examples, you need to install SMV.


Installation
============

Add 'scoot/bin' to the PATH, edit the file 'common.mk', and adapt
the settings to your convenience.

Note that the original SystemC library is used for comparison
only. Scoot still works without it. The SystemC library is freely
available from www.systemc.org.

Example 1: AES encryption/decryption core
===========

Enter one of the directories that contains a benchmark:

> cd  examples/aes128lowarea

If SystemC is installed on your system, you can build the
original SystemC simulator using the following command:

> make systemc_sim

Similarly, the next command creates the Scoot simulator:

> make scoot_sim

Finally, these last commands are used to print the execution
time of the binaries:

> time ./systemc_sim
> time ./scoot_sim


