Skip to content

Commit 25dfbd7

Browse files
authored
Merge branch 'master' into reorganizing_vqm2blif_source_code
2 parents e616752 + 8861b11 commit 25dfbd7

File tree

4,278 files changed

+518111
-12093
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

4,278 files changed

+518111
-12093
lines changed
Lines changed: 61 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,61 @@
1+
# Format: //devtools/kokoro/config/proto/build.proto
2+
# Odin_tech_strong test checks the Odin-II technology mapping for
3+
# Yosys+Odin-II over Odin-II techmap_heavysuite (excluding ABC and VPR)
4+
5+
build_file: "vtr-verilog-to-routing/.github/kokoro/run-vtr.sh"
6+
7+
# 12 hours
8+
timeout_mins: 720
9+
10+
action {
11+
define_artifacts {
12+
# File types
13+
regex: "**/*.out"
14+
regex: "**/vpr_stdout.log"
15+
regex: "**/parse_results.txt"
16+
regex: "**/qor_results.txt"
17+
regex: "**/pack.log"
18+
regex: "**/place.log"
19+
regex: "**/route.log"
20+
regex: "**/*_qor.csv"
21+
strip_prefix: "github/vtr-verilog-to-routing/"
22+
}
23+
}
24+
25+
env_vars {
26+
key: "KOKORO_TYPE"
27+
value: "continuous"
28+
}
29+
30+
env_vars {
31+
key: "KOKORO_DIR"
32+
value: "vtr-verilog-to-routing"
33+
}
34+
35+
env_vars {
36+
key: "VTR_DIR"
37+
value: "vtr-verilog-to-routing"
38+
}
39+
40+
#Use default build configuration
41+
env_vars {
42+
key: "VTR_CMAKE_PARAMS"
43+
value: "-DODIN_USE_YOSYS=ON"
44+
}
45+
46+
env_vars {
47+
key: "VTR_TEST"
48+
value: "odin_tech_strong"
49+
}
50+
51+
#Options for run_reg_test.py
52+
# -show_failures: show tool failures in main log output
53+
env_vars {
54+
key: "VTR_TEST_OPTIONS"
55+
value: "-show_failures"
56+
}
57+
58+
env_vars {
59+
key: "NUM_CORES"
60+
value: "3"
61+
}
Lines changed: 69 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,69 @@
1+
# Format: //devtools/kokoro/config/proto/build.proto
2+
# vtr_reg_yosys_odin test runs the VTR benchmarks through
3+
# the entire VTR with Yosys+Odin-II as the first CAD tool
4+
5+
build_file: "vtr-verilog-to-routing/.github/kokoro/run-vtr.sh"
6+
7+
# 72 hours
8+
timeout_mins: 4320
9+
10+
action {
11+
define_artifacts {
12+
# File types
13+
regex: "**/*.out"
14+
regex: "**/vpr_stdout.log"
15+
regex: "**/parse_results.txt"
16+
regex: "**/qor_results.txt"
17+
regex: "**/pack.log"
18+
regex: "**/place.log"
19+
regex: "**/route.log"
20+
regex: "**/*_qor.csv"
21+
regex: "**/*.out.gz"
22+
regex: "**/vpr_stdout.log.gz"
23+
regex: "**/parse_results.txt.gz"
24+
regex: "**/qor_results.txt.gz"
25+
regex: "**/pack.log.gz"
26+
regex: "**/place.log.gz"
27+
regex: "**/route.log.gz"
28+
regex: "**/*_qor.csv.gz"
29+
strip_prefix: "github/vtr-verilog-to-routing/"
30+
}
31+
}
32+
33+
env_vars {
34+
key: "KOKORO_TYPE"
35+
value: "continuous"
36+
}
37+
38+
env_vars {
39+
key: "KOKORO_DIR"
40+
value: "vtr-verilog-to-routing"
41+
}
42+
43+
env_vars {
44+
key: "VTR_DIR"
45+
value: "vtr-verilog-to-routing"
46+
}
47+
48+
#Use default build configuration
49+
env_vars {
50+
key: "VTR_CMAKE_PARAMS"
51+
value: "-DODIN_USE_YOSYS=ON"
52+
}
53+
54+
env_vars {
55+
key: "VTR_TEST"
56+
value: "vtr_reg_yosys_odin"
57+
}
58+
59+
#Options for run_reg_test.py
60+
# -show_failures: show tool failures in main log output
61+
env_vars {
62+
key: "VTR_TEST_OPTIONS"
63+
value: "-show_failures"
64+
}
65+
66+
env_vars {
67+
key: "NUM_CORES"
68+
value: "8"
69+
}
Lines changed: 61 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,61 @@
1+
# Format: //devtools/kokoro/config/proto/build.proto
2+
# Odin_tech_strong test checks the Odin-II technology mapping for
3+
# Yosys+Odin-II over Odin-II techmap_heavysuite (excluding ABC and VPR)
4+
5+
build_file: "vtr-verilog-to-routing/.github/kokoro/run-vtr.sh"
6+
7+
# 12 hours
8+
timeout_mins: 720
9+
10+
action {
11+
define_artifacts {
12+
# File types
13+
regex: "**/*.out"
14+
regex: "**/vpr_stdout.log"
15+
regex: "**/parse_results.txt"
16+
regex: "**/qor_results.txt"
17+
regex: "**/pack.log"
18+
regex: "**/place.log"
19+
regex: "**/route.log"
20+
regex: "**/*_qor.csv"
21+
strip_prefix: "github/vtr-verilog-to-routing/"
22+
}
23+
}
24+
25+
env_vars {
26+
key: "KOKORO_TYPE"
27+
value: "presubmit"
28+
}
29+
30+
env_vars {
31+
key: "KOKORO_DIR"
32+
value: "vtr-verilog-to-routing"
33+
}
34+
35+
env_vars {
36+
key: "VTR_DIR"
37+
value: "vtr-verilog-to-routing"
38+
}
39+
40+
#Use default build configuration
41+
env_vars {
42+
key: "VTR_CMAKE_PARAMS"
43+
value: "-DODIN_USE_YOSYS=ON"
44+
}
45+
46+
env_vars {
47+
key: "VTR_TEST"
48+
value: "odin_tech_strong"
49+
}
50+
51+
#Options for run_reg_test.py
52+
# -show_failures: show tool failures in main log output
53+
env_vars {
54+
key: "VTR_TEST_OPTIONS"
55+
value: "-show_failures"
56+
}
57+
58+
env_vars {
59+
key: "NUM_CORES"
60+
value: "3"
61+
}
Lines changed: 69 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,69 @@
1+
# Format: //devtools/kokoro/config/proto/build.proto
2+
# vtr_reg_yosys_odin test runs the VTR benchmarks through
3+
# the entire VTR with Yosys+Odin-II as the first CAD tool
4+
5+
build_file: "vtr-verilog-to-routing/.github/kokoro/run-vtr.sh"
6+
7+
# 72 hours
8+
timeout_mins: 4320
9+
10+
action {
11+
define_artifacts {
12+
# File types
13+
regex: "**/*.out"
14+
regex: "**/vpr_stdout.log"
15+
regex: "**/parse_results.txt"
16+
regex: "**/qor_results.txt"
17+
regex: "**/pack.log"
18+
regex: "**/place.log"
19+
regex: "**/route.log"
20+
regex: "**/*_qor.csv"
21+
regex: "**/*.out.gz"
22+
regex: "**/vpr_stdout.log.gz"
23+
regex: "**/parse_results.txt.gz"
24+
regex: "**/qor_results.txt.gz"
25+
regex: "**/pack.log.gz"
26+
regex: "**/place.log.gz"
27+
regex: "**/route.log.gz"
28+
regex: "**/*_qor.csv.gz"
29+
strip_prefix: "github/vtr-verilog-to-routing/"
30+
}
31+
}
32+
33+
env_vars {
34+
key: "KOKORO_TYPE"
35+
value: "presubmit"
36+
}
37+
38+
env_vars {
39+
key: "KOKORO_DIR"
40+
value: "vtr-verilog-to-routing"
41+
}
42+
43+
env_vars {
44+
key: "VTR_DIR"
45+
value: "vtr-verilog-to-routing"
46+
}
47+
48+
#Use default build configuration
49+
env_vars {
50+
key: "VTR_CMAKE_PARAMS"
51+
value: "-DODIN_USE_YOSYS=ON"
52+
}
53+
54+
env_vars {
55+
key: "VTR_TEST"
56+
value: "vtr_reg_yosys_odin"
57+
}
58+
59+
#Options for run_reg_test.py
60+
# -show_failures: show tool failures in main log output
61+
env_vars {
62+
key: "VTR_TEST_OPTIONS"
63+
value: "-show_failures"
64+
}
65+
66+
env_vars {
67+
key: "NUM_CORES"
68+
value: "8"
69+
}

