RevKit aims to support
researchers in the development of new or improved methods for reversible circuit design.
To this end, RevKit is based on a very modular and extendable framework.
All tools and algorithms are thereby written in C++ and directly accessible by an API.
Overall, RevKit consists of three main parts:
Additionally, RevKit makes use of third-party libraries like e.g. the BDD-Package CUDD [Som:2001], the SAT solver MiniSAT [ES:2004], and some C++-libraries.
- the core, which provides data-structures (e.g. to store functions or circuits)
and basic functionality (like parsing routines, export functions, cost calculations, circuit modifications) which can be used by every algorithm,
- the respective approaches and methods for reversible circuit design (e.g. synthesis, optimization, or verification), and
- the different applications built on top of the framework (e.g. the generic usage by means of the Python bindings or a concrete application that combines some algorithms in a certain way).
The following pages provide a developers documetation inlcuding a brief description of how to download, how to install, and how to extend RevKit, respectively. Additionally, the documentation provides an API of all sources.
>> Go to the developers' documentation <<