siliconcompiler 0.28.1__py3-none-any.whl → 0.28.3__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (140) hide show
  1. siliconcompiler/_common.py +12 -0
  2. siliconcompiler/_metadata.py +1 -1
  3. siliconcompiler/apps/sc_dashboard.py +5 -1
  4. siliconcompiler/apps/sc_install.py +240 -0
  5. siliconcompiler/apps/sc_remote.py +1 -1
  6. siliconcompiler/core.py +54 -13
  7. siliconcompiler/remote/client.py +41 -10
  8. siliconcompiler/report/__init__.py +1 -1
  9. siliconcompiler/report/{streamlit_report.py → dashboard/__init__.py} +47 -10
  10. siliconcompiler/report/dashboard/components/__init__.py +534 -0
  11. siliconcompiler/report/dashboard/components/flowgraph.py +114 -0
  12. siliconcompiler/report/dashboard/components/graph.py +208 -0
  13. siliconcompiler/report/dashboard/layouts/__init__.py +20 -0
  14. siliconcompiler/report/dashboard/layouts/_common.py +43 -0
  15. siliconcompiler/report/dashboard/layouts/vertical_flowgraph.py +95 -0
  16. siliconcompiler/report/dashboard/layouts/vertical_flowgraph_node_tab.py +114 -0
  17. siliconcompiler/report/dashboard/layouts/vertical_flowgraph_sac_tabs.py +107 -0
  18. siliconcompiler/report/dashboard/state.py +215 -0
  19. siliconcompiler/report/dashboard/utils/__init__.py +73 -0
  20. siliconcompiler/report/dashboard/utils/file_utils.py +120 -0
  21. siliconcompiler/report/dashboard/viewer.py +36 -0
  22. siliconcompiler/report/report.py +22 -4
  23. siliconcompiler/scheduler/__init__.py +43 -6
  24. siliconcompiler/schema/schema_obj.py +4 -2
  25. siliconcompiler/tools/_common/tcl/sc_pin_constraints.tcl +6 -5
  26. siliconcompiler/tools/openroad/floorplan.py +5 -0
  27. siliconcompiler/tools/openroad/openroad.py +12 -3
  28. siliconcompiler/tools/openroad/scripts/sc_cts.tcl +18 -13
  29. siliconcompiler/tools/openroad/scripts/sc_floorplan.tcl +6 -1
  30. siliconcompiler/tools/openroad/scripts/sc_metrics.tcl +1 -1
  31. siliconcompiler/tools/openroad/scripts/sc_procs.tcl +44 -16
  32. siliconcompiler/tools/openroad/scripts/sc_route.tcl +1 -1
  33. siliconcompiler/tools/openroad/scripts/sc_write_images.tcl +10 -10
  34. siliconcompiler/tools/opensta/scripts/sc_procs.tcl +3 -3
  35. siliconcompiler/tools/yosys/syn_asic.tcl +1 -1
  36. siliconcompiler/toolscripts/_tools.json +136 -0
  37. siliconcompiler/toolscripts/_tools.py +222 -0
  38. siliconcompiler/toolscripts/rhel8/install-chisel.sh +26 -0
  39. siliconcompiler/toolscripts/rhel8/install-ghdl.sh +25 -0
  40. siliconcompiler/toolscripts/rhel8/install-icarus.sh +40 -0
  41. siliconcompiler/toolscripts/rhel8/install-klayout.sh +17 -0
  42. siliconcompiler/toolscripts/rhel8/install-magic.sh +26 -0
  43. siliconcompiler/toolscripts/rhel8/install-montage.sh +5 -0
  44. siliconcompiler/toolscripts/rhel8/install-netgen.sh +25 -0
  45. siliconcompiler/toolscripts/rhel8/install-openroad.sh +31 -0
  46. siliconcompiler/toolscripts/rhel8/install-slang.sh +31 -0
  47. siliconcompiler/toolscripts/rhel8/install-surelog.sh +32 -0
  48. siliconcompiler/toolscripts/rhel8/install-sv2v.sh +27 -0
  49. siliconcompiler/toolscripts/rhel8/install-verible.sh +24 -0
  50. siliconcompiler/toolscripts/rhel8/install-verilator.sh +40 -0
  51. siliconcompiler/toolscripts/rhel8/install-xyce.sh +64 -0
  52. siliconcompiler/toolscripts/rhel8/install-yosys.sh +23 -0
  53. siliconcompiler/toolscripts/rhel9/install-chisel.sh +26 -0
  54. siliconcompiler/toolscripts/rhel9/install-ghdl.sh +25 -0
  55. siliconcompiler/toolscripts/rhel9/install-icarus.sh +40 -0
  56. siliconcompiler/toolscripts/rhel9/install-klayout.sh +17 -0
  57. siliconcompiler/toolscripts/rhel9/install-magic.sh +26 -0
  58. siliconcompiler/toolscripts/rhel9/install-montage.sh +5 -0
  59. siliconcompiler/toolscripts/rhel9/install-netgen.sh +25 -0
  60. siliconcompiler/toolscripts/rhel9/install-slang.sh +31 -0
  61. siliconcompiler/toolscripts/rhel9/install-surelog.sh +32 -0
  62. siliconcompiler/toolscripts/rhel9/install-sv2v.sh +27 -0
  63. siliconcompiler/toolscripts/rhel9/install-verible.sh +24 -0
  64. siliconcompiler/toolscripts/rhel9/install-verilator.sh +40 -0
  65. siliconcompiler/toolscripts/rhel9/install-xdm.sh +43 -0
  66. siliconcompiler/toolscripts/rhel9/install-xyce.sh +64 -0
  67. siliconcompiler/toolscripts/rhel9/install-yosys.sh +23 -0
  68. siliconcompiler/toolscripts/ubuntu20/install-bambu.sh +49 -0
  69. siliconcompiler/toolscripts/ubuntu20/install-bluespec.sh +35 -0
  70. siliconcompiler/toolscripts/ubuntu20/install-chisel.sh +26 -0
  71. siliconcompiler/toolscripts/ubuntu20/install-ghdl.sh +25 -0
  72. siliconcompiler/toolscripts/ubuntu20/install-icarus.sh +25 -0
  73. siliconcompiler/toolscripts/ubuntu20/install-icepack.sh +22 -0
  74. siliconcompiler/toolscripts/ubuntu20/install-klayout.sh +29 -0
  75. siliconcompiler/toolscripts/ubuntu20/install-magic.sh +24 -0
  76. siliconcompiler/toolscripts/ubuntu20/install-montage.sh +5 -0
  77. siliconcompiler/toolscripts/ubuntu20/install-netgen.sh +24 -0
  78. siliconcompiler/toolscripts/ubuntu20/install-nextpnr.sh +32 -0
  79. siliconcompiler/toolscripts/ubuntu20/install-openroad.sh +31 -0
  80. siliconcompiler/toolscripts/ubuntu20/install-slang.sh +38 -0
  81. siliconcompiler/toolscripts/ubuntu20/install-slurm.sh +32 -0
  82. siliconcompiler/toolscripts/ubuntu20/install-surelog.sh +30 -0
  83. siliconcompiler/toolscripts/ubuntu20/install-sv2v.sh +26 -0
  84. siliconcompiler/toolscripts/ubuntu20/install-verible.sh +24 -0
  85. siliconcompiler/toolscripts/ubuntu20/install-verilator.sh +34 -0
  86. siliconcompiler/toolscripts/ubuntu20/install-vpr.sh +27 -0
  87. siliconcompiler/toolscripts/ubuntu20/install-xdm.sh +40 -0
  88. siliconcompiler/toolscripts/ubuntu20/install-xyce.sh +65 -0
  89. siliconcompiler/toolscripts/ubuntu20/install-yosys.sh +24 -0
  90. siliconcompiler/toolscripts/ubuntu22/install-bambu.sh +49 -0
  91. siliconcompiler/toolscripts/ubuntu22/install-bluespec.sh +35 -0
  92. siliconcompiler/toolscripts/ubuntu22/install-chisel.sh +26 -0
  93. siliconcompiler/toolscripts/ubuntu22/install-ghdl.sh +25 -0
  94. siliconcompiler/toolscripts/ubuntu22/install-icarus.sh +25 -0
  95. siliconcompiler/toolscripts/ubuntu22/install-icepack.sh +22 -0
  96. siliconcompiler/toolscripts/ubuntu22/install-klayout.sh +29 -0
  97. siliconcompiler/toolscripts/ubuntu22/install-magic.sh +24 -0
  98. siliconcompiler/toolscripts/ubuntu22/install-montage.sh +5 -0
  99. siliconcompiler/toolscripts/ubuntu22/install-netgen.sh +24 -0
  100. siliconcompiler/toolscripts/ubuntu22/install-nextpnr.sh +32 -0
  101. siliconcompiler/toolscripts/ubuntu22/install-openroad.sh +31 -0
  102. siliconcompiler/toolscripts/ubuntu22/install-slang.sh +28 -0
  103. siliconcompiler/toolscripts/ubuntu22/install-slurm.sh +32 -0
  104. siliconcompiler/toolscripts/ubuntu22/install-surelog.sh +25 -0
  105. siliconcompiler/toolscripts/ubuntu22/install-sv2v.sh +26 -0
  106. siliconcompiler/toolscripts/ubuntu22/install-verible.sh +24 -0
  107. siliconcompiler/toolscripts/ubuntu22/install-verilator.sh +34 -0
  108. siliconcompiler/toolscripts/ubuntu22/install-vpr.sh +27 -0
  109. siliconcompiler/toolscripts/ubuntu22/install-xdm.sh +40 -0
  110. siliconcompiler/toolscripts/ubuntu22/install-xyce.sh +65 -0
  111. siliconcompiler/toolscripts/ubuntu22/install-yosys.sh +24 -0
  112. siliconcompiler/toolscripts/ubuntu24/install-bambu.sh +49 -0
  113. siliconcompiler/toolscripts/ubuntu24/install-bluespec.sh +35 -0
  114. siliconcompiler/toolscripts/ubuntu24/install-chisel.sh +26 -0
  115. siliconcompiler/toolscripts/ubuntu24/install-ghdl.sh +25 -0
  116. siliconcompiler/toolscripts/ubuntu24/install-icarus.sh +25 -0
  117. siliconcompiler/toolscripts/ubuntu24/install-icepack.sh +22 -0
  118. siliconcompiler/toolscripts/ubuntu24/install-klayout.sh +31 -0
  119. siliconcompiler/toolscripts/ubuntu24/install-magic.sh +24 -0
  120. siliconcompiler/toolscripts/ubuntu24/install-montage.sh +5 -0
  121. siliconcompiler/toolscripts/ubuntu24/install-netgen.sh +24 -0
  122. siliconcompiler/toolscripts/ubuntu24/install-nextpnr.sh +32 -0
  123. siliconcompiler/toolscripts/ubuntu24/install-openroad.sh +31 -0
  124. siliconcompiler/toolscripts/ubuntu24/install-slang.sh +28 -0
  125. siliconcompiler/toolscripts/ubuntu24/install-slurm.sh +32 -0
  126. siliconcompiler/toolscripts/ubuntu24/install-surelog.sh +25 -0
  127. siliconcompiler/toolscripts/ubuntu24/install-sv2v.sh +26 -0
  128. siliconcompiler/toolscripts/ubuntu24/install-verible.sh +24 -0
  129. siliconcompiler/toolscripts/ubuntu24/install-verilator.sh +34 -0
  130. siliconcompiler/toolscripts/ubuntu24/install-vpr.sh +27 -0
  131. siliconcompiler/toolscripts/ubuntu24/install-xdm.sh +40 -0
  132. siliconcompiler/toolscripts/ubuntu24/install-xyce.sh +65 -0
  133. siliconcompiler/toolscripts/ubuntu24/install-yosys.sh +24 -0
  134. {siliconcompiler-0.28.1.dist-info → siliconcompiler-0.28.3.dist-info}/METADATA +7 -6
  135. {siliconcompiler-0.28.1.dist-info → siliconcompiler-0.28.3.dist-info}/RECORD +139 -29
  136. {siliconcompiler-0.28.1.dist-info → siliconcompiler-0.28.3.dist-info}/entry_points.txt +1 -0
  137. siliconcompiler/report/streamlit_viewer.py +0 -944
  138. {siliconcompiler-0.28.1.dist-info → siliconcompiler-0.28.3.dist-info}/LICENSE +0 -0
  139. {siliconcompiler-0.28.1.dist-info → siliconcompiler-0.28.3.dist-info}/WHEEL +0 -0
  140. {siliconcompiler-0.28.1.dist-info → siliconcompiler-0.28.3.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,26 @@
1
+ #!/bin/sh
2
+
3
+ set -e
4
+
5
+ # Get directory of script
6
+ src_path=$(cd -- "$(dirname "$0")" >/dev/null 2>&1 ; pwd -P)/..
7
+
8
+ mkdir -p deps
9
+ cd deps
10
+
11
+ version=$(python3 ${src_path}/_tools.py --tool chisel --field version)
12
+
13
+ wget -O sbt.tgz https://github.com/sbt/sbt/releases/download/v${version}/sbt-${version}.tgz
14
+
15
+ args=
16
+ if [ ! -z ${PREFIX} ]; then
17
+ args="-C $PREFIX --strip-components 1"
18
+ fi
19
+
20
+ tar xvf sbt.tgz $args
21
+
22
+ cd -
23
+
24
+ if [ -z ${PREFIX} ]; then
25
+ echo "Please add \"export PATH="${src_path}/deps/sbt/bin:\$PATH"\" to your .bashrc"
26
+ fi
@@ -0,0 +1,25 @@
1
+ #!/bin/sh
2
+
3
+ set -e
4
+
5
+ # Get directory of script
6
+ src_path=$(cd -- "$(dirname "$0")" >/dev/null 2>&1 ; pwd -P)/..
7
+
8
+ sudo yum install -y gcc-gnat zlib-devel diffutils
9
+
10
+ mkdir -p deps
11
+ cd deps
12
+
13
+ git clone $(python3 ${src_path}/_tools.py --tool ghdl --field git-url) ghdl
14
+ cd ghdl
15
+ git checkout $(python3 ${src_path}/_tools.py --tool ghdl --field git-commit)
16
+
17
+ args=
18
+ if [ ! -z ${PREFIX} ]; then
19
+ args=--prefix="$PREFIX"
20
+ fi
21
+
22
+ ./configure $args
23
+ make -j$(nproc)
24
+ sudo make install
25
+ cd -
@@ -0,0 +1,40 @@
1
+ #!/bin/sh
2
+
3
+ set -e
4
+
5
+ # Get directory of script
6
+ src_path=$(cd -- "$(dirname "$0")" >/dev/null 2>&1 ; pwd -P)/..
7
+
8
+ sudo yum group install -y "Development Tools"
9
+
10
+ args=
11
+ if [ ! -z ${PREFIX} ]; then
12
+ args=--prefix="$PREFIX"
13
+ fi
14
+
15
+ mkdir -p deps
16
+ cd deps
17
+
18
+ wget http://ftp.gnu.org/pub/gnu/gperf/gperf-3.1.tar.gz
19
+ tar xvf gperf-3.1.tar.gz
20
+ cd gperf-3.1
21
+ ./configure $args
22
+ make -j$(nproc)
23
+ sudo make install
24
+ cd ..
25
+
26
+ if [ ! -z ${PREFIX} ]; then
27
+ export PATH="${PREFIX}/bin:$PATH"
28
+ export LD_LIBRARY_PATH="${PREFIX}/lib:$LD_LIBRARY_PATH"
29
+ fi
30
+
31
+ git clone $(python3 ${src_path}/_tools.py --tool icarus --field git-url) icarus
32
+ cd icarus
33
+ git checkout $(python3 ${src_path}/_tools.py --tool icarus --field git-commit)
34
+
35
+ sh autoconf.sh
36
+ ./configure $args
37
+ make -j$(nproc)
38
+ sudo make install
39
+
40
+ cd -
@@ -0,0 +1,17 @@
1
+ #!/bin/sh
2
+
3
+ set -e
4
+
5
+ # Get directory of script
6
+ src_path=$(cd -- "$(dirname "$0")" >/dev/null 2>&1 ; pwd -P)/..
7
+
8
+ mkdir -p deps
9
+ cd deps
10
+
11
+ klayout_version=$(python3 ${src_path}/_tools.py --tool klayout --field version)
12
+ wget --no-check-certificate \
13
+ -O klayout.rpm \
14
+ "https://www.klayout.org/downloads/RockyLinux_9/klayout-${klayout_version}-0.x86_64.rpm"
15
+ sudo yum install -y ./klayout.rpm
16
+
17
+ cd -
@@ -0,0 +1,26 @@
1
+ #!/bin/sh
2
+
3
+ set -e
4
+
5
+ # Get directory of script
6
+ src_path=$(cd -- "$(dirname "$0")" >/dev/null 2>&1 ; pwd -P)/..
7
+
8
+ sudo yum group install -y "Development Tools"
9
+ sudo yum install -y tcl-devel tk-devel tcsh csh
10
+ # sudo apt-get install -y build-essential m4 tcsh csh libx11-dev tcl-dev tk-dev
11
+
12
+ mkdir -p deps
13
+ cd deps
14
+
15
+ git clone $(python3 ${src_path}/_tools.py --tool magic --field git-url) magic
16
+ cd magic
17
+ git checkout $(python3 ${src_path}/_tools.py --tool magic --field git-commit)
18
+
19
+ args=
20
+ if [ ! -z ${PREFIX} ]; then
21
+ args=--prefix="$PREFIX"
22
+ fi
23
+
24
+ LD_FLAGS=-shared ./configure $args
25
+ make -j$(nproc)
26
+ sudo make install
@@ -0,0 +1,5 @@
1
+ #!/bin/sh
2
+
3
+ set -e
4
+
5
+ sudo yum install -y ImageMagick
@@ -0,0 +1,25 @@
1
+ #!/bin/sh
2
+
3
+ set -e
4
+
5
+ # Get directory of script
6
+ src_path=$(cd -- "$(dirname "$0")" >/dev/null 2>&1 ; pwd -P)/..
7
+
8
+ sudo yum group install -y "Development Tools"
9
+ sudo yum install -y tcl-devel tk-devel
10
+
11
+ mkdir -p deps
12
+ cd deps
13
+
14
+ git clone $(python3 ${src_path}/_tools.py --tool netgen --field git-url) netgen
15
+ cd netgen
16
+ git checkout $(python3 ${src_path}/_tools.py --tool netgen --field git-commit)
17
+
18
+ args=
19
+ if [ ! -z ${PREFIX} ]; then
20
+ args=--prefix="$PREFIX"
21
+ fi
22
+
23
+ ./configure $args
24
+ make -j$(nproc)
25
+ sudo make install
@@ -0,0 +1,31 @@
1
+ #!/bin/sh
2
+
3
+ set -e
4
+
5
+ # Get directory of script
6
+ src_path=$(cd -- "$(dirname "$0")" >/dev/null 2>&1 ; pwd -P)/..
7
+
8
+ mkdir -p deps
9
+ cd deps
10
+
11
+ python3 -m venv .slang --clear
12
+ . .slang/bin/activate
13
+ python3 -m pip install --upgrade pip
14
+ python3 -m pip install cmake
15
+
16
+ sudo yum install -y gcc-toolset-12
17
+
18
+ git clone $(python3 ${src_path}/_tools.py --tool slang --field git-url) slang
19
+ cd slang
20
+ git checkout $(python3 ${src_path}/_tools.py --tool slang --field git-commit)
21
+
22
+ cfg_args=""
23
+ if [ ! -z ${PREFIX} ]; then
24
+ cfg_args="--prefix=$PREFIX"
25
+ fi
26
+
27
+ scl run gcc-toolset-12 "cmake -B build"
28
+ scl run gcc-toolset-12 "cmake --build build -j$(nproc)"
29
+ scl run gcc-toolset-12 "cmake --install build --strip $cfg_args"
30
+
31
+ cd -
@@ -0,0 +1,32 @@
1
+ #!/bin/sh
2
+
3
+ set -e
4
+
5
+ # Get directory of script
6
+ src_path=$(cd -- "$(dirname "$0")" >/dev/null 2>&1 ; pwd -P)/..
7
+
8
+ # These dependencies are up-to-date with instructions from the INSTALL.md from the commit we are pinned to below
9
+ sudo yum install -y gcc-toolset-12
10
+ sudo dnf config-manager --set-enabled devel || true
11
+ sudo yum install -y libuuid-devel java-11-openjdk-devel python3 zlib-static openssl-devel
12
+ sudo dnf config-manager --set-disabled devel || true
13
+
14
+ mkdir -p deps
15
+ cd deps
16
+
17
+ python3 -m venv .surelog --clear
18
+ . .surelog/bin/activate
19
+ python3 -m pip install --upgrade pip
20
+ python3 -m pip install cmake
21
+ python3 -m pip install orderedmultidict
22
+
23
+ git clone $(python3 ${src_path}/_tools.py --tool surelog --field git-url) surelog
24
+ cd surelog
25
+ git checkout $(python3 ${src_path}/_tools.py --tool surelog --field git-commit)
26
+ git submodule update --init --recursive
27
+
28
+ scl run gcc-toolset-12 "LDFLAGS=\"-lrt\" make -j$(nproc)"
29
+
30
+ sudo -E PATH="$PATH" make install
31
+
32
+ cd -
@@ -0,0 +1,27 @@
1
+ #!/bin/sh
2
+
3
+ set -e
4
+
5
+ # Get directory of script
6
+ src_path=$(cd -- "$(dirname "$0")" >/dev/null 2>&1 ; pwd -P)/..
7
+
8
+ mkdir -p deps
9
+ cd deps
10
+
11
+ sudo yum group install -y "Development Tools"
12
+ sudo yum install -y gmp-devel xz
13
+
14
+ curl -sSL https://get.haskellstack.org/ | sh -s - -f
15
+
16
+ git clone $(python3 ${src_path}/_tools.py --tool sv2v --field git-url) sv2v
17
+ cd sv2v
18
+ git checkout $(python3 ${src_path}/_tools.py --tool sv2v --field git-commit)
19
+
20
+ make -j$(nproc)
21
+
22
+ if [ ! -z ${PREFIX} ]; then
23
+ sudo mkdir -p ${PREFIX}/bin/
24
+ sudo cp bin/* ${PREFIX}/bin/
25
+ fi
26
+
27
+ cd -
@@ -0,0 +1,24 @@
1
+ #!/bin/sh
2
+
3
+ set -e
4
+
5
+ # Get directory of script
6
+ src_path=$(cd -- "$(dirname "$0")" >/dev/null 2>&1 ; pwd -P)/..
7
+
8
+ mkdir -p deps
9
+ cd deps
10
+
11
+ version=$(python3 ${src_path}/_tools.py --tool verible --field version)
12
+ filename=verible-$version-linux-static-x86_64.tar.gz
13
+
14
+ wget https://github.com/chipsalliance/verible/releases/download/$version/$filename
15
+
16
+ tar xzf $filename
17
+
18
+ if [ -z ${PREFIX} ]; then
19
+ PREFIX=/opt/verible
20
+ sudo mkdir -p $PREFIX
21
+ echo "Please add \"export PATH="/opt/verible/bin:\$PATH"\" to your .bashrc"
22
+ fi
23
+
24
+ sudo mv verible-$version/* $PREFIX
@@ -0,0 +1,40 @@
1
+ #!/bin/sh
2
+
3
+ set -e
4
+
5
+ # Get directory of script
6
+ src_path=$(cd -- "$(dirname "$0")" >/dev/null 2>&1 ; pwd -P)/..
7
+
8
+ sudo yum group install -y "Development Tools"
9
+
10
+ mkdir -p deps
11
+ cd deps
12
+
13
+ args=
14
+ if [ ! -z ${PREFIX} ]; then
15
+ args=--prefix="$PREFIX"
16
+ fi
17
+
18
+ wget https://ftp.wayne.edu/gnu/help2man/help2man-1.43.3.tar.gz
19
+ tar xvf help2man-1.43.3.tar.gz
20
+ cd help2man-1.43.3
21
+
22
+ ./configure $args
23
+ make -j$(nproc)
24
+ sudo make install
25
+
26
+ cd ..
27
+
28
+ unset VERILATOR_ROOT
29
+
30
+ git clone $(python3 ${src_path}/_tools.py --tool verilator --field git-url) verilator
31
+ cd verilator
32
+ git checkout $(python3 ${src_path}/_tools.py --tool verilator --field git-commit)
33
+
34
+ autoconf
35
+
36
+ ./configure $args
37
+ make -j$(nproc)
38
+ sudo make install
39
+
40
+ cd -
@@ -0,0 +1,43 @@
1
+ #!/bin/sh
2
+
3
+ set -e
4
+
5
+ # Get directory of script
6
+ src_path=$(cd -- "$(dirname "$0")" >/dev/null 2>&1 ; pwd -P)/..
7
+
8
+ sudo yum group install -y "Development Tools" --exclude "python3*" --skip-broken
9
+ sudo dnf config-manager --set-enabled devel || true
10
+ sudo yum install -y boost boost-python3-devel cmake python-devel
11
+ dnf config-manager --set-disabled devel || true
12
+
13
+ mkdir -p deps
14
+ cd deps
15
+
16
+ if [ -z ${PREFIX} ]; then
17
+ PREFIX=~/.local
18
+ fi
19
+
20
+ # Download XDM
21
+ git clone $(python3 ${src_path}/_tools.py --tool xdm --field git-url) xdm
22
+ cd xdm
23
+ git checkout $(python3 ${src_path}/_tools.py --tool xdm --field git-commit)
24
+
25
+ mkdir -p build
26
+ cd build
27
+
28
+ python3 -m venv venv
29
+ . ./venv/bin/activate
30
+ python3 -m pip install --upgrade pip
31
+ python3 -m pip install PyInstaller
32
+
33
+ args=
34
+ if [ ! -z ${PREFIX} ]; then
35
+ args="-DCMAKE_INSTALL_PREFIX=$PREFIX"
36
+ fi
37
+
38
+ cmake .. $args
39
+ make -j$(nproc)
40
+
41
+ sudo make install
42
+
43
+ cd -
@@ -0,0 +1,64 @@
1
+ #!/bin/sh
2
+
3
+ set -e
4
+
5
+ # Get directory of script
6
+ src_path=$(cd -- "$(dirname "$0")" >/dev/null 2>&1 ; pwd -P)/..
7
+
8
+ mkdir -p deps
9
+ cd deps
10
+
11
+ if [ -z ${PREFIX} ]; then
12
+ PREFIX=~/.local
13
+ fi
14
+
15
+ sudo dnf config-manager --set-enabled devel || true
16
+ # Install core dependencies.
17
+ sudo yum install -y gcc gcc-c++ gcc-gfortran blas blas-devel \
18
+ cmake lapack lapack-devel bison flex fftw-devel fftw \
19
+ suitesparse suitesparse-devel autoconf automake libtool \
20
+ git
21
+ sudo dnf config-manager --set-disabled devel || true
22
+
23
+ # Download Trilinos
24
+ ## Version specified in: https://github.com/Xyce/Xyce/blob/master/INSTALL.md#building-trilinos
25
+ trilinos_version=14-4-0
26
+ wget https://github.com/trilinos/Trilinos/archive/refs/tags/trilinos-release-${trilinos_version}.tar.gz -O trilinos.tar.gz
27
+ mkdir -p trilinos
28
+ tar --strip-components=1 -xf trilinos.tar.gz -C trilinos
29
+ rm trilinos.tar.gz
30
+
31
+ # Download Xyce (note that this is needed to build Trilinos)
32
+ xyce_version=$(python3 ${src_path}/_tools.py --tool xyce --field version)
33
+ wget https://github.com/Xyce/Xyce/archive/refs/tags/Release-${xyce_version}.tar.gz -O xyce.tar.gz
34
+ mkdir -p xyce
35
+ tar --strip-components=1 -xf xyce.tar.gz -C xyce
36
+ rm xyce.tar.gz
37
+ XYCE_DIR=$(realpath xyce)
38
+
39
+ # Build Trilinos
40
+ cd trilinos
41
+ mkdir build
42
+ cd build
43
+ cmake \
44
+ -D CMAKE_INSTALL_PREFIX="$PREFIX/trilinos" \
45
+ -D AMD_LIBRARY_DIRS="/usr/lib" \
46
+ -D TPL_AMD_INCLUDE_DIRS="/usr/include/suitesparse" \
47
+ -C "$XYCE_DIR/cmake/trilinos/trilinos-base.cmake" \
48
+ ..
49
+ cmake --build . -j$(nproc) -t install
50
+ cd ../..
51
+
52
+ # Build Xyce
53
+ cd xyce
54
+ mkdir build
55
+ cd build
56
+ cmake \
57
+ -D CMAKE_INSTALL_PREFIX="$PREFIX" \
58
+ -D Trilinos_ROOT=$PREFIX/trilinos \
59
+ -D BUILD_SHARED_LIBS=ON \
60
+ ..
61
+ cmake --build . -j$(nproc)
62
+ cmake --build . -j$(nproc) --target xycecinterface
63
+ sudo make install
64
+ cd -
@@ -0,0 +1,23 @@
1
+ #!/bin/bash
2
+
3
+ set -e
4
+
5
+ # Get directory of script
6
+ src_path=$(cd -- "$(dirname "$0")" >/dev/null 2>&1 ; pwd -P)/..
7
+
8
+ # From: https://github.com/YosysHQ/yosys/blob/f2c689403ace0637b7455bac8f1e8d4bc312e74f/README.md
9
+ sudo yum group install -y "Development Tools"
10
+ sudo yum install -y bison flex readline-devel gawk \
11
+ tcl-devel libffi-devel zlib-devel boost-devel
12
+
13
+ mkdir -p deps
14
+ cd deps
15
+
16
+ git clone $(python3 ${src_path}/_tools.py --tool yosys --field git-url) yosys
17
+ cd yosys
18
+ git checkout $(python3 ${src_path}/_tools.py --tool yosys --field git-commit)
19
+ git submodule update --init --recursive
20
+
21
+ make -j$(nproc)
22
+ sudo make install PREFIX="$PREFIX"
23
+ cd -
@@ -0,0 +1,49 @@
1
+ #!/bin/sh
2
+
3
+ set -e
4
+
5
+ # Get directory of script
6
+ src_path=$(cd -- "$(dirname "$0")" >/dev/null 2>&1 ; pwd -P)/..
7
+
8
+ sudo apt-get install -y autoconf autoconf-archive automake libtool \
9
+ libbdd-dev libboost-all-dev libmpc-dev libmpfr-dev \
10
+ libxml2-dev liblzma-dev libmpfi-dev zlib1g-dev libicu-dev bison doxygen flex \
11
+ graphviz iverilog verilator make libsuitesparse-dev libglpk-dev libgmp-dev \
12
+ libfl-dev
13
+ sudo apt-get install -y \
14
+ gcc-8 gcc-8-multilib g++-8 g++-8-multilib \
15
+ llvm-8 llvm-8-dev libllvm8 \
16
+ gfortran-8 gfortran-8-multilib \
17
+ clang-8 libclang-8-dev
18
+
19
+ mkdir -p deps
20
+ cd deps
21
+
22
+ git clone $(python3 ${src_path}/_tools.py --tool bambu --field git-url) bambu
23
+ cd bambu
24
+ git checkout $(python3 ${src_path}/_tools.py --tool bambu --field git-commit)
25
+ git submodule update --init --recursive
26
+
27
+ if [ ! -z ${PREFIX} ]; then
28
+ args=--prefix="$PREFIX"
29
+ else
30
+ args=--prefix=/opt/panda
31
+
32
+ sudo mkdir -p /opt/panda
33
+ sudo chown $USER:$USER /opt/panda
34
+ fi
35
+
36
+ make -f Makefile.init
37
+
38
+ mkdir obj
39
+ cd obj
40
+
41
+ ../configure --enable-release --disable-flopoco --with-opt-level=2 $args
42
+ make -j$(nproc)
43
+ make install
44
+
45
+ cd -
46
+
47
+ if [ -z ${PREFIX} ]; then
48
+ echo "Please add \"export PATH="/opt/panda/bin:\$PATH"\" to your .bashrc"
49
+ fi
@@ -0,0 +1,35 @@
1
+ #!/bin/sh
2
+
3
+ set -e
4
+
5
+ # Get directory of script
6
+ src_path=$(cd -- "$(dirname "$0")" >/dev/null 2>&1 ; pwd -P)/..
7
+
8
+ sudo apt-get install -y ghc libghc-regex-compat-dev libghc-syb-dev \
9
+ libghc-old-time-dev libghc-split-dev tcl-dev build-essential pkg-config \
10
+ autoconf gperf flex bison
11
+
12
+ mkdir -p deps
13
+ cd deps
14
+
15
+ git clone $(python3 ${src_path}/_tools.py --tool bluespec --field git-url) bluespec
16
+ cd bluespec
17
+ git checkout $(python3 ${src_path}/_tools.py --tool bluespec --field git-commit)
18
+ git submodule update --init --recursive
19
+
20
+ make -j$(nproc) install-src
21
+
22
+ if [ -z ${PREFIX} ]; then
23
+ # install
24
+ sudo mkdir -p /opt/tools/bsc
25
+ sudo chown $USER:$USER /opt/tools/bsc
26
+
27
+ BSC_VERSION=$(echo 'puts [lindex [Bluetcl::version] 0]' | inst/bin/bluetcl)
28
+ mv inst /opt/tools/bsc/bsc-${BSC_VERSION}
29
+ ln -s /opt/tools/bsc/bsc-${BSC_VERSION} /opt/tools/bsc/latest
30
+
31
+ echo "Please add \"export PATH=/opt/tools/bsc/latest/bin:\$PATH to your .bashrc"
32
+ fi
33
+
34
+ cd -
35
+
@@ -0,0 +1,26 @@
1
+ #!/bin/sh
2
+
3
+ set -e
4
+
5
+ # Get directory of script
6
+ src_path=$(cd -- "$(dirname "$0")" >/dev/null 2>&1 ; pwd -P)/..
7
+
8
+ mkdir -p deps
9
+ cd deps
10
+
11
+ version=$(python3 ${src_path}/_tools.py --tool chisel --field version)
12
+
13
+ wget -O sbt.tgz https://github.com/sbt/sbt/releases/download/v${version}/sbt-${version}.tgz
14
+
15
+ args=
16
+ if [ ! -z ${PREFIX} ]; then
17
+ args="-C $PREFIX --strip-components 1"
18
+ fi
19
+
20
+ tar xvf sbt.tgz $args
21
+
22
+ cd -
23
+
24
+ if [ -z ${PREFIX} ]; then
25
+ echo "Please add \"export PATH="${src_path}/deps/sbt/bin:\$PATH"\" to your .bashrc"
26
+ fi
@@ -0,0 +1,25 @@
1
+ #!/bin/sh
2
+
3
+ set -e
4
+
5
+ # Get directory of script
6
+ src_path=$(cd -- "$(dirname "$0")" >/dev/null 2>&1 ; pwd -P)/..
7
+
8
+ sudo apt-get install -y gnat libgnat-9 libz-dev
9
+
10
+ mkdir -p deps
11
+ cd deps
12
+
13
+ git clone $(python3 ${src_path}/_tools.py --tool ghdl --field git-url) ghdl
14
+ cd ghdl
15
+ git checkout $(python3 ${src_path}/_tools.py --tool ghdl --field git-commit)
16
+
17
+ args=
18
+ if [ ! -z ${PREFIX} ]; then
19
+ args=--prefix="$PREFIX"
20
+ fi
21
+
22
+ ./configure $args
23
+ make -j$(nproc)
24
+ sudo make install
25
+ cd -
@@ -0,0 +1,25 @@
1
+ #!/bin/sh
2
+
3
+ set -e
4
+
5
+ # Get directory of script
6
+ src_path=$(cd -- "$(dirname "$0")" >/dev/null 2>&1 ; pwd -P)/..
7
+
8
+ sudo apt-get install -y build-essential bison flex gperf libreadline-dev libncurses-dev
9
+
10
+ mkdir -p deps
11
+ cd deps
12
+
13
+ git clone $(python3 ${src_path}/_tools.py --tool icarus --field git-url) icarus
14
+ cd icarus
15
+ git checkout $(python3 ${src_path}/_tools.py --tool icarus --field git-commit)
16
+
17
+ args=
18
+ if [ ! -z ${PREFIX} ]; then
19
+ args=--prefix="$PREFIX"
20
+ fi
21
+
22
+ sh autoconf.sh
23
+ ./configure $args
24
+ make -j$(nproc)
25
+ sudo make install
@@ -0,0 +1,22 @@
1
+ #!/bin/sh
2
+
3
+ set -e
4
+
5
+ # Get directory of script
6
+ src_path=$(cd -- "$(dirname "$0")" >/dev/null 2>&1 ; pwd -P)/..
7
+
8
+ sudo apt-get install -y build-essential clang bison flex libreadline-dev \
9
+ gawk tcl-dev libffi-dev git mercurial graphviz \
10
+ xdot pkg-config python python3 libftdi-dev \
11
+ qt5-default python3-dev libboost-all-dev cmake libeigen3-dev
12
+
13
+ mkdir -p deps
14
+ cd deps
15
+
16
+ git clone $(python3 ${src_path}/_tools.py --tool icepack --field git-url) icepack
17
+ cd icepack
18
+ git checkout $(python3 ${src_path}/_tools.py --tool icepack --field git-commit)
19
+
20
+ make -j$(nproc)
21
+ sudo make install PREFIX="$PREFIX"
22
+ cd -
@@ -0,0 +1,29 @@
1
+ #!/bin/sh
2
+
3
+ set -e
4
+
5
+ # Get directory of script
6
+ src_path=$(cd -- "$(dirname "$0")" >/dev/null 2>&1 ; pwd -P)/..
7
+
8
+ mkdir -p deps
9
+ cd deps
10
+
11
+ pkg_version=$(python3 ${src_path}/_tools.py --tool klayout --field version)
12
+ version=$(lsb_release -sr)
13
+
14
+ if [ "$version" = "18.04" ]; then
15
+ url="https://www.klayout.org/downloads/Ubuntu-18/klayout_${pkg_version}-1_amd64.deb"
16
+ elif [ "$version" = "20.04" ]; then
17
+ url="https://www.klayout.org/downloads/Ubuntu-20/klayout_${pkg_version}-1_amd64.deb"
18
+ elif [ "$version" = "22.04" ]; then
19
+ url="https://www.klayout.org/downloads/Ubuntu-22/klayout_${pkg_version}-1_amd64.deb"
20
+ else
21
+ echo "Script doesn't support Ubuntu version $version."
22
+ fi
23
+
24
+ # Fetch package
25
+ wget -O klayout.deb $url
26
+ # Install package
27
+ sudo apt-get install -y ./klayout.deb
28
+
29
+ cd -