py-aiger-abc
Aiger <-> ABC bridge
Installation
Non-Python Dependencies
This package currently assumes that the ABC and aigtoaig commands are installed and in the PATH. In the future, we hope to automatically include these dependencies, but currently one needs to install them on their own.
Python Package
If you just need to use aiger_abc
, you can just run:
$ pip install py-aiger-abc
For developers, note that this project uses the poetry python package/dependency management tool. Please familarize yourself with it and then run:
$ poetry install
Usage
The primary entry point for using aiger_abc
is the simplify
function which uses abc
to simplify an AIG. For example, below we
show how aiger_abc
can be used to simplify the following inefficient
encoding of const false.
import aiger
x = aiger.atom('x')
f = x ^ x
print(f.aig)
aag 4 1 0 1 3
2
8
4 2 2
6 3 3
8 5 7
import aiger_abc
f2 = aiger_abc.simplify(f)
print(f2.aig)
aag 1 1 0 1 0
2
0
abc
and aigtoaig
commands
Explicitly Specifying for simplify
supports explicitly specifying the
abc
and aigtoaig
commands. This is useful
if you have installed them in non-standard paths
or names. E.g.,
f2 = aiger_abc.simplify(f, abc_cmd='abc', aigtoaig_cmf='aigtoaig')