|
| 1 | +# Build OpenROAD Flow |
| 2 | + |
| 3 | +> **Warning:** |
| 4 | +> On CentOS 7 you need to manually make sure the PATH variable includes at |
| 5 | +> least one of the new version of GCC/Clang. To enable GCC-8 or Clang-7 you |
| 6 | +> need to run: |
| 7 | +> |
| 8 | +> ```shell |
| 9 | +> # to enable gcc-8 |
| 10 | +> source /opt/rh/devtoolset-8/enable |
| 11 | +> # or to enable clang-7 |
| 12 | +> source /opt/rh/llvm-toolset-7.0/enable |
| 13 | +> ``` |
| 14 | +
|
| 15 | +## Build Command and options |
| 16 | +
|
| 17 | +``` shell |
| 18 | +./build_openroad.sh |
| 19 | +``` |
| 20 | +
|
| 21 | +Options for `./build_openroad.sh` script |
| 22 | +| Argument | Description | |
| 23 | +|-------------------------------|---------------------------------------------------------------------------------------| |
| 24 | +| `-h` or `--help` | Print help message. | |
| 25 | +| `-o` or `--local` | Build locally instead of building a Docker image. | |
| 26 | +| `-l` or `--latest` | Use the head of branch --or_branch or 'master' by default for tools/OpenROAD. | |
| 27 | +| `--or_branch BRANCH_NAME` | Use the head of branch BRANCH for tools/OpenROAD. | |
| 28 | +| `--or_repo REPO_URL` | Use a fork at REPO-URL (https/ssh) for tools/OpenROAD. | |
| 29 | +| `--no_init` | Skip initializing submodules. | |
| 30 | +| `-t N` or `--threads N` | Use N cpus when compiling software. | |
| 31 | +| `-n` or `--nice` | Nice all jobs. Use all cpus unless `--threads` is also given, then use N threads. | |
| 32 | +| `--yosys-args-overwrite` | Do not use default flags set by this scrip during Yosys compilation. | |
| 33 | +| `--yosys-args STRING` | Aditional compilation flags for Yosys compilation. | |
| 34 | +| `--openroad-args-overwrite` | Do not use default flags set by this script during OpenROAD app compilation. | |
| 35 | +| `--openroad-args STRING` | Aditional compilation flags for OpenROAD app compilation. | |
| 36 | +| `--lsoracle-enable` | Compile LSOracle. Disable by default as it is not currently used on the flow. | |
| 37 | +| `--lsoracle-args-overwrite` | Do not use default flags set by this scrip during LSOracle compilation. | |
| 38 | +| `--lsoracle-args STRING` | Aditional compilation flags for LSOracle compilation. | |
| 39 | +| `--install-path PATH` | Path to install tools. Default is `${INSTALL_PATH}`. | |
| 40 | +| `--clean` | Call git clean interactively before compile. Useful to remove old build files. | |
| 41 | +| `--clean-force` | Call git clean before compile. WARNING: this option will not ask for confirmation. Useful to remove old build files. | |
| 42 | +| `-c` or `--copy-platforms` | Only applicable for docker builds. Copy platforms to inside docker image. | |
| 43 | +| `--docker-args-overwrite` | Only applicable for docker builds. Do not use default flags set by this script for Docker builds. | |
| 44 | +| `--docker-args STRING` | Only applicable for docker builds. Additional compilation flags for Docker build. | |
| 45 | + |
| 46 | + |
| 47 | +## Build from sources locally |
| 48 | + |
| 49 | +Build from sources locally, [instructions here](./BuildLocally.md). |
| 50 | + |
| 51 | +## Build from sources using Docker |
| 52 | + |
| 53 | +Build from sources using Docker, [instructions here](./BuildWithDocker.md). |
0 commit comments