https://github.com/epiqc/ScaffCC
Revision c9bb19c5906c44795fde065e4a9c6b1e92c04968 authored by EPiQC on 06 August 2017, 15:43:30 UTC, committed by EPiQC on 06 August 2017, 15:43:30 UTC
2 parent s 1cf967a + 4a8d616
Raw File
Tip revision: c9bb19c5906c44795fde065e4a9c6b1e92c04968 authored by EPiQC on 06 August 2017, 15:43:30 UTC
Merge branch 'master' of https://github.com/epiqc/ScaffCC
Tip revision: c9bb19c
README
RevKit: A Toolkit for Reversible Circuit Design
Copyright (C) 2009-2013  The RevKit Developers
www.revkit.org
revkit@informatik.uni-bremen.de

CONTENTS
  * Requirements
  * SE Linux Enforcing Setting (for Fedora users only)
  * Build
  * Start
  * Documentation

REQUIREMENTS
  You need the following packages (by distribution):

  Ubuntu, Mint Linux: (for the Python Interface Ubuntu 9.10 or higher is required)
  $ sudo apt-get install build-essential cmake python-dev ipython python-qt4 python-numpy

  openSUSE:
  $ sudo zypper install gcc-c++ cmake python-devel IPython python-qt4 python-numpy

  Fedora:
  $ sudo yum install wget gcc-c++ cmake python-devel ipython PyQt4 numpy

  Further packages which are not available in the
  distrubition's package manager (as e.g. CUDD or PUMA)
  are downloaded and installed automatically from the bootstrap script.
  Boost is also required and will be downloaded and installed by default.
  If you prefer using the distributions boost version, please have a look at the RevKit users manual.

SE LINUX ENFORCING SETTING (for Fedora users only)
  You need to disable SE Linux enforcing to run RevKit in
  a python shell. There are two ways to do this, temporarily
  or permanently.

  Temporarily:
  $ sudo /usr/sbin/setenforce 0

  Permanently:
  Change "enforcing" to "disabled" in "/etc/selinux/config" and reboot.

BUILD

  The build process is divided into two scripts.
  First the RevKit environment is created using the bootstrap script.
  Afterwards the RevKit algorithms are built using the build script.
  This has the benefit of running the second script only if changes
  have been made on the algorithms but not on the environment.
  The bootstrap script should only be called once at the beginning.

  Do the following steps to build the RevKit environment

  $ ./make.py bootstrap

  This will download and compile all dependencies.
  In that process, compiling boost takes some time.
  If you already have installed boost using the distribution's
  package manager, the option -DBOOST_PATH can be used to
  specify its path, e.g. -DBOOST_PATH=/usr.
  Alternatively you can specify the boost include and libs path separately by using --boost, --boost-include-dir and --boost-lib-dir as arguements.

  After bootstraping the environment you are asked to run the build script.

  To run it manually just call

  $ ./make.py build

  This will build the whole RevKit suite including the core,
  algorithms, examples, and the Python bindings.
  The Python bindings enable the CLI to use RevKit
  like a shell. If the system cannot build the Python
  bindings or if they are not needed, they can be deactivated
  by calling

  $ ./make.py build -DBUILD_BINDINGS=OFF

  instead.

  The build script must be called at least once.
  You can use it for compiling the sources after changes have been made, but it is not necessary if your settings are unchanged: Alternatively just call

  $ make

  in the build directory.

START

  To start the RevKit GUI just run

  $ ./tools/gui/gui.py

  from the RevKit directory. This will open a GUI supporting all implemented algorithms.

  If you prefer starting RevKit via python, call

  $ ipython

  and enter

  In [1]: from revkit import *

  If you don't have ipython installed, python will also work.

  A couple of ready-to-use tools (in terms of Python scripts)
  are already available at ./tools.


DOCUMENTATION
  A user manual is available at doc/users/revkit_user_manual.pdf.

  All C++ documentation including
      - installation,
      - usage, and
      - full code documentation
  is available in the Doxygen documentation. The main page
  for the documentation is doc/devs/html/index.html. You can open the documentation
  e.g. by calling

  $ firefox doc/devs/html/index.html

  For generating the documentation on your own, call

  $ cd doc/devs
  $ ./doxygen.pl

Have Fun!
back to top