Installation

MAxPy is a Python based application, and it is meant to run on Linux systems.

Prior using MAxPy, you need to install the System packages and the MAxPy package itself.

System packages

As MAxPy relies on other open-source tools, you need first to install them in your system prior to using it.

Note

The following instructions will consider the APT (Advanced Packaging Tool) for installing the desired packages in your Debian based (apt-get command). However, depending on your system, other package managers can be used, such as pacman for Arch based systems.

Before installing the tools, it is recommended to install some basic system packages used for building packages from source:

sudo apt-get install make cmake clang gcc tcl tcl-dev tcllib swig bison flex python3-pip ninja-build help2man
  1. Install Yosys

    Yosys is the default logic synthesis tool used by MAxPy. You can either install it from source following the guidelines available at the Yosys official repository, or you can use the apt package manager.

    sudo apt-get install yosys
    

    In principle any version available in the repositories should work. If you have any trouble, please let us know.

  2. Install OpenSTA

    OpenSTA is the tool used for static timing analysis and power estimations based on the get-level netlists. As OpenSTA may not be available at the package manager in every Linux distribution, it is advised to build it STA from source. Please check the build instructions at the OpenSTA official repository.

    For short, you can use the following commands, but in case of any trouble, please the check the full install instruction at their repository.

    git clone https://github.com/The-OpenROAD-Project/OpenSTA.git
    cd OpenSTA
    mkdir build
    cd build
    cmake ..
    make
    sudo make install
    
  3. Install Verilator

    Verilator is the simulation tool which allows Verilog circuits to be simulated as a computer program. Despite Verilator being available at the apt package manager, you should check its version. MAxPy currently works with Verilator version v5.002.

    sudo apt-get install verilator
    

    However, Verilator can be built from source aswell. You can the instruction available at their Installation page. Also, you can check the Verilator official repository.

  4. Install pybind11

    Pybind11 is a header only library that allows the C++ model generated by Verilator to be translated to Python. As it is very simple, the default apt package manager installation should do it:

    sudo apt-get install pybind11-dev
    

MAxPy package

You have two options for installing MaxPy:

  1. Via pip

    Just type the following command in the terminal and it’s done:

    pip install MAxPy
    
  2. Via wheel file

    Download the wheel file available from MAxPy’s latest release on Github. The file is in the MAxPy-x.x.x-py3-none-any.whl format, where the x.x.x sequence represents the release version. Then just run the following command on the terminal:

    pip install [path_to_the_wheel_file]/MAxPy-x.x.x-py3-none-any.whl