- Chang Meng, Weikang Qian, and Alan Mishchenko, "ALSRAC: approximate logic synthesis by resubstitution with approximate care set", in Proceedings of the 2020 Design Automation Conference (DAC), 2020, pp. 187:1-187:6.
Currently, ALSRAC only supports 64-bit machines, since the logic simulator uses 64-bit parallel simulation.
To compile ABC, you need:
- gcc (>=10.3.0)
- make (>=4.1)
- libreadline
To compile the whole project, you also need:
- libboost (>=1.71)
- ctags
Additionally, you can use the docker image at https://hub.docker.com/r/changmeng/als_min
Clone ABC
into abc/
.
git clone git@github.com:changmg/abc.git
Build a static library libabc.a
.
cd abc/
make libabc.a
cd ..
Clone ESPRESSO
into espresso/
.
git clone git@github.com:changmg/espresso.git
Build a static library libespresso.a
.
cd espresso/
make lib
cd ..
Generate a executable program:
make
It will generate a program named main
.
Use ./main -h
to get help.
The benchmarks are in the BLIF
format in the folder data/
.
The standard cell libraries are in the folder data/library/
.
Example:
./main -i data/su/c880.blif -l data/library/mcnc.genlib -m er -o appntk/ -t 0 -f 64 -b 0.05
In this case, approximate circuits are saved into appntk/
.