Skip to content

Commit

Permalink
Latest OpenROAD so Karim Can Test Something I Guess
Browse files Browse the repository at this point in the history
  • Loading branch information
donn committed Sep 18, 2024
1 parent 3da3492 commit dd51e55
Show file tree
Hide file tree
Showing 5 changed files with 39 additions and 39 deletions.
4 changes: 2 additions & 2 deletions default.nix
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@
libparse,
magic-vlsi,
netgen,
opensta-stable,
opensta,
openroad,
ruby,
surelog,
Expand Down Expand Up @@ -77,7 +77,7 @@
yosys-f4pga-sdc
]
++ lib.optionals (system == "x86_64-linux") [yosys-ghdl]))
opensta-stable
opensta
openroad
klayout
netgen
Expand Down
6 changes: 3 additions & 3 deletions flake.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

8 changes: 3 additions & 5 deletions flake.nix
Original file line number Diff line number Diff line change
Expand Up @@ -69,12 +69,10 @@
});
colab-env = callPackage ./nix/colab-env.nix {};
opensta = callPackage ./nix/opensta.nix {};
opensta-stable = callPackage ./nix/opensta.nix {
rev = "cc9eb1f12a0d5030aebc1f1428e4300480e30b40";
sha256 = "sha256-/ShPD4xWq3lkN0Z3uONKm7i9eqbT+IU41UF7yIvDJy4=";
};
openroad-abc = callPackage ./nix/openroad-abc.nix {};
openroad = callPythonPackage ./nix/openroad.nix {};
openroad = callPythonPackage ./nix/openroad.nix {
inherit (nix-eda) buildPythonEnvForInterpreter;
};
openlane = callPythonPackage ./default.nix {};
sphinx-tippy = callPythonPackage ./nix/sphinx-tippy.nix {};
sphinx-subfigure = callPythonPackage ./nix/sphinx-subfigure.nix {};
Expand Down
51 changes: 25 additions & 26 deletions nix/openroad.nix
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,8 @@
opensta,
boost183,
eigen,
cudd,
ninja,
tcl,
python3,
readline,
Expand All @@ -41,20 +43,12 @@
flex,
bison,
clang-tools_14,
ioplace-parser,
rev ? "b16bda7e82721d10566ff7e2b68f1ff0be9f9e38",
sha256 ? "sha256-+JGyX81Km2XidptA3k1Y5ZPwv+4Ed39LCsPfIHWd6ac=",
}: let
pyenv = python3.withPackages (p:
with p; [
click
rich
pyyaml
ioplace-parser
]);
pyenv-sitepackages = "${pyenv}/${pyenv.sitePackages}";
in
clangStdenv.mkDerivation (finalAttrs: {
buildEnv,
makeBinaryWrapper,
buildPythonEnvForInterpreter,
rev ? "b061a21c943fadaca8f972a73f802eca15449935",
sha256 ? "sha256-VRJEfCPml1nDZ4AINjKfyrxBKofMf9TjytPFfVIFRTY=",
}: let self = clangStdenv.mkDerivation (finalAttrs: {
name = "openroad";
inherit rev;

Expand All @@ -69,9 +63,7 @@ in
"-DTCL_LIBRARY=${tcl}/lib/libtcl${clangStdenv.hostPlatform.extensions.sharedLibrary}"
"-DTCL_HEADER=${tcl}/include/tcl.h"
"-DUSE_SYSTEM_BOOST:BOOL=ON"
"-DCMAKE_CXX_FLAGS=-I${openroad-abc}/include"
"-DENABLE_TESTS:BOOL=OFF"
"-DVERBOSE=1"
];

cmakeFlags =
Expand All @@ -80,25 +72,25 @@ in
"-DUSE_SYSTEM_ABC:BOOL=ON"
"-DUSE_SYSTEM_OPENSTA:BOOL=ON"
"-DOPENSTA_HOME=${opensta}"
"-DCMAKE_CXX_FLAGS=-I${eigen}/include/eigen3"
"-DABC_LIBRARY=${openroad-abc}/lib/libabc.a"
];

preConfigure = ''
sed -i "s/GITDIR-NOTFOUND/${rev}/" ./cmake/GetGitRevisionDescription.cmake
patchShebangs ./etc/find_messages.py
sed -i 's@#include "base/abc/abc.h"@#include <base/abc/abc.h>@' src/rmp/src/Restructure.cpp
sed -i 's@#include "base/main/abcapis.h"@#include <base/main/abcapis.h>@' src/rmp/src/Restructure.cpp
sed -i 's@# tclReadline@target_link_libraries(openroad readline)@' src/CMakeLists.txt
sed -i 's@%include "../../src/Exception.i"@%include "../../Exception.i"@' src/dbSta/src/dbSta.i
sed -i 's@''${TCL_LIBRARY}@''${TCL_LIBRARY}\n${cudd}/lib/libcudd.a@' src/CMakeLists.txt
'';

buildInputs = [
openroad-abc
boost183
eigen
cudd
tcl
pyenv
python3
readline
tclreadline
spdlog-internal-fmt
Expand All @@ -121,6 +113,7 @@ in
swig4
pkg-config
cmake
ninja
gnumake
flex
bison
Expand All @@ -131,10 +124,16 @@ in
shellHook = ''
export DEVSHELL_CMAKE_FLAGS="${builtins.concatStringsSep " " finalAttrs.cmakeFlagsAll}"
'';

qtWrapperArgs = [
"--prefix PYTHONPATH : ${pyenv-sitepackages}"
];

passthru = {
inherit python3;
withPythonPackages = buildPythonEnvForInterpreter {
target = self;
inherit lib;
inherit buildEnv;
inherit makeBinaryWrapper;
};
};

meta = with lib; {
description = "OpenROAD's unified application implementing an RTL-to-GDS flow";
Expand All @@ -144,4 +143,4 @@ in
license = licenses.gpl3Plus;
platforms = platforms.linux ++ platforms.darwin;
};
})
}); in self
9 changes: 6 additions & 3 deletions nix/opensta.nix
Original file line number Diff line number Diff line change
Expand Up @@ -22,10 +22,12 @@
flex,
bison,
tcl,
tclreadline,
zlib,
cudd,
eigen,
rev ? "e01d3f163f483f233db00410b6515a767a6ca03b",
sha256 ? "sha256-0LbY5RcM+11oV3iPfAUd7hpyFPwCfCjnG0EE1LkXg5E=",
rev ? "20925bb00965c1199c45aca0318c2baeb4042c5a",
sha256 ? "sha256-gWAN+d6ioxQtxtgeq3vR+Zgq3nYRyn/u104L/xqumuY=",
}:
clangStdenv.mkDerivation (finalAttrs: {
name = "opensta";
Expand All @@ -46,6 +48,8 @@ clangStdenv.mkDerivation (finalAttrs: {
buildInputs = [
eigen
tcl
tclreadline
cudd
zlib
];

Expand Down Expand Up @@ -78,7 +82,6 @@ clangStdenv.mkDerivation (finalAttrs: {
meta = with lib; {
description = "Gate-level static timing verifier";
homepage = "https://parallaxsw.com";
mainProgram = "sta";
license = licenses.gpl3Plus;
platforms = platforms.darwin ++ platforms.linux;
};
Expand Down

0 comments on commit dd51e55

Please sign in to comment.