siliconcompiler 0.28.0__py3-none-any.whl → 0.28.2__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 (94) hide show
  1. siliconcompiler/_metadata.py +1 -1
  2. siliconcompiler/apps/sc_install.py +192 -0
  3. siliconcompiler/core.py +15 -0
  4. siliconcompiler/flows/dvflow.py +51 -14
  5. siliconcompiler/libs/sg13g2_stdcell.py +8 -0
  6. siliconcompiler/pdks/ihp130.py +8 -0
  7. siliconcompiler/schema/schema_cfg.py +2 -2
  8. siliconcompiler/targets/ihp130_demo.py +68 -0
  9. siliconcompiler/tools/_common/tcl/sc_pin_constraints.tcl +6 -5
  10. siliconcompiler/tools/openroad/scripts/sc_floorplan.tcl +1 -5
  11. siliconcompiler/tools/openroad/scripts/sc_metrics.tcl +1 -1
  12. siliconcompiler/tools/openroad/scripts/sc_procs.tcl +42 -16
  13. siliconcompiler/tools/openroad/scripts/sc_route.tcl +1 -1
  14. siliconcompiler/tools/openroad/scripts/sc_write_images.tcl +10 -10
  15. siliconcompiler/tools/opensta/scripts/sc_procs.tcl +3 -3
  16. siliconcompiler/tools/xdm/__init__.py +28 -0
  17. siliconcompiler/tools/xdm/convert.py +71 -0
  18. siliconcompiler/tools/xyce/__init__.py +40 -0
  19. siliconcompiler/tools/xyce/simulate.py +70 -0
  20. siliconcompiler/tools/yosys/syn_asic.tcl +1 -1
  21. siliconcompiler/toolscripts/_tools.json +131 -0
  22. siliconcompiler/toolscripts/_tools.py +222 -0
  23. siliconcompiler/toolscripts/ubuntu20/install-bambu.sh +49 -0
  24. siliconcompiler/toolscripts/ubuntu20/install-bluespec.sh +35 -0
  25. siliconcompiler/toolscripts/ubuntu20/install-chisel.sh +26 -0
  26. siliconcompiler/toolscripts/ubuntu20/install-ghdl.sh +25 -0
  27. siliconcompiler/toolscripts/ubuntu20/install-icarus.sh +25 -0
  28. siliconcompiler/toolscripts/ubuntu20/install-icepack.sh +22 -0
  29. siliconcompiler/toolscripts/ubuntu20/install-klayout.sh +29 -0
  30. siliconcompiler/toolscripts/ubuntu20/install-magic.sh +24 -0
  31. siliconcompiler/toolscripts/ubuntu20/install-montage.sh +5 -0
  32. siliconcompiler/toolscripts/ubuntu20/install-netgen.sh +24 -0
  33. siliconcompiler/toolscripts/ubuntu20/install-nextpnr.sh +32 -0
  34. siliconcompiler/toolscripts/ubuntu20/install-openroad.sh +31 -0
  35. siliconcompiler/toolscripts/ubuntu20/install-slang.sh +38 -0
  36. siliconcompiler/toolscripts/ubuntu20/install-slurm.sh +32 -0
  37. siliconcompiler/toolscripts/ubuntu20/install-surelog.sh +30 -0
  38. siliconcompiler/toolscripts/ubuntu20/install-sv2v.sh +26 -0
  39. siliconcompiler/toolscripts/ubuntu20/install-verible.sh +24 -0
  40. siliconcompiler/toolscripts/ubuntu20/install-verilator.sh +34 -0
  41. siliconcompiler/toolscripts/ubuntu20/install-vpr.sh +27 -0
  42. siliconcompiler/toolscripts/ubuntu20/install-xyce.sh +65 -0
  43. siliconcompiler/toolscripts/ubuntu20/install-yosys.sh +24 -0
  44. siliconcompiler/toolscripts/ubuntu22/install-bambu.sh +49 -0
  45. siliconcompiler/toolscripts/ubuntu22/install-bluespec.sh +35 -0
  46. siliconcompiler/toolscripts/ubuntu22/install-chisel.sh +26 -0
  47. siliconcompiler/toolscripts/ubuntu22/install-ghdl.sh +25 -0
  48. siliconcompiler/toolscripts/ubuntu22/install-icarus.sh +25 -0
  49. siliconcompiler/toolscripts/ubuntu22/install-icepack.sh +22 -0
  50. siliconcompiler/toolscripts/ubuntu22/install-klayout.sh +29 -0
  51. siliconcompiler/toolscripts/ubuntu22/install-magic.sh +24 -0
  52. siliconcompiler/toolscripts/ubuntu22/install-montage.sh +5 -0
  53. siliconcompiler/toolscripts/ubuntu22/install-netgen.sh +24 -0
  54. siliconcompiler/toolscripts/ubuntu22/install-nextpnr.sh +32 -0
  55. siliconcompiler/toolscripts/ubuntu22/install-openroad.sh +31 -0
  56. siliconcompiler/toolscripts/ubuntu22/install-slang.sh +28 -0
  57. siliconcompiler/toolscripts/ubuntu22/install-slurm.sh +32 -0
  58. siliconcompiler/toolscripts/ubuntu22/install-surelog.sh +25 -0
  59. siliconcompiler/toolscripts/ubuntu22/install-sv2v.sh +26 -0
  60. siliconcompiler/toolscripts/ubuntu22/install-verible.sh +24 -0
  61. siliconcompiler/toolscripts/ubuntu22/install-verilator.sh +34 -0
  62. siliconcompiler/toolscripts/ubuntu22/install-vpr.sh +27 -0
  63. siliconcompiler/toolscripts/ubuntu22/install-xyce.sh +65 -0
  64. siliconcompiler/toolscripts/ubuntu22/install-yosys.sh +24 -0
  65. siliconcompiler/toolscripts/ubuntu24/install-bambu.sh +49 -0
  66. siliconcompiler/toolscripts/ubuntu24/install-bluespec.sh +35 -0
  67. siliconcompiler/toolscripts/ubuntu24/install-chisel.sh +26 -0
  68. siliconcompiler/toolscripts/ubuntu24/install-ghdl.sh +25 -0
  69. siliconcompiler/toolscripts/ubuntu24/install-icarus.sh +25 -0
  70. siliconcompiler/toolscripts/ubuntu24/install-icepack.sh +22 -0
  71. siliconcompiler/toolscripts/ubuntu24/install-klayout.sh +29 -0
  72. siliconcompiler/toolscripts/ubuntu24/install-magic.sh +24 -0
  73. siliconcompiler/toolscripts/ubuntu24/install-montage.sh +5 -0
  74. siliconcompiler/toolscripts/ubuntu24/install-netgen.sh +24 -0
  75. siliconcompiler/toolscripts/ubuntu24/install-nextpnr.sh +32 -0
  76. siliconcompiler/toolscripts/ubuntu24/install-openroad.sh +31 -0
  77. siliconcompiler/toolscripts/ubuntu24/install-slang.sh +28 -0
  78. siliconcompiler/toolscripts/ubuntu24/install-slurm.sh +32 -0
  79. siliconcompiler/toolscripts/ubuntu24/install-surelog.sh +25 -0
  80. siliconcompiler/toolscripts/ubuntu24/install-sv2v.sh +26 -0
  81. siliconcompiler/toolscripts/ubuntu24/install-verible.sh +24 -0
  82. siliconcompiler/toolscripts/ubuntu24/install-verilator.sh +34 -0
  83. siliconcompiler/toolscripts/ubuntu24/install-vpr.sh +27 -0
  84. siliconcompiler/toolscripts/ubuntu24/install-xyce.sh +65 -0
  85. siliconcompiler/toolscripts/ubuntu24/install-yosys.sh +24 -0
  86. {siliconcompiler-0.28.0.dist-info → siliconcompiler-0.28.2.dist-info}/METADATA +5 -5
  87. {siliconcompiler-0.28.0.dist-info → siliconcompiler-0.28.2.dist-info}/RECORD +91 -22
  88. {siliconcompiler-0.28.0.dist-info → siliconcompiler-0.28.2.dist-info}/entry_points.txt +1 -0
  89. siliconcompiler/tools/openfpgaloader/__init__.py +0 -0
  90. siliconcompiler/tools/openfpgaloader/openfpgaloader.py +0 -39
  91. siliconcompiler/tools/xyce/xyce.py +0 -36
  92. {siliconcompiler-0.28.0.dist-info → siliconcompiler-0.28.2.dist-info}/LICENSE +0 -0
  93. {siliconcompiler-0.28.0.dist-info → siliconcompiler-0.28.2.dist-info}/WHEEL +0 -0
  94. {siliconcompiler-0.28.0.dist-info → siliconcompiler-0.28.2.dist-info}/top_level.txt +0 -0
