siliconcompiler 0.32.1__py3-none-any.whl → 0.32.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.
- siliconcompiler/_metadata.py +1 -1
- siliconcompiler/apps/sc_install.py +13 -5
- siliconcompiler/apps/sc_remote.py +2 -1
- siliconcompiler/core.py +30 -13
- siliconcompiler/scheduler/__init__.py +37 -8
- siliconcompiler/scheduler/docker_runner.py +2 -1
- siliconcompiler/sphinx_ext/dynamicgen.py +11 -11
- siliconcompiler/templates/tcl/manifest.tcl.j2 +4 -120
- siliconcompiler/tools/_common/tcl/sc_schema_access.tcl +126 -0
- siliconcompiler/tools/openroad/_apr.py +3 -0
- siliconcompiler/tools/openroad/scripts/apr/sc_repair_timing.tcl +53 -7
- siliconcompiler/tools/openroad/scripts/common/procs.tcl +19 -1
- siliconcompiler/tools/openroad/scripts/common/reports.tcl +16 -5
- siliconcompiler/tools/slang/__init__.py +7 -8
- siliconcompiler/tools/sv2v/sv2v.py +4 -1
- siliconcompiler/tools/yosys/__init__.py +4 -36
- siliconcompiler/tools/yosys/lec.py +3 -4
- siliconcompiler/tools/yosys/{syn_asic.tcl → sc_synth_asic.tcl} +79 -0
- siliconcompiler/tools/yosys/{syn_fpga.tcl → sc_synth_fpga.tcl} +78 -0
- siliconcompiler/tools/yosys/syn_asic.py +26 -10
- siliconcompiler/tools/yosys/syn_fpga.py +23 -16
- siliconcompiler/toolscripts/_tools.json +17 -8
- siliconcompiler/toolscripts/rhel9/install-gtkwave.sh +1 -1
- siliconcompiler/toolscripts/rhel9/install-vpr.sh +29 -0
- siliconcompiler/toolscripts/rhel9/install-yosys-parmys.sh +59 -0
- siliconcompiler/toolscripts/ubuntu20/install-yosys-parmys.sh +59 -0
- siliconcompiler/toolscripts/ubuntu22/install-bluespec.sh +25 -2
- siliconcompiler/toolscripts/ubuntu22/install-ghdl.sh +2 -2
- siliconcompiler/toolscripts/ubuntu22/install-yosys-parmys.sh +59 -0
- siliconcompiler/toolscripts/ubuntu24/install-ghdl.sh +2 -2
- siliconcompiler/toolscripts/ubuntu24/install-yosys-parmys.sh +59 -0
- siliconcompiler/utils/__init__.py +4 -1
- siliconcompiler/utils/logging.py +1 -1
- {siliconcompiler-0.32.1.dist-info → siliconcompiler-0.32.2.dist-info}/METADATA +12 -9
- {siliconcompiler-0.32.1.dist-info → siliconcompiler-0.32.2.dist-info}/RECORD +39 -35
- {siliconcompiler-0.32.1.dist-info → siliconcompiler-0.32.2.dist-info}/WHEEL +1 -1
- siliconcompiler/tools/yosys/sc_syn.tcl +0 -87
- siliconcompiler/toolscripts/ubuntu20/install-yosys-slang.sh +0 -22
- {siliconcompiler-0.32.1.dist-info → siliconcompiler-0.32.2.dist-info}/entry_points.txt +0 -0
- {siliconcompiler-0.32.1.dist-info → siliconcompiler-0.32.2.dist-info/licenses}/LICENSE +0 -0
- {siliconcompiler-0.32.1.dist-info → siliconcompiler-0.32.2.dist-info}/top_level.txt +0 -0
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"openroad": {
|
|
3
3
|
"git-url": "https://github.com/The-OpenROAD-Project/OpenROAD.git",
|
|
4
|
-
"git-commit": "
|
|
4
|
+
"git-commit": "10c0e05959e169ec9740d83e80bb4f2395afcc7b",
|
|
5
5
|
"docker-cmds": [
|
|
6
6
|
"# Remove OR-Tools files",
|
|
7
7
|
"RUN rm -f $SC_PREFIX/Makefile $SC_PREFIX/README.md",
|
|
@@ -22,7 +22,7 @@
|
|
|
22
22
|
},
|
|
23
23
|
"ghdl": {
|
|
24
24
|
"git-url": "https://github.com/ghdl/ghdl.git",
|
|
25
|
-
"git-commit": "
|
|
25
|
+
"git-commit": "v5.0.1",
|
|
26
26
|
"auto-update": false
|
|
27
27
|
},
|
|
28
28
|
"magic": {
|
|
@@ -36,7 +36,7 @@
|
|
|
36
36
|
"auto-update": false
|
|
37
37
|
},
|
|
38
38
|
"klayout": {
|
|
39
|
-
"version": "0.
|
|
39
|
+
"version": "0.30.0",
|
|
40
40
|
"git-url": "https://github.com/KLayout/klayout.git",
|
|
41
41
|
"docker-skip": true,
|
|
42
42
|
"auto-update": true,
|
|
@@ -45,7 +45,7 @@
|
|
|
45
45
|
},
|
|
46
46
|
"sv2v": {
|
|
47
47
|
"git-url": "https://github.com/zachjs/sv2v.git",
|
|
48
|
-
"git-commit": "
|
|
48
|
+
"git-commit": "e5effb5e1ea4e0cf9b4af2c769d364e0ed4b6d84",
|
|
49
49
|
"auto-update": true
|
|
50
50
|
},
|
|
51
51
|
"verilator": {
|
|
@@ -66,17 +66,17 @@
|
|
|
66
66
|
},
|
|
67
67
|
"vpr": {
|
|
68
68
|
"git-url": "https://github.com/verilog-to-routing/vtr-verilog-to-routing.git",
|
|
69
|
-
"git-commit": "
|
|
69
|
+
"git-commit": "2a4e92181280a235315621253d1dc9eb8826bc53",
|
|
70
70
|
"auto-update": false
|
|
71
71
|
},
|
|
72
72
|
"icepack": {
|
|
73
73
|
"git-url": "https://github.com/YosysHQ/icestorm.git",
|
|
74
|
-
"git-commit": "
|
|
74
|
+
"git-commit": "7fbf8c0afbcf7665c45499b090409859b1815184",
|
|
75
75
|
"auto-update": false
|
|
76
76
|
},
|
|
77
77
|
"nextpnr": {
|
|
78
78
|
"git-url": "https://github.com/YosysHQ/nextpnr.git",
|
|
79
|
-
"git-commit": "
|
|
79
|
+
"git-commit": "nextpnr-0.7",
|
|
80
80
|
"docker-depends": "icepack"
|
|
81
81
|
},
|
|
82
82
|
"chisel": {
|
|
@@ -139,7 +139,7 @@
|
|
|
139
139
|
},
|
|
140
140
|
"yosys-slang": {
|
|
141
141
|
"git-url": "https://github.com/povik/yosys-slang.git",
|
|
142
|
-
"git-commit": "
|
|
142
|
+
"git-commit": "e23228f4b4ec5ec0b4b17f1f675debfa29458665",
|
|
143
143
|
"docker-depends": "yosys",
|
|
144
144
|
"auto-update": true
|
|
145
145
|
},
|
|
@@ -148,5 +148,14 @@
|
|
|
148
148
|
"git-commit": "5dd1d8a60d0cc7228be856350bb90faad24dae9e",
|
|
149
149
|
"docker-depends": "yosys",
|
|
150
150
|
"auto-update": true
|
|
151
|
+
},
|
|
152
|
+
"yosys-parmys": {
|
|
153
|
+
"git-url": "https://github.com/verilog-to-routing/vtr-verilog-to-routing.git",
|
|
154
|
+
"git-commit": "2a4e92181280a235315621253d1dc9eb8826bc53",
|
|
155
|
+
"docker-depends": [
|
|
156
|
+
"yosys",
|
|
157
|
+
"vpr"
|
|
158
|
+
],
|
|
159
|
+
"auto-update": false
|
|
151
160
|
}
|
|
152
161
|
}
|
|
@@ -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
|
+
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
|
+
sudo dnf config-manager --set-enabled devel || true
|
|
17
|
+
./install_dnf_packages.sh
|
|
18
|
+
|
|
19
|
+
sudo yum install -y tbb-devel
|
|
20
|
+
sudo dnf config-manager --set-disabled devel || true
|
|
21
|
+
|
|
22
|
+
args=
|
|
23
|
+
if [ ! -z ${PREFIX} ]; then
|
|
24
|
+
args="-DCMAKE_INSTALL_PREFIX=$PREFIX"
|
|
25
|
+
fi
|
|
26
|
+
|
|
27
|
+
make CMAKE_PARAMS="$args -DWITH_PARMYS=OFF -DWITH_ABC=OFF -DYOSYS_F4PGA_PLUGINS=OFF" -j$(nproc)
|
|
28
|
+
cd build
|
|
29
|
+
sudo make install
|
|
@@ -0,0 +1,59 @@
|
|
|
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
|
+
mkdir -p deps
|
|
9
|
+
cd deps
|
|
10
|
+
|
|
11
|
+
git clone $(python3 ${src_path}/_tools.py --tool yosys-parmys --field git-url) yosys-parmys
|
|
12
|
+
cd yosys-parmys
|
|
13
|
+
git checkout $(python3 ${src_path}/_tools.py --tool yosys-parmys --field git-commit)
|
|
14
|
+
git submodule update --init --recursive
|
|
15
|
+
|
|
16
|
+
# apply patch
|
|
17
|
+
cat > build_patch <<EOF
|
|
18
|
+
diff --git a/parmys/parmys-plugin/Makefile b/parmys/parmys-plugin/Makefile
|
|
19
|
+
index dbb3eb11e..cb85631bc 100644
|
|
20
|
+
--- a/parmys/parmys-plugin/Makefile
|
|
21
|
+
+++ b/parmys/parmys-plugin/Makefile
|
|
22
|
+
@@ -49,7 +49,7 @@ VTR_INSTALL_DIR ?= /usr/local
|
|
23
|
+
|
|
24
|
+
include ../Makefile_plugin.common
|
|
25
|
+
|
|
26
|
+
-CXXFLAGS += -std=c++14 -Wall -W -Wextra \\
|
|
27
|
+
+CXXFLAGS += -std=c++17 -Wall -W -Wextra \\
|
|
28
|
+
-Wno-deprecated-declarations \\
|
|
29
|
+
-Wno-unused-parameter \\
|
|
30
|
+
-I. \\
|
|
31
|
+
diff --git a/parmys/parmys-plugin/parmys_update.cc b/parmys/parmys-plugin/parmys_update.cc
|
|
32
|
+
index ef55213c5..4e4d6dd15 100644
|
|
33
|
+
--- a/parmys/parmys-plugin/parmys_update.cc
|
|
34
|
+
+++ b/parmys/parmys-plugin/parmys_update.cc
|
|
35
|
+
@@ -506,9 +506,9 @@ void define_logical_function_yosys(nnode_t *node, Module *module)
|
|
36
|
+
lutptr = &cell->parameters.at(ID::LUT);
|
|
37
|
+
for (int i = 0; i < (1 << node->num_input_pins); i++) {
|
|
38
|
+
if (i == 3 || i == 5 || i == 6 || i == 7) //"011 1\n101 1\n110 1\n111 1\n"
|
|
39
|
+
- lutptr->bits.at(i) = RTLIL::State::S1;
|
|
40
|
+
+ lutptr->bits().at(i) = RTLIL::State::S1;
|
|
41
|
+
else
|
|
42
|
+
- lutptr->bits.at(i) = RTLIL::State::S0;
|
|
43
|
+
+ lutptr->bits().at(i) = RTLIL::State::S0;
|
|
44
|
+
}
|
|
45
|
+
} else {
|
|
46
|
+
cell->parameters[ID::A_WIDTH] = RTLIL::Const(int(node->num_input_pins));
|
|
47
|
+
EOF
|
|
48
|
+
|
|
49
|
+
git apply build_patch
|
|
50
|
+
|
|
51
|
+
export VTR_INSTALL_DIR=$(dirname $(which vpr))/..
|
|
52
|
+
YOSYS_PLUGIN=$(yosys-config --datdir)/plugins/
|
|
53
|
+
|
|
54
|
+
cd parmys
|
|
55
|
+
|
|
56
|
+
make -j$(nproc)
|
|
57
|
+
sudo mkdir -p $YOSYS_PLUGIN
|
|
58
|
+
sudo cp parmys-plugin/build/parmys.so $YOSYS_PLUGIN
|
|
59
|
+
cd -
|
|
@@ -0,0 +1,59 @@
|
|
|
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
|
+
mkdir -p deps
|
|
9
|
+
cd deps
|
|
10
|
+
|
|
11
|
+
git clone $(python3 ${src_path}/_tools.py --tool yosys-parmys --field git-url) yosys-parmys
|
|
12
|
+
cd yosys-parmys
|
|
13
|
+
git checkout $(python3 ${src_path}/_tools.py --tool yosys-parmys --field git-commit)
|
|
14
|
+
git submodule update --init --recursive
|
|
15
|
+
|
|
16
|
+
# apply patch
|
|
17
|
+
cat > build_patch <<EOF
|
|
18
|
+
diff --git a/parmys/parmys-plugin/Makefile b/parmys/parmys-plugin/Makefile
|
|
19
|
+
index dbb3eb11e..cb85631bc 100644
|
|
20
|
+
--- a/parmys/parmys-plugin/Makefile
|
|
21
|
+
+++ b/parmys/parmys-plugin/Makefile
|
|
22
|
+
@@ -49,7 +49,7 @@ VTR_INSTALL_DIR ?= /usr/local
|
|
23
|
+
|
|
24
|
+
include ../Makefile_plugin.common
|
|
25
|
+
|
|
26
|
+
-CXXFLAGS += -std=c++14 -Wall -W -Wextra \\
|
|
27
|
+
+CXXFLAGS += -std=c++17 -Wall -W -Wextra \\
|
|
28
|
+
-Wno-deprecated-declarations \\
|
|
29
|
+
-Wno-unused-parameter \\
|
|
30
|
+
-I. \\
|
|
31
|
+
diff --git a/parmys/parmys-plugin/parmys_update.cc b/parmys/parmys-plugin/parmys_update.cc
|
|
32
|
+
index ef55213c5..4e4d6dd15 100644
|
|
33
|
+
--- a/parmys/parmys-plugin/parmys_update.cc
|
|
34
|
+
+++ b/parmys/parmys-plugin/parmys_update.cc
|
|
35
|
+
@@ -506,9 +506,9 @@ void define_logical_function_yosys(nnode_t *node, Module *module)
|
|
36
|
+
lutptr = &cell->parameters.at(ID::LUT);
|
|
37
|
+
for (int i = 0; i < (1 << node->num_input_pins); i++) {
|
|
38
|
+
if (i == 3 || i == 5 || i == 6 || i == 7) //"011 1\n101 1\n110 1\n111 1\n"
|
|
39
|
+
- lutptr->bits.at(i) = RTLIL::State::S1;
|
|
40
|
+
+ lutptr->bits().at(i) = RTLIL::State::S1;
|
|
41
|
+
else
|
|
42
|
+
- lutptr->bits.at(i) = RTLIL::State::S0;
|
|
43
|
+
+ lutptr->bits().at(i) = RTLIL::State::S0;
|
|
44
|
+
}
|
|
45
|
+
} else {
|
|
46
|
+
cell->parameters[ID::A_WIDTH] = RTLIL::Const(int(node->num_input_pins));
|
|
47
|
+
EOF
|
|
48
|
+
|
|
49
|
+
git apply build_patch
|
|
50
|
+
|
|
51
|
+
export VTR_INSTALL_DIR=$(dirname $(which vpr))/..
|
|
52
|
+
YOSYS_PLUGIN=$(yosys-config --datdir)/plugins/
|
|
53
|
+
|
|
54
|
+
cd parmys
|
|
55
|
+
|
|
56
|
+
make -j$(nproc)
|
|
57
|
+
sudo mkdir -p $YOSYS_PLUGIN
|
|
58
|
+
sudo cp parmys-plugin/build/parmys.so $YOSYS_PLUGIN
|
|
59
|
+
cd -
|
|
@@ -5,13 +5,36 @@ set -e
|
|
|
5
5
|
# Get directory of script
|
|
6
6
|
src_path=$(cd -- "$(dirname "$0")" >/dev/null 2>&1 ; pwd -P)/..
|
|
7
7
|
|
|
8
|
-
sudo apt-get install -y
|
|
9
|
-
libghc-old-time-dev libghc-split-dev tcl-dev build-essential pkg-config \
|
|
8
|
+
sudo apt-get install -y tcl-dev build-essential pkg-config \
|
|
10
9
|
autoconf gperf flex bison
|
|
11
10
|
|
|
12
11
|
mkdir -p deps
|
|
13
12
|
cd deps
|
|
14
13
|
|
|
14
|
+
if [ "$(uname -m)" = "x86_64" ]; then
|
|
15
|
+
sudo apt-get install -y ghc libghc-regex-compat-dev libghc-syb-dev \
|
|
16
|
+
libghc-old-time-dev libghc-split-dev
|
|
17
|
+
else
|
|
18
|
+
sudo apt-get install -y build-essential curl libffi-dev libffi8 libgmp-dev \
|
|
19
|
+
libgmp10 libncurses-dev libncurses5 libtinfo5 pkg-config
|
|
20
|
+
if [ ! -z ${PREFIX} ]; then
|
|
21
|
+
export PATH="$PREFIX/bin:$PATH"
|
|
22
|
+
export GHCUP_INSTALL_BASE_PREFIX=$PREFIX
|
|
23
|
+
fi
|
|
24
|
+
|
|
25
|
+
export BOOTSTRAP_HASKELL_NONINTERACTIVE=yes
|
|
26
|
+
|
|
27
|
+
curl -sSL https://get-ghcup.haskell.org | sh -s
|
|
28
|
+
|
|
29
|
+
if [ ! -z ${PREFIX} ]; then
|
|
30
|
+
. ${PREFIX}/.ghcup/env
|
|
31
|
+
else
|
|
32
|
+
. ${HOME}/.ghcup/env
|
|
33
|
+
fi
|
|
34
|
+
|
|
35
|
+
cabal v1-install regex-compat syb old-time split
|
|
36
|
+
fi
|
|
37
|
+
|
|
15
38
|
git clone $(python3 ${src_path}/_tools.py --tool bluespec --field git-url) bluespec
|
|
16
39
|
cd bluespec
|
|
17
40
|
git checkout $(python3 ${src_path}/_tools.py --tool bluespec --field git-commit)
|
|
@@ -5,7 +5,7 @@ set -e
|
|
|
5
5
|
# Get directory of script
|
|
6
6
|
src_path=$(cd -- "$(dirname "$0")" >/dev/null 2>&1 ; pwd -P)/..
|
|
7
7
|
|
|
8
|
-
sudo apt-get install -y gnat libgnat-9 libz-dev
|
|
8
|
+
sudo apt-get install -y llvm-dev clang gnat libgnat-9 libz-dev
|
|
9
9
|
|
|
10
10
|
mkdir -p deps
|
|
11
11
|
cd deps
|
|
@@ -19,7 +19,7 @@ if [ ! -z ${PREFIX} ]; then
|
|
|
19
19
|
args=--prefix="$PREFIX"
|
|
20
20
|
fi
|
|
21
21
|
|
|
22
|
-
./configure $args
|
|
22
|
+
./configure --with-llvm-config $args
|
|
23
23
|
make -j$(nproc)
|
|
24
24
|
sudo make install
|
|
25
25
|
cd -
|
|
@@ -0,0 +1,59 @@
|
|
|
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
|
+
mkdir -p deps
|
|
9
|
+
cd deps
|
|
10
|
+
|
|
11
|
+
git clone $(python3 ${src_path}/_tools.py --tool yosys-parmys --field git-url) yosys-parmys
|
|
12
|
+
cd yosys-parmys
|
|
13
|
+
git checkout $(python3 ${src_path}/_tools.py --tool yosys-parmys --field git-commit)
|
|
14
|
+
git submodule update --init --recursive
|
|
15
|
+
|
|
16
|
+
# apply patch
|
|
17
|
+
cat > build_patch <<EOF
|
|
18
|
+
diff --git a/parmys/parmys-plugin/Makefile b/parmys/parmys-plugin/Makefile
|
|
19
|
+
index dbb3eb11e..cb85631bc 100644
|
|
20
|
+
--- a/parmys/parmys-plugin/Makefile
|
|
21
|
+
+++ b/parmys/parmys-plugin/Makefile
|
|
22
|
+
@@ -49,7 +49,7 @@ VTR_INSTALL_DIR ?= /usr/local
|
|
23
|
+
|
|
24
|
+
include ../Makefile_plugin.common
|
|
25
|
+
|
|
26
|
+
-CXXFLAGS += -std=c++14 -Wall -W -Wextra \\
|
|
27
|
+
+CXXFLAGS += -std=c++17 -Wall -W -Wextra \\
|
|
28
|
+
-Wno-deprecated-declarations \\
|
|
29
|
+
-Wno-unused-parameter \\
|
|
30
|
+
-I. \\
|
|
31
|
+
diff --git a/parmys/parmys-plugin/parmys_update.cc b/parmys/parmys-plugin/parmys_update.cc
|
|
32
|
+
index ef55213c5..4e4d6dd15 100644
|
|
33
|
+
--- a/parmys/parmys-plugin/parmys_update.cc
|
|
34
|
+
+++ b/parmys/parmys-plugin/parmys_update.cc
|
|
35
|
+
@@ -506,9 +506,9 @@ void define_logical_function_yosys(nnode_t *node, Module *module)
|
|
36
|
+
lutptr = &cell->parameters.at(ID::LUT);
|
|
37
|
+
for (int i = 0; i < (1 << node->num_input_pins); i++) {
|
|
38
|
+
if (i == 3 || i == 5 || i == 6 || i == 7) //"011 1\n101 1\n110 1\n111 1\n"
|
|
39
|
+
- lutptr->bits.at(i) = RTLIL::State::S1;
|
|
40
|
+
+ lutptr->bits().at(i) = RTLIL::State::S1;
|
|
41
|
+
else
|
|
42
|
+
- lutptr->bits.at(i) = RTLIL::State::S0;
|
|
43
|
+
+ lutptr->bits().at(i) = RTLIL::State::S0;
|
|
44
|
+
}
|
|
45
|
+
} else {
|
|
46
|
+
cell->parameters[ID::A_WIDTH] = RTLIL::Const(int(node->num_input_pins));
|
|
47
|
+
EOF
|
|
48
|
+
|
|
49
|
+
git apply build_patch
|
|
50
|
+
|
|
51
|
+
export VTR_INSTALL_DIR=$(dirname $(which vpr))/..
|
|
52
|
+
YOSYS_PLUGIN=$(yosys-config --datdir)/plugins/
|
|
53
|
+
|
|
54
|
+
cd parmys
|
|
55
|
+
|
|
56
|
+
make -j$(nproc)
|
|
57
|
+
sudo mkdir -p $YOSYS_PLUGIN
|
|
58
|
+
sudo cp parmys-plugin/build/parmys.so $YOSYS_PLUGIN
|
|
59
|
+
cd -
|
|
@@ -5,7 +5,7 @@ set -e
|
|
|
5
5
|
# Get directory of script
|
|
6
6
|
src_path=$(cd -- "$(dirname "$0")" >/dev/null 2>&1 ; pwd -P)/..
|
|
7
7
|
|
|
8
|
-
sudo apt-get install -y gnat libgnat-9 libz-dev
|
|
8
|
+
sudo apt-get install -y llvm-dev clang gnat libgnat-9 libz-dev
|
|
9
9
|
|
|
10
10
|
mkdir -p deps
|
|
11
11
|
cd deps
|
|
@@ -19,7 +19,7 @@ if [ ! -z ${PREFIX} ]; then
|
|
|
19
19
|
args=--prefix="$PREFIX"
|
|
20
20
|
fi
|
|
21
21
|
|
|
22
|
-
./configure $args
|
|
22
|
+
./configure --with-llvm-config $args
|
|
23
23
|
make -j$(nproc)
|
|
24
24
|
sudo make install
|
|
25
25
|
cd -
|
|
@@ -0,0 +1,59 @@
|
|
|
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
|
+
mkdir -p deps
|
|
9
|
+
cd deps
|
|
10
|
+
|
|
11
|
+
git clone $(python3 ${src_path}/_tools.py --tool yosys-parmys --field git-url) yosys-parmys
|
|
12
|
+
cd yosys-parmys
|
|
13
|
+
git checkout $(python3 ${src_path}/_tools.py --tool yosys-parmys --field git-commit)
|
|
14
|
+
git submodule update --init --recursive
|
|
15
|
+
|
|
16
|
+
# apply patch
|
|
17
|
+
cat > build_patch <<EOF
|
|
18
|
+
diff --git a/parmys/parmys-plugin/Makefile b/parmys/parmys-plugin/Makefile
|
|
19
|
+
index dbb3eb11e..cb85631bc 100644
|
|
20
|
+
--- a/parmys/parmys-plugin/Makefile
|
|
21
|
+
+++ b/parmys/parmys-plugin/Makefile
|
|
22
|
+
@@ -49,7 +49,7 @@ VTR_INSTALL_DIR ?= /usr/local
|
|
23
|
+
|
|
24
|
+
include ../Makefile_plugin.common
|
|
25
|
+
|
|
26
|
+
-CXXFLAGS += -std=c++14 -Wall -W -Wextra \\
|
|
27
|
+
+CXXFLAGS += -std=c++17 -Wall -W -Wextra \\
|
|
28
|
+
-Wno-deprecated-declarations \\
|
|
29
|
+
-Wno-unused-parameter \\
|
|
30
|
+
-I. \\
|
|
31
|
+
diff --git a/parmys/parmys-plugin/parmys_update.cc b/parmys/parmys-plugin/parmys_update.cc
|
|
32
|
+
index ef55213c5..4e4d6dd15 100644
|
|
33
|
+
--- a/parmys/parmys-plugin/parmys_update.cc
|
|
34
|
+
+++ b/parmys/parmys-plugin/parmys_update.cc
|
|
35
|
+
@@ -506,9 +506,9 @@ void define_logical_function_yosys(nnode_t *node, Module *module)
|
|
36
|
+
lutptr = &cell->parameters.at(ID::LUT);
|
|
37
|
+
for (int i = 0; i < (1 << node->num_input_pins); i++) {
|
|
38
|
+
if (i == 3 || i == 5 || i == 6 || i == 7) //"011 1\n101 1\n110 1\n111 1\n"
|
|
39
|
+
- lutptr->bits.at(i) = RTLIL::State::S1;
|
|
40
|
+
+ lutptr->bits().at(i) = RTLIL::State::S1;
|
|
41
|
+
else
|
|
42
|
+
- lutptr->bits.at(i) = RTLIL::State::S0;
|
|
43
|
+
+ lutptr->bits().at(i) = RTLIL::State::S0;
|
|
44
|
+
}
|
|
45
|
+
} else {
|
|
46
|
+
cell->parameters[ID::A_WIDTH] = RTLIL::Const(int(node->num_input_pins));
|
|
47
|
+
EOF
|
|
48
|
+
|
|
49
|
+
git apply build_patch
|
|
50
|
+
|
|
51
|
+
export VTR_INSTALL_DIR=$(dirname $(which vpr))/..
|
|
52
|
+
YOSYS_PLUGIN=$(yosys-config --datdir)/plugins/
|
|
53
|
+
|
|
54
|
+
cd parmys
|
|
55
|
+
|
|
56
|
+
make -j$(nproc)
|
|
57
|
+
sudo mkdir -p $YOSYS_PLUGIN
|
|
58
|
+
sudo cp parmys-plugin/build/parmys.so $YOSYS_PLUGIN
|
|
59
|
+
cd -
|
|
@@ -236,7 +236,10 @@ def get_file_template(path,
|
|
|
236
236
|
root = os.path.dirname(path)
|
|
237
237
|
path = os.path.basename(path)
|
|
238
238
|
|
|
239
|
-
|
|
239
|
+
import siliconcompiler
|
|
240
|
+
scroot = os.path.dirname(siliconcompiler.__file__)
|
|
241
|
+
|
|
242
|
+
env = Environment(loader=FileSystemLoader([root, scroot]))
|
|
240
243
|
return env.get_template(path)
|
|
241
244
|
|
|
242
245
|
|
siliconcompiler/utils/logging.py
CHANGED
|
@@ -55,7 +55,7 @@ class ColorStreamFormatter(LoggerFormatter):
|
|
|
55
55
|
|
|
56
56
|
@staticmethod
|
|
57
57
|
def supports_color(handler):
|
|
58
|
-
if
|
|
58
|
+
if type(handler) is not logging.StreamHandler:
|
|
59
59
|
return False
|
|
60
60
|
|
|
61
61
|
supported_platform = sys.platform != 'win32'
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
Metadata-Version: 2.
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
2
|
Name: siliconcompiler
|
|
3
|
-
Version: 0.32.
|
|
3
|
+
Version: 0.32.2
|
|
4
4
|
Summary: A compiler framework that automates translation from source code to silicon.
|
|
5
5
|
Author-email: Andreas Olofsson <andreas.d.olofsson@gmail.com>
|
|
6
6
|
License: Apache License 2.0
|
|
@@ -26,7 +26,7 @@ Requires-Python: >=3.8
|
|
|
26
26
|
Description-Content-Type: text/markdown
|
|
27
27
|
License-File: LICENSE
|
|
28
28
|
Requires-Dist: aiohttp==3.10.11; python_version <= "3.8"
|
|
29
|
-
Requires-Dist: aiohttp==3.11.
|
|
29
|
+
Requires-Dist: aiohttp==3.11.14; python_version >= "3.9"
|
|
30
30
|
Requires-Dist: requests==2.32.3
|
|
31
31
|
Requires-Dist: PyYAML==6.0.2
|
|
32
32
|
Requires-Dist: pandas>=1.1.5
|
|
@@ -45,10 +45,11 @@ Requires-Dist: fasteners==0.19
|
|
|
45
45
|
Requires-Dist: fastjsonschema==2.21.1
|
|
46
46
|
Requires-Dist: docker==7.1.0
|
|
47
47
|
Requires-Dist: importlib_metadata; python_version < "3.10"
|
|
48
|
-
Requires-Dist: orjson==3.10.15
|
|
48
|
+
Requires-Dist: orjson==3.10.15; python_version <= "3.8"
|
|
49
|
+
Requires-Dist: orjson==3.10.16; python_version >= "3.9"
|
|
49
50
|
Requires-Dist: pyslang==8.0.0
|
|
50
51
|
Requires-Dist: streamlit==1.40.1; python_version <= "3.8"
|
|
51
|
-
Requires-Dist: streamlit==1.
|
|
52
|
+
Requires-Dist: streamlit==1.44.0; python_version >= "3.9" and python_full_version != "3.9.7"
|
|
52
53
|
Requires-Dist: streamlit_agraph==0.0.45; python_full_version != "3.9.7"
|
|
53
54
|
Requires-Dist: streamlit-antd-components==0.3.2; python_full_version != "3.9.7"
|
|
54
55
|
Requires-Dist: streamlit_javascript==0.1.5; python_full_version != "3.9.7"
|
|
@@ -58,14 +59,15 @@ Requires-Dist: pytest==8.3.5; extra == "test"
|
|
|
58
59
|
Requires-Dist: pytest-xdist==3.6.1; extra == "test"
|
|
59
60
|
Requires-Dist: pytest-timeout==2.3.1; extra == "test"
|
|
60
61
|
Requires-Dist: pytest-asyncio==0.24.0; python_version <= "3.8" and extra == "test"
|
|
61
|
-
Requires-Dist: pytest-asyncio==0.
|
|
62
|
+
Requires-Dist: pytest-asyncio==0.26.0; python_version >= "3.9" and extra == "test"
|
|
62
63
|
Requires-Dist: pytest-cov==5.0.0; python_version <= "3.8" and extra == "test"
|
|
63
64
|
Requires-Dist: pytest-cov==6.0.0; python_version >= "3.9" and extra == "test"
|
|
64
|
-
Requires-Dist: responses==0.25.
|
|
65
|
+
Requires-Dist: responses==0.25.7; extra == "test"
|
|
65
66
|
Requires-Dist: PyVirtualDisplay==3.0; extra == "test"
|
|
67
|
+
Requires-Dist: logiklib==0.1.0; extra == "test"
|
|
66
68
|
Provides-Extra: lint
|
|
67
|
-
Requires-Dist: flake8==7.
|
|
68
|
-
Requires-Dist: tclint==0.5.
|
|
69
|
+
Requires-Dist: flake8==7.2.0; extra == "lint"
|
|
70
|
+
Requires-Dist: tclint==0.5.4; extra == "lint"
|
|
69
71
|
Requires-Dist: codespell==2.4.1; extra == "lint"
|
|
70
72
|
Provides-Extra: docs
|
|
71
73
|
Requires-Dist: Sphinx==8.2.3; extra == "docs"
|
|
@@ -76,6 +78,7 @@ Provides-Extra: profile
|
|
|
76
78
|
Requires-Dist: gprof2dot==2024.6.6; extra == "profile"
|
|
77
79
|
Provides-Extra: optimizer
|
|
78
80
|
Requires-Dist: google-vizier[jax]==0.1.21; python_version >= "3.10" and extra == "optimizer"
|
|
81
|
+
Dynamic: license-file
|
|
79
82
|
|
|
80
83
|

|
|
81
84
|
|