The Termite driver synthesis tool
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.
lib lib/debug update Jul 25, 2017
specs @ c556365 specs update May 8, 2015
tools bump module versions Jun 10, 2015
Readme Typo Jun 10, 2015 fix to build .so version of CUDD Oct 8, 2014 automate building mode Sep 27, 2014 install build dependencies in setup script Oct 8, 2014


The Termite driver synthesis tool

Termite must be built on a Linux system. The build process has been tested on 64 bit versions of Ubuntu and Arch Linux.
A working Haskell installation is required. You will need to install ghc version 7.8 or greater and cabal-install version 1.20 or greater using your system's package manager.

You will need to install several other dependencies.  On Ubuntu, the following packages are needed:


Finally, you will need to build from sources and install Z3 SMT solver from Microsoft Research, available at  Note that Z3 is free for non-commercial academic purposes only.

To clone the needed git subrepos and setup a cabal sandbox:
    $ ./

To build:
    $ ./

Copy the language definition to a place where GTKSourceView can find it:
    $ sudo cp lib/tsl/tools/tsl.lang /usr/share/gtksourceview-2.0/language-specs/

To run:
    $ source ./
    $ cd documentation/GPIO
    $ ../../bin/termite -i main.tsl -s

Or, if you prefer to build CUDD separately:

To build CUDD: 
    $ pushd lib/cudd
    $ cp Makefile.64bit Makefile # or Makefile.32bit if you are on a 32 bit system
    $ make libso
    $ popd

To build Termite:
    $ export LD_LIBRARY_PATH=`pwd`/lib/cudd/libso
    $ cabal update
    $ cabal install termite --extra-include-dirs=`pwd`/lib/cudd/include --extra-lib-dirs=`pwd`/lib/cudd/libso --bindir=`pwd`/bin