.github/kokoro/run-vtr.sh

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,13 +10,15 @@ ls -l
1010
cd github
1111
ls -l
1212
cd vtr-verilog-to-routing
13+
export VTR_DIR=$( pwd )
1314
source $SCRIPT_DIR/steps/hostsetup.sh
1415
source $SCRIPT_DIR/steps/hostinfo.sh
1516

1617
# Output git information
1718
source $SCRIPT_DIR/steps/git.sh
1819

19-
if [ $VTR_TEST == "vtr_reg_strong" ] || [ $VTR_TEST == "odin_reg_strong" ]; then
20+
if [ $VTR_TEST == "vtr_reg_strong" ] || [ $VTR_TEST == "odin_reg_strong" ] \
21+
|| [ $VTR_TEST == "odin_tech_strong" ] || [ $VTR_TEST == "vtr_reg_yosys_odin" ]; then
2022
source $SCRIPT_DIR/steps/vtr-min-setup.sh
2123
else
2224
source $SCRIPT_DIR/steps/vtr-full-setup.sh

.github/kokoro/steps/hostsetup.sh

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -56,6 +56,17 @@ sudo apt-get install -y \
5656
python3-yaml \
5757
qt5-default \
5858
virtualenv \
59+
clang \
60+
libreadline-dev \
61+
gawk \
62+
tcl-dev \
63+
libffi-dev \
64+
xdot \
65+
pkg-config \
66+
libboost-system-dev \
67+
libboost-python-dev \
68+
libboost-filesystem-dev \
69+
zlib1g-dev \
5970
#Don't include libtbb-dev since it may increase memory usage
6071
#libtbb-dev \
6172

