Skip to content

Aceuzi/cirkit

 
 

Repository files navigation

Build Status Build status License: MIT

CirKit and RevKit (version 3)

CirKit and RevKit are synthesis and optimization frameworks for classical and quantum logic synthesis, respectively. They are implemented based on various EPFL logic sythesis libraries.

Clone

CirKit and RevKit depend on submodules, so make sure to clone recursively:

git clone --recursive https://github.com/msoeken/cirkit.git

If you update the repository, then also update the submodules:

git pull origin cirkit3
git submodule update --recursive

Installation (shell interface)

# CirKit
mkdir build
cd build
cmake ..
make cirkit
cli/cirkit

# RevKit
mkdir build
cd build
cmake ..
make revkit
cli/revkit

Installation (Python library)

# CirKit
cd dist/cirkit
python3 setup.py install

# RevKit
cd dist/revkit
python3 setup.py install

With custom compiler

CirKit and RevKit are implemented using C++-17 features and therefore a recent compiler is required (e.g., GCC ≥ 7.3.0 and Clang ≥ 7.0.0). If your recent compiler is not on the PATH prefix, extend the cmake command as follows:

cmake -DCMAKE_CXX_COMPILER=/path/to/c++-compiler ..

and prefix the python3 command as follows:

CC=/path/to/c++-compiler python3 setup.py install

CirKit and RevKit 2.0

The 2.0 versions of CirKit and RevKit can be found in the develop branch.

EPFL logic sythesis libraries

CirKit and Revkit are based on the EPFL logic synthesis libraries. The libraries and several examples on how to use and integrate the libraries can be found in the logic synthesis tool showcase.

About

A circuit toolkit

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • C++ 99.6%
  • Other 0.4%