/IdeaPlaceEx

Analog and mixed-signal automatic palcer

Primary LanguageC++

IdeaPlaceEx

This is a analog placement engine.

Install

Some components depend on external libraries, such as

Boost

LIMBO Configure, make and install the LIMBO package. Set environment variable LIMBO_DIR to the path, or specify the path to the library as Cmake cache variable LIMBO_DIR cmake -DLIMBO_DIR=$PATH

lemon Configure, make and install the Lemon package. Set environment variable LEMON_DIR to the path, or specify the path to the library as Cmake cache variable LEMON_DIR cmake -DLEMON_DIR=$PATH

Eigen Configure, make and install the Eigen package. Set environment variable EIGEN_DIR to the path, or specify the path to the library as Cmake cache variable EIGEN_DIR cmake -DEIGEN_DIR=$PATH

pybind11 Please see the official document for installing the pybind11. Set the path to pybind11. Either export to system variable PYBIND11_DIR or add flag to cmake cmake -DPYBIND11_DIR=<path>. The cmake will automatically find the system Python. To use the other Python, add cmake flags cmake -DPYTHON_INCLUDE_DIR=<path> -DPYTHON_LIBRARIES=<static libarary>. For example, -DPYTHON_INCLUDE_DIR=<path>/include/python3.7m -DPYTHON_LIBRARIES=<path>/lib/libpython3.7m.a

Either Gurobi or lpsolve. If one of them is not set through system variable or Cmake variable, the compilation will automatically look for the another.

Gurobi Install the Gurobi package. Set environment variable GUROBI_HOME to the path, or specify the path to the library as Cmake cache variable GUROBI_HOME cmake -DGUROBI_HOME=$PATH

lpsolve Install the lpsolve package. Set environment variable LPSOLVE_DIR to the path, or specify the path to the library as Cmake cache variable LPSOLVE_DIR cmake -DLPSOLVE_DIR=$PATH` , Build the program:

mkdir build
cd build
cmake -DCMAKE_BUILD_TYPE=Release -DBUILD_DOCUMENTATION=ON ..
cmake -DCMAKE_BUILD_TYPE=Release  .. (alternative) # If no doxygen
make
make doc (optional)
cd ../../
pip install IdeaPlaceEx

Specify the install prefix:

cmake -DCMAKE_INSTALL_PREFIX=./install
--------
# Usage

Please use the Python interface for this program.
The interface is defined in src/api/IdeaPlaceExAPI.cpp
Usage example can be found in [MAGICAL](https://github.com/magical-eda/MAGICAL)

--------
--------
# Copyright
The software is released under MIT license except third party packages.