@@ -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-11 gcc-11-multilib g++-11 g++-11-multilib \
15
+ llvm-11 llvm-11-dev libllvm11 \
16
+ gfortran-10 gfortran-10-multilib \
17
+ clang-11 libclang-11-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 python3 libftdi-dev \
11
+ qtbase5-dev 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
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 -
@@ -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
+ sudo apt-get install -y build-essential m4 tcsh csh libx11-dev tcl-dev tk-dev
9
+
10
+ mkdir -p deps
11
+ cd deps
12
+
13
+ git clone $(python3 ${src_path}/_tools.py --tool magic --field git-url) magic
14
+ cd magic
15
+ git checkout $(python3 ${src_path}/_tools.py --tool magic --field git-commit)
16
+
17
+ args=
18
+ if [ ! -z ${PREFIX} ]; then
19
+ args=--prefix="$PREFIX"
20
+ fi
21
+
22
+ LD_FLAGS=-shared ./configure $args
23
+ make -j$(nproc)
24
+ sudo make install
@@ -0,0 +1,5 @@
1
+ #!/bin/sh
2
+
3
+ set -e
4
+
5
+ sudo apt-get install -y imagemagick
@@ -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
+ sudo apt-get install -y build-essential tcl-dev tk-dev
9
+
10
+ mkdir -p deps
11
+ cd deps
12
+
13
+ git clone $(python3 ${src_path}/_tools.py --tool netgen --field git-url) netgen
14
+ cd netgen
15
+ git checkout $(python3 ${src_path}/_tools.py --tool netgen --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
@@ -0,0 +1,32 @@
1
+ #!/bin/sh
2
+
3
+ set -e
4
+
5
+ sudo apt-get install -y build-essential clang bison flex libreadline-dev \
6
+ gawk tcl-dev libffi-dev git mercurial graphviz \
7
+ xdot pkg-config python3 libftdi-dev \
8
+ qtbase5-dev python3-dev libboost-all-dev cmake libeigen3-dev
9
+
10
+ #!/bin/sh
11
+
12
+ set -e
13
+
14
+ # Get directory of script
15
+ src_path=$(cd -- "$(dirname "$0")" >/dev/null 2>&1 ; pwd -P)/..
16
+
17
+ mkdir -p deps
18
+ cd deps
19
+
20
+ git clone $(python3 ${src_path}/_tools.py --tool nextpnr --field git-url) nextpnr
21
+ cd nextpnr
22
+ git checkout $(python3 ${src_path}/_tools.py --tool nextpnr --field git-commit)
23
+
24
+ args=
25
+ if [ ! -z ${PREFIX} ]; then
26
+ args=-DCMAKE_INSTALL_PREFIX="$PREFIX"
27
+ fi
28
+
29
+ cmake -DARCH=ice40 $args .
30
+ make -j$(nproc)
31
+ sudo make install
32
+ cd -
@@ -0,0 +1,31 @@
1
+ #!/bin/sh
2
+
3
+ set -e
4
+
5
+ src_path=$(cd -- "$(dirname "$0")" >/dev/null 2>&1 ; pwd -P)/..
6
+
7
+ mkdir -p deps
8
+ cd deps
9
+
10
+ git clone $(python3 ${src_path}/_tools.py --tool openroad --field git-url) openroad
11
+ cd openroad
12
+ git checkout $(python3 ${src_path}/_tools.py --tool openroad --field git-commit)
13
+ git submodule update --init --recursive
14
+
15
+ deps_args=""
16
+ if [ ! -z ${PREFIX} ]; then
17
+ deps_args="-prefix=$PREFIX"
18
+ fi
19
+ sudo ./etc/DependencyInstaller.sh $deps_args
20
+
21
+ cmake_args="-DENABLE_TESTS=OFF"
22
+ if [ ! -z ${PREFIX} ]; then
23
+ cmake_args="$cmake_args -DCMAKE_INSTALL_PREFIX=$PREFIX"
24
+ fi
25
+
26
+ ./etc/Build.sh -cmake="$cmake_args"
27
+
28
+ cd build
29
+ sudo make install
30
+
31
+ cd -
@@ -0,0 +1,28 @@
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 cmake
14
+
15
+ git clone $(python3 ${src_path}/_tools.py --tool slang --field git-url) slang
16
+ cd slang
17
+ git checkout $(python3 ${src_path}/_tools.py --tool slang --field git-commit)
18
+
19
+ cfg_args=""
20
+ if [ ! -z ${PREFIX} ]; then
21
+ cfg_args="--prefix=$PREFIX"
22
+ fi
23
+
24
+ cmake -B build
25
+ cmake --build build -j$(nproc)
26
+ cmake --install build --strip $cfg_args
27
+
28
+ cd -
@@ -0,0 +1,32 @@
1
+ #!/bin/sh
2
+
3
+ set -e
4
+
5
+ sudo apt-get install -y munge libmunge-dev build-essential libmariadb-dev lbzip2 libjson-c-dev
6
+ sudo apt-get install -y libdbus-1-dev
7
+
8
+ # Get directory of script
9
+ src_path=$(cd -- "$(dirname "$0")" >/dev/null 2>&1 ; pwd -P)/..
10
+
11
+ mkdir -p deps
12
+ cd deps
13
+
14
+ pkg_version=$(python3 ${src_path}/_tools.py --tool slurm --field version)
15
+
16
+ # Build and install Slurm
17
+ wget -O slurm.tar.bz2 https://download.schedmd.com/slurm/slurm-${pkg_version}.tar.bz2
18
+ mkdir -p slurm
19
+ tar xvf slurm.tar.bz2 --strip-components=1 -C slurm
20
+
21
+ cd slurm
22
+
23
+ cfg_args=""
24
+ if [ ! -z ${PREFIX} ]; then
25
+ cfg_args="--prefix=$PREFIX"
26
+ fi
27
+
28
+ ./configure $cfg_args
29
+
30
+ make -j$(nproc)
31
+
32
+ sudo make install
@@ -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
+ # These dependencies are up-to-date with instructions from the INSTALL.md from the commit we are pinned to below
9
+ sudo apt-get install -y build-essential cmake git pkg-config \
10
+ tclsh swig uuid-dev libgoogle-perftools-dev python3 \
11
+ python3-orderedmultidict python3-psutil python3-dev \
12
+ default-jre lcov zlib1g-dev
13
+
14
+ mkdir -p deps
15
+ cd deps
16
+
17
+ git clone $(python3 ${src_path}/_tools.py --tool surelog --field git-url) surelog
18
+ cd surelog
19
+ git checkout $(python3 ${src_path}/_tools.py --tool surelog --field git-commit)
20
+ git submodule update --init --recursive
21
+
22
+ make -j$(nproc)
23
+ sudo make install
24
+
25
+ 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
+ mkdir -p deps
9
+ cd deps
10
+
11
+ sudo apt-get install -y curl
12
+
13
+ curl -sSL https://get.haskellstack.org/ | sh
14
+
15
+ git clone $(python3 ${src_path}/_tools.py --tool sv2v --field git-url) sv2v
16
+ cd sv2v
17
+ git checkout $(python3 ${src_path}/_tools.py --tool sv2v --field git-commit)
18
+
19
+ make -j$(nproc)
20
+
21
+ if [ ! -z ${PREFIX} ]; then
22
+ sudo mkdir -p ${PREFIX}/bin/
23
+ sudo cp bin/* ${PREFIX}/bin/
24
+ fi
25
+
26
+ 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,34 @@
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 git perl python3 make autoconf g++ flex bison ccache
9
+ sudo apt-get install -y libgoogle-perftools-dev numactl perl-doc help2man
10
+ sudo apt-get install -y libfl2
11
+ sudo apt-get install -y libfl-dev
12
+ sudo apt-get install -y zlib1g zlib1g-dev
13
+
14
+ mkdir -p deps
15
+ cd deps
16
+
17
+ unset VERILATOR_ROOT
18
+
19
+ git clone $(python3 ${src_path}/_tools.py --tool verilator --field git-url) verilator
20
+ cd verilator
21
+ git checkout $(python3 ${src_path}/_tools.py --tool verilator --field git-commit)
22
+
23
+ autoconf
24
+
25
+ args=
26
+ if [ ! -z ${PREFIX} ]; then
27
+ args=--prefix="$PREFIX"
28
+ fi
29
+
30
+ ./configure $args
31
+ make -j$(nproc)
32
+ sudo make install
33
+
34
+ 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
+ git clone $(python3 ${src_path}/_tools.py --tool vpr --field git-url) vpr
12
+ cd vpr
13
+ git checkout $(python3 ${src_path}/_tools.py --tool vpr --field git-commit)
14
+ git submodule update --init --recursive
15
+
16
+ ./install_apt_packages.sh
17
+
18
+ sudo apt-get install -y libtbb-dev
19
+
20
+ args=
21
+ if [ ! -z ${PREFIX} ]; then
22
+ args="-DCMAKE_INSTALL_PREFIX=$PREFIX"
23
+ fi
24
+
25
+ make CMAKE_PARAMS="$args -DWITH_PARMYS=OFF -DWITH_ABC=OFF -DYOSYS_F4PGA_PLUGINS=OFF" -j$(nproc)
26
+ cd build
27
+ sudo make install
@@ -0,0 +1,65 @@
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
+ # Install core dependencies.
9
+ sudo apt-get install -y build-essential gcc g++ make cmake automake autoconf bison flex git libblas-dev \
10
+ liblapack-dev liblapack64-dev libfftw3-dev libsuitesparse-dev libopenmpi-dev libboost-all-dev \
11
+ libnetcdf-dev libmatio-dev gfortran libfl-dev libtool python3-venv
12
+
13
+ mkdir -p deps
14
+ cd deps
15
+
16
+ if [ -z ${PREFIX} ]; then
17
+ PREFIX=~/.local
18
+ fi
19
+
20
+ # Install CMAKE
21
+ python3 -m venv .xyce --clear
22
+ . .xyce/bin/activate
23
+ python3 -m pip install cmake>=3.23.0
24
+
25
+ # Download Trilinos.
26
+ ## Version specified in: https://github.com/Xyce/Xyce/blob/master/INSTALL.md#building-trilinos
27
+ trilinos_version=14-4-0
28
+ wget https://github.com/trilinos/Trilinos/archive/refs/tags/trilinos-release-${trilinos_version}.tar.gz -O trilinos.tar.gz
29
+ mkdir -p trilinos
30
+ tar --strip-components=1 -xf trilinos.tar.gz -C trilinos
31
+
32
+ # Download Xyce.
33
+ xyce_version=$(python3 ${src_path}/_tools.py --tool xyce --field version)
34
+ wget https://github.com/Xyce/Xyce/archive/refs/tags/Release-${xyce_version}.tar.gz -O xyce.tar.gz
35
+ mkdir -p xyce
36
+ tar --strip-components=1 -xf xyce.tar.gz -C xyce
37
+
38
+ cd xyce
39
+
40
+ # Build Trilinos
41
+ mkdir trilinos-build
42
+ cd trilinos-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 ../cmake/trilinos/trilinos-base.cmake \
48
+ ../../trilinos
49
+ cmake --build . -j$(nproc) -t install
50
+
51
+ cd ..
52
+
53
+ # Build Xyce
54
+ mkdir xyce-build
55
+ cd xyce-build
56
+
57
+ cmake \
58
+ -D CMAKE_INSTALL_PREFIX=$PREFIX \
59
+ -D Trilinos_ROOT=$PREFIX/trilinos \
60
+ -D BUILD_SHARED_LIBS=ON \
61
+ ..
62
+
63
+ cmake --build . -j$(nproc)
64
+ cmake --build . -j$(nproc) --target xycecinterface
65
+ sudo -E PATH="$PATH" make install
@@ -0,0 +1,24 @@
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 apt-get install -y build-essential clang bison flex \
10
+ libreadline-dev gawk tcl-dev libffi-dev git \
11
+ graphviz xdot pkg-config python3 libboost-system-dev \
12
+ libboost-python-dev libboost-filesystem-dev zlib1g-dev
13
+
14
+ mkdir -p deps
15
+ cd deps
16
+
17
+ git clone $(python3 ${src_path}/_tools.py --tool yosys --field git-url) yosys
18
+ cd yosys
19
+ git checkout $(python3 ${src_path}/_tools.py --tool yosys --field git-commit)
20
+ git submodule update --init --recursive
21
+
22
+ make -j$(nproc) ENABLE_NDEBUG=1
23
+ sudo make install
24
+ 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-11 gcc-11-multilib g++-11 g++-11-multilib \
15
+ llvm-11 llvm-11-dev libllvm11 \
16
+ gfortran-10 gfortran-10-multilib \
17
+ clang-11 libclang-11-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