.github/scripts/install_dependencies.sh

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,9 @@ sudo apt install -y \
2828
libx11-dev \
2929
libxft-dev \
3030
libxml++2.6-dev \
31+
libreadline-dev \
32+
tcl-dev \
33+
libffi-dev \
3134
perl \
3235
texinfo \
3336
time \

.github/workflows/test.yml

Lines changed: 31 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -167,7 +167,7 @@ jobs:
167167
168168
169169
ODINII:
170-
name: 'ODIN-II Basic Tests'
170+
name: 'ODIN-II Basic Test'
171171
runs-on: ubuntu-18.04
172172
steps:
173173

@@ -205,6 +205,35 @@ jobs:
205205
./utils/vqm2blif/test/scripts/test_vqm2blif.sh
206206
207207
208+
YOSYSODINII:
209+
runs-on: ubuntu-18.04
210+
strategy:
211+
fail-fast: false
212+
matrix:
213+
include: [
214+
{
215+
name: 'Yosys+ODIN-II Basic',
216+
suite: 'odin_tech_basic'
217+
}
218+
]
219+
name: '${{ matrix.name }}'
220+
steps:
221+
222+
- uses: actions/setup-python@v2
223+
with:
224+
python-version: 3.6
225+
- uses: actions/checkout@v2
226+
- run: ./.github/scripts/install_dependencies.sh
227+
228+
- name: Test
229+
env:
230+
CMAKE_PARAMS: '-DVTR_ASSERT_LEVEL=3 -DVTR_ENABLE_SANITIZE=on -DVTR_IPO_BUILD=off -DWITH_BLIFEXPLORER=on -DODIN_USE_YOSYS=ON'
231+
BUILD_TYPE: debug
232+
run: |
233+
./.github/scripts/build.sh
234+
./run_reg_test.py ${{ matrix.suite }} -show_failures -j2
235+
236+
208237
Compatibility:
209238
runs-on: ubuntu-18.04
210239
strategy:
@@ -247,6 +276,7 @@ jobs:
247276
- Sanitized
248277
- ODINII
249278
- VQM2BLIF
279+
- YOSYSODINII
250280
- Compatibility
251281
runs-on: ubuntu-18.04
252282
steps:

CMakeLists.txt

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -51,6 +51,9 @@ option(ODIN_COVERAGE "Enable building odin with coverage flags" OFF)
5151
option(ODIN_TIDY "Enable building odin with clang tidy" OFF)
5252
option(ODIN_SANITIZE "Enable building odin with sanitize flags" OFF)
5353

54+
# Allow the user to enable building Yosys
55+
option(ODIN_USE_YOSYS "Enable building Yosys" OFF)
56+
5457
set(VTR_VERSION_MAJOR 8)
5558
set(VTR_VERSION_MINOR 1)
5659
set(VTR_VERSION_PATCH 0)

ODIN_II/.gitignore

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
regression_test/run*
2+
regression_test/benchmark/_BLIF
23
regression_test/latest
34

5+
/yosys
46
/temp
57
/*.v
68
/*.blif

0 commit comments

Comments
 (0)