/VECBEE

VECBEE: A Versatile Efficiency-Accuracy Configurable Batch Error Estimation Method for Greedy Approximate Logic Synthesis

Primary LanguageC++

VECBEE: A Versatile Efficiency-Accuracy Configurable Batch Error Estimation Method for Greedy Approximate Logic Synthesis

This project implements an efficient batch error estimation method for approximate logic synthesis. The error estimation method is applied into two local approximate changes, that is, SASIMI and ANS.

For more details, please refer to:

Requirements

To compile the project, you need:

  • gcc 10.3.0
  • g++ 10.3.0
  • cmake 3.16.3
  • make 4.2.1
  • libboost 1.75.0
  • ctags
  • libreadline
  • abc

A reference docker environment is also provided here: https://hub.docker.com/repository/docker/changmeng/als_min

Download the project

git clone https://github.com/SJTU-ECTL/VECBEE.git --recursive

The --recursive option is necessary to download the submodule abc.

Sub-project: SASIMI-VECBEE

Generate a executable program:

cd VECBEE/SASIMI-VECBEE
mkdir build
cd build
cmake ..
make -j <number_of_cpu_cores>
cd ..

A program named sasimi-vecbee.out will be generated in the folder SASIMI-VECBEE.

Use ./sasimi-vecbee.out -h to get help.

Sub-project: ANS-VECBEE

Generate a executable program:

cd VECBEE/ANS-VECBEE
mkdir build
cd build
cmake ..
make -j <number_of_cpu_cores>
cd ..

A program named ans-vecbee.out will be generated in the folder ANS-VECBEE.

Use ./ans-vecbee.out -h to get help.