- Ubuntu >= 18.04
- GNU Compiler Collection (GCC), version >= 4.8.5
- CMake, version >= 3.9.6
- GNU Make
- ACT
- Boost, version >= 1.71.0 (lower version may work, not tested)
- Si2 LEF/DEF parser, a mirror can be found here
- PhyDB
- OpenMP (for MacOS user,
libompfrom Homebrew will work) - GoogleTest is optional. If CMake cannot find it, tests in
tests/commonare skipped while the rest of the build remains available. On Ubuntu/Debian, install it withsudo apt install libgtest-dev.
$ git clone --recursive https://github.com/asyncvlsi/Dali.git
$ cd Dali/
$ mkdir build
$ cd build
$ cmake ..
$ make
$ make install
this will create a binary dali in folder Dali/bin.
The default installation destination is $ACT_HOME.
One can use the following command to specify the installation destination and install this package:
$ cmake .. -DCMAKE_INSTALL_PREFIX=path/to/installation
After configuring and building from the build/ directory, run:
$ make test-unit
This runs the fast GoogleTest-based unit tests in tests/application,
tests/common, and tests/circuit.
To include integration tests such as the I/O placer benchmarks, run:
$ make test-integration
To run every test registered with CTest, run:
$ make test-all
The equivalent raw CTest commands are:
$ ctest --output-on-failure -L unit
$ ctest --output-on-failure -L integration
$ ctest --output-on-failure
GoogleTest is optional. If CMake cannot find it, GoogleTest-based unit tests are skipped while integration tests and the rest of the build remain available. If the test executables have not been built yet, build first:
$ make
- Eigen: sparse matrix iterative linear solver
- Eigen gives different results for different C++ compilers, because floating point addition is not necessarily associative
- g++ in MacOS is an alias of clang instead of GCC
- 32bit and 64bit version g++ also give different results