| **NOTE: It is more complex to set up OpenLane without a Docker container. If you are a novice user, it is recommended to use the Docker container.** |
| |
| # Using OpenLane without Docker |
| At its core, OpenLane is a set of scripts working with a set of tools. If you'd like to avoid using a Docker container, you can, but you will have to set up all of the tools required by OpenLane on your computer. We do provide a script to assist you with that. |
| |
| # Base Requirements |
| * Python 3.6+ with PIP |
| * pyyaml, venv: `python3 -m pip install pyyaml venv` |
| |
| # Tool Library |
| You can run `python3 ./env.py tool-list` for a list. There are at least a dozen tools to install here. Luckily, you don't have to install them all one-by-one: There is an installation script that installs most of them. |
| |
| You can invoke `python3 ./env.py local-install`. This tool copies the skeleton and installs all the tools to `$OPENLANE_ROOT_DIR/install`. Furthermore, if you are on CentOS 7, macOS or Ubuntu 20.04, the installer will offer to install all the required apt, yum or brew packages for you. |
| |
| The tools will all be installed with `./install` as a prefix. You'll find all the repos in `./install/build/repos` and a list of versions in `./install/build/versions`. |
| |
| **DO NOTE:** We expect you to get some tools on your own, because said tools are too complex to build in an automated fashion. Namely: |
| * OpenROAD |
| * Klayout |
| * Git 2.34+ |
| |
| After the installer is done, you can simply invoke `./flow.tcl` outside of Docker and it should work okay. |
| |
| # More about how this works |
| `flow.tcl` looks for a file called `./install/env.tcl` before it does anything. If it finds it, it sources it. The `./install` directory is aliased in Docker environments, which already have the proper tools installed. |
| |
| `./install/env.tcl` contains the necessary environment variables to add the installed tools to PATH and activate the Python virtual environment. |