Show pageOld revisionsBacklinksBack to top This page is read only. You can view the source, but not change it. Ask your administrator if you think this is wrong. ===== OpenROAD ===== The [[https://theopenroadproject.org/|OpenROAD]] project provides an open source flow from rtl to gds2. ==== Install ==== The [[https://github.com/The-OpenROAD-Project/OpenROAD|OpenROAD code is available on github]]. OpenROAD provides several install methods like docker, nix, bazel and cmake. === Install via bazel === Bazel promises reproducable builds which I liked. I tried it on a virtual (via UTM) debian 13 (trixie) arm64 machine. The openroad binary is a gui application which relies on qt. It seems quite difficult to have system independent gui application. OpenROAD uses prebuild libraries, for example the xcd libraries which are from [[https://github.com/The-OpenROAD-Project/qt_bazel_prebuilts/tree/main/interface_libs|OpenROADS qt_bazel_prebuilts/interface_libs]]. It turns out that prebuild libraries are build in a ubuntu docker container and the copied to the repository. Therefore they are x86_64 and do not work on the arm64 machine. == Install bazelisk == See: https://github.com/bazelbuild/bazelisk/releases/tag/v1.28.1 for the different systems. For debian linux on x86_64 machines do: <code> wget https://github.com/bazelbuild/bazelisk/releases/download/v1.28.1/bazelisk-amd64.deb sudo dpkg -i bazelisk-amd64.deb </code> == Build and Run openroad in cmdline mode == The will build and run the openroad tool in cmdline mode. <code> bazelisk run //:openroad </code> == Build and run in gui mode == <code> bazelisk run --//platform=gui //:openroad -- -gui </code> == Run the regression test via bazel == The following command will run all tests which are defined in the src folder. The three dots are real. <code> bazelisk test src/... </code> == Run one test from the regression == <code> bazelisk test src/gpl/test:simple01-tcl_test </code> === Install via cmake === I stole the following from the [[https://github.com/The-OpenROAD-Project/OpenROAD/blob/master/Dockerfile|Dockerfile]] to build a local version on a debian 12 machine in the lab. <code> git clone --recurse-submodules https://github.com/The-OpenROAD-Project/OpenROAD.git cd OpenROAD cp etc/DependencyInstaller.sh /tmp sudo /tmp/DependencyInstaller.sh -ci -base sudo /tmp/DependencyInstaller.sh -ci -common -save-deps-prefixes=/etc/openroad_deps_prefixes.txt DEPS_ARGS=$(cat /etc/openroad_deps_prefixes.txt) echo $DEPS_ARGS cmake -B build -S . -DCMAKE_BUILD_TYPE=Release -DOPENROAD_VERSION=${fredo} $DEPS_ARGS cmake --build build -- -j 8 </code> === Regression Test === To be sure that the compiled tools are actually working as expected on possibly different platforms, a regression test is a good idea. The [[https://github.com/The-OpenROAD-Project/OpenROAD/blob/master/README.md|README.md]] mentions some tests. Run: <code> ./test/regression flow ctest --test-dir build -j 8 </code> === Build Results === Some collected build results: [[or_buildresults|OpenROAD Build Results]] openroad.txt Last modified: 2026/02/19 09:16by beckmanf