fxreichl / eSLIM

A Boolean circuit minimizer
MIT License
2 stars 0 forks source link

eSLIM

eSLIM is a tool for circuit minimization that utilizes exact synthesis and the SAT-based local improvement method (SLIM) to locally improve circuits.

Overview

The src directory contains the source code of the tool.

Installation

Dependencies

The following dependencies must be installed:

To use the QBF-based minimization at least one of the following QBF solvers needs to be installed.

We recommend using the solver QFUN. In addition to installing a solver also the path to the binary needs to be set in utils.py.

Optional Dependencies

To use ABC for inprocessing, the ABC synthesis and verification tool needs to be installed. Additionally, the path to the ABC binary needs to be set in utils.py.

Included Dependencies

To read and write AIGs (And-Inverter Graph) the AIGER library is used. For checking SAT formulae the SAT solver CaDiCaL is used.

Build

We only provide instructions for building the tool on a LINUX system.

git clone --recursive https://github.com/fxreichl/eSLIM.git eSlim
cd eSlim/src/bindings 
mkdir build && cd build
cmake ..
make

Usage

To minimize a circuit use reduce.py. To run this script use:

reduce.py <Specification> <Result> <Limit>

Inputs

Options