Skip to content

Commit 2a29e57

Browse files
authored
Merge pull request #2234 from CAS-Atlantic/replace-odin-with-yosys
Use Parmys[Yosys] as the default frontend in VTR instead of Odin-II
2 parents f3d7f18 + 95cf487 commit 2a29e57

File tree

5,639 files changed

+473594
-6844
lines changed

Some content is hidden

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

5,639 files changed

+473594
-6844
lines changed

.gitattributes

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -38,10 +38,10 @@ libs/EXTERNAL/** linguist-vendored
3838
# External benchmarks imported into vtr_flow benchmark suite.
3939
vtr_flow/benchmarks/** linguist-vendored
4040
vtr_flow/scripts/perl_libs/** linguist-vendored
41-
# External benchmarks imported into ODIN_II benchmark suite.
42-
ODIN_II/regression_test/benchmark/verilog/large/** linguist-vendored
43-
ODIN_II/regression_test/benchmark/verilog/full/** linguist-vendored
44-
ODIN_II/regression_test/benchmark/verilog/FIR/** linguist-vendored
41+
# External benchmarks imported into odin_ii benchmark suite.
42+
odin_ii/regression_test/benchmark/verilog/large/** linguist-vendored
43+
odin_ii/regression_test/benchmark/verilog/full/** linguist-vendored
44+
odin_ii/regression_test/benchmark/verilog/FIR/** linguist-vendored
4545

4646
# Documentation
4747
doc/** linguist-documentation

.github/labeler.yml

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,10 +17,15 @@ blifexplorer:
1717
- blifexplorer/*
1818
- blifexplorer/**/*
1919
Odin:
20-
- ODIN_II/*
21-
- ODIN_II/**/*
20+
- odin_ii/*
21+
- odin_ii/**/*
2222
- odin2_helper/*
2323
- odin2_helper/**/*
24+
Parmys:
25+
- parmys/*
26+
- parmys/**/*
27+
- yosys/*
28+
- yosys/**/*
2429
VPR:
2530
- vpr/*
2631
- vpr/**/*

.github/scripts/run-vtr.sh

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,9 +8,7 @@ set -e
88
export VTR_DIR=$(pwd)
99
source $SCRIPT_DIR/hostsetup.sh
1010

11-
if ! { [ $VTR_TEST == "vtr_reg_strong" ] || [ $VTR_TEST == "odin_reg_strong" ] \
12-
|| [ $VTR_TEST == "vtr_reg_yosys" ] \
13-
|| [ $VTR_TEST == "vtr_reg_yosys_parmys" ]; }; then
11+
if ! { [ $VTR_TEST == "vtr_reg_strong" ] || [ $VTR_TEST == "odin_reg_strong" ]; }; then
1412
source $SCRIPT_DIR/vtr-full-setup.sh
1513
fi
1614

.github/workflows/containers.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ jobs:
1616
steps:
1717

1818
- name: 🧰 Repository Checkout
19-
uses: actions/checkout@v2
19+
uses: actions/checkout@v3
2020

2121
- name: 🔧 Generate image name
2222
id: generate

.github/workflows/test.yml

Lines changed: 101 additions & 51 deletions
Original file line numberDiff line numberDiff line change
@@ -26,25 +26,29 @@ jobs:
2626
fail-fast: false
2727
matrix:
2828
include:
29-
- {test: "vtr_reg_nightly_test1", cores: "8", options: "", cmake: "", extra_pkgs: ""}
30-
- {test: "vtr_reg_nightly_test2", cores: "16", options: "", cmake: "", extra_pkgs: ""}
31-
- {test: "vtr_reg_nightly_test3", cores: "16", options: "", cmake: "", extra_pkgs: ""}
32-
- {test: "vtr_reg_nightly_test4", cores: "16", options: "", cmake: "", extra_pkgs: ""}
33-
- {test: "vtr_reg_nightly_test5", cores: "16", options: "", cmake: "", extra_pkgs: ""}
34-
- {test: "vtr_reg_nightly_test7", cores: "16", options: "", cmake: "-DWITH_YOSYS=ON -DYOSYS_PARMYS_PLUGIN=ON", extra_pkgs: ""}
35-
- {test: "vtr_reg_nightly_test8", cores: "16", options: "", cmake: "-DWITH_YOSYS=ON -DYOSYS_PARMYS_PLUGIN=ON", extra_pkgs: "" }
36-
- {test: "vtr_reg_strong", cores: "16", options: "", cmake: "-DVTR_ASSERT_LEVEL=3", extra_pkgs: "libeigen3-dev"}
37-
- {test: "vtr_reg_strong", cores: "16", options: "-skip_qor", cmake: "-DVTR_ASSERT_LEVEL=3 -DVTR_ENABLE_SANITIZE=ON", extra_pkgs: "libeigen3-dev"}
38-
- {test: "vtr_reg_yosys", cores: "16", options: "", cmake: "-DWITH_YOSYS=ON -DYOSYS_SV_UHDM_PLUGIN=ON", extra_pkgs: ""}
39-
- {test: "vtr_reg_yosys_parmys", cores: "16", options: "", cmake: "-DWITH_YOSYS=ON -DYOSYS_PARMYS_PLUGIN=ON -DYOSYS_SV_UHDM_PLUGIN=ON", extra_pkgs: ""}
40-
- {test: "odin_reg_strong", cores: "16", options: "", cmake: "", extra_pkgs: ""}
29+
- {test: "vtr_reg_nightly_test1", cores: "16", options: "", cmake: "", extra_pkgs: ""}
30+
- {test: "vtr_reg_nightly_test1_odin", cores: "16", options: "", cmake: "-DWITH_ODIN=ON", extra_pkgs: ""}
31+
- {test: "vtr_reg_nightly_test2", cores: "16", options: "", cmake: "", extra_pkgs: ""}
32+
- {test: "vtr_reg_nightly_test2_odin", cores: "16", options: "", cmake: "-DWITH_ODIN=ON", extra_pkgs: "" }
33+
- {test: "vtr_reg_nightly_test3", cores: "16", options: "", cmake: "", extra_pkgs: ""}
34+
- {test: "vtr_reg_nightly_test3_odin", cores: "16", options: "", cmake: "-DWITH_ODIN=ON", extra_pkgs: ""}
35+
- {test: "vtr_reg_nightly_test4", cores: "16", options: "", cmake: "", extra_pkgs: "" }
36+
- {test: "vtr_reg_nightly_test4_odin", cores: "16", options: "", cmake: "-DWITH_ODIN=ON", extra_pkgs: "" }
37+
- {test: "vtr_reg_nightly_test5", cores: "16", options: "", cmake: "", extra_pkgs: ""}
38+
- {test: "vtr_reg_nightly_test6", cores: "16", options: "", cmake: "", extra_pkgs: ""}
39+
- {test: "vtr_reg_parmys", cores: "16", options: "", cmake: "", extra_pkgs: "" }
40+
- {test: "vtr_reg_strong", cores: "16", options: "", cmake: "-DVTR_ASSERT_LEVEL=3", extra_pkgs: "libeigen3-dev"}
41+
- {test: "vtr_reg_strong_odin", cores: "16", options: "", cmake: "-DVTR_ASSERT_LEVEL=3 -DWITH_ODIN=ON", extra_pkgs: "libeigen3-dev"}
42+
- {test: "vtr_reg_strong_odin", cores: "16", options: "-skip_qor", cmake: "-DVTR_ASSERT_LEVEL=3 -DVTR_ENABLE_SANITIZE=ON -DWITH_ODIN=ON", extra_pkgs: "libeigen3-dev"}
43+
- {test: "vtr_reg_system_verilog", cores: "16", options: "", cmake: "-DYOSYS_F4PGA_PLUGINS=ON", extra_pkgs: ""}
44+
- {test: "odin_reg_strong", cores: "16", options: "", cmake: "-DWITH_ODIN=ON", extra_pkgs: ""}
4145

4246
env:
4347
DEBIAN_FRONTEND: "noninteractive"
4448

4549
steps:
4650

47-
- uses: actions/checkout@v2
51+
- uses: actions/checkout@v3
4852

4953
- name: Setup
5054
run: stdbuf -i0 -i0 -e0 ./.github/scripts/hostsetup.sh
@@ -61,7 +65,7 @@ jobs:
6165
VTR_CMAKE_PARAMS: ${{ matrix.cmake }}
6266
NUM_CORES: ${{ matrix.cores }}
6367

64-
- uses: actions/upload-artifact@v2
68+
- uses: actions/upload-artifact@v3
6569
if: ${{ always() }}
6670
with:
6771
path: |
@@ -82,13 +86,13 @@ jobs:
8286
- { build_type: 'debug', verbose: '1' }
8387
steps:
8488

85-
- uses: actions/setup-python@v2
89+
- uses: actions/setup-python@v4
8690
with:
8791
python-version: 3.6
88-
- uses: actions/checkout@v2
92+
- uses: actions/checkout@v3
8993
- run: ./.github/scripts/install_dependencies.sh
9094

91-
- uses: hendrikmuhs/ccache-action@v1
95+
- uses: hendrikmuhs/ccache-action@v1.2
9296

9397
- name: Test
9498
env:
@@ -110,10 +114,10 @@ jobs:
110114
name: 'F: ${{ matrix.name }}'
111115
steps:
112116

113-
- uses: actions/setup-python@v2
117+
- uses: actions/setup-python@v4
114118
with:
115119
python-version: 3.6
116-
- uses: actions/checkout@v2
120+
- uses: actions/checkout@v3
117121
- run: ./.github/scripts/install_dependencies.sh
118122

119123
- name: Test
@@ -125,10 +129,10 @@ jobs:
125129
runs-on: ubuntu-18.04
126130
steps:
127131

128-
- uses: actions/setup-python@v2
132+
- uses: actions/setup-python@v4
129133
with:
130134
python-version: 3.6
131-
- uses: actions/checkout@v2
135+
- uses: actions/checkout@v3
132136
- run: ./.github/scripts/install_dependencies.sh
133137

134138
- name: Test
@@ -142,13 +146,13 @@ jobs:
142146
runs-on: ubuntu-18.04
143147
steps:
144148

145-
- uses: actions/setup-python@v2
149+
- uses: actions/setup-python@v4
146150
with:
147151
python-version: 3.6
148-
- uses: actions/checkout@v2
152+
- uses: actions/checkout@v3
149153
- run: ./.github/scripts/install_dependencies.sh
150154

151-
- uses: hendrikmuhs/ccache-action@v1
155+
- uses: hendrikmuhs/ccache-action@v1.2
152156

153157
- name: Test
154158
env:
@@ -171,6 +175,11 @@ jobs:
171175
params: '-DVTR_ASSERT_LEVEL=3 -DWITH_BLIFEXPLORER=on',
172176
suite: 'vtr_reg_basic'
173177
},
178+
{
179+
name: 'Basic_odin',
180+
params: '-DVTR_ASSERT_LEVEL=3 -DWITH_BLIFEXPLORER=on -DWITH_ODIN=on',
181+
suite: 'vtr_reg_basic'
182+
},
174183
{
175184
name: 'Basic with NO_GRAPHICS',
176185
params: '-DVTR_ASSERT_LEVEL=3 -DWITH_BLIFEXPLORER=on -DVPR_USE_EZGL=off',
@@ -181,27 +190,37 @@ jobs:
181190
params: '-DVTR_ASSERT_LEVEL=3 -DWITH_BLIFEXPLORER=on -DVTR_ENABLE_DEBUG_LOGGING=on',
182191
suite: 'vtr_reg_basic'
183192
},
193+
{
194+
name: 'Basic_odin with VTR_ENABLE_DEBUG_LOGGING',
195+
params: '-DVTR_ASSERT_LEVEL=3 -DWITH_BLIFEXPLORER=on -DVTR_ENABLE_DEBUG_LOGGING=on -DWITH_ODIN=on',
196+
suite: 'vtr_reg_basic_odin'
197+
},
184198
{
185199
name: 'Strong',
186200
params: '-DVTR_ASSERT_LEVEL=3 -DWITH_BLIFEXPLORER=on',
187201
suite: 'vtr_reg_strong'
188202
},
203+
{
204+
name: 'Strong_odin',
205+
params: '-DVTR_ASSERT_LEVEL=3 -DWITH_BLIFEXPLORER=on -DWITH_ODIN=on',
206+
suite: 'vtr_reg_strong_odin'
207+
},
189208
{
190209
name: 'Valgrind Memory',
191-
params: '-DVTR_ASSERT_LEVEL=3 -DWITH_BLIFEXPLORER=on',
210+
params: '-DVTR_ASSERT_LEVEL=3 -DWITH_BLIFEXPLORER=on -DWITH_ODIN=on',
192211
suite: 'vtr_reg_valgrind_small'
193212
}
194213
]
195214
name: 'R: ${{ matrix.name }}'
196215
steps:
197216

198-
- uses: actions/setup-python@v2
217+
- uses: actions/setup-python@v4
199218
with:
200219
python-version: 3.6
201-
- uses: actions/checkout@v2
220+
- uses: actions/checkout@v3
202221
- run: ./.github/scripts/install_dependencies.sh
203222

204-
- uses: hendrikmuhs/ccache-action@v1
223+
- uses: hendrikmuhs/ccache-action@v1.2
205224

206225
- name: Test
207226
env:
@@ -212,7 +231,7 @@ jobs:
212231
./run_reg_test.py ${{ matrix.suite }} -show_failures -j2
213232
214233
- name: Upload regression run files
215-
uses: actions/upload-artifact@v2
234+
uses: actions/upload-artifact@v3
216235
with:
217236
name: ${{matrix.name}}_run_files
218237
path: |
@@ -223,7 +242,7 @@ jobs:
223242
vtr_flow/**/*.r
224243
225244
- name: Upload regression results
226-
uses: actions/upload-artifact@v2
245+
uses: actions/upload-artifact@v3
227246
with:
228247
name: ${{matrix.name}}_results
229248
path: |
@@ -235,23 +254,30 @@ jobs:
235254
strategy:
236255
fail-fast: false
237256
matrix:
238-
include:
239-
- { name: 'Basic', suite: 'vtr_reg_basic' }
240-
#- { name: 'Strong', suite: 'vtr_reg_strong' } # SKIP Too long to run on GitHub Actions (max 6h)
257+
include: [
258+
{
259+
name: 'Basic',
260+
params: '-DVTR_ASSERT_LEVEL=3 -DVTR_ENABLE_SANITIZE=on -DVTR_IPO_BUILD=off -DWITH_BLIFEXPLORER=on -DWITH_ODIN=on',
261+
suite: 'vtr_reg_basic_odin'
262+
}
263+
#- { name: 'Strong', suite: 'vtr_reg_strong' } # SKIP Too long to run on GitHub Actions (max 6h)
264+
]
265+
266+
241267
name: 'S: ${{ matrix.name }}'
242268
steps:
243269

244-
- uses: actions/setup-python@v2
270+
- uses: actions/setup-python@v4
245271
with:
246272
python-version: 3.6
247-
- uses: actions/checkout@v2
273+
- uses: actions/checkout@v3
248274
- run: ./.github/scripts/install_dependencies.sh
249275

250-
- uses: hendrikmuhs/ccache-action@v1
276+
- uses: hendrikmuhs/ccache-action@v1.2
251277

252278
- name: Test
253279
env:
254-
CMAKE_PARAMS: '-DVTR_ASSERT_LEVEL=3 -DVTR_ENABLE_SANITIZE=on -DVTR_IPO_BUILD=off -DWITH_BLIFEXPLORER=on'
280+
CMAKE_PARAMS: ${{ matrix.params }}
255281
BUILD_TYPE: debug
256282
LSAN_OPTIONS: 'exitcode=42' #Use a non-standard exit code to ensure LSAN errors are detected
257283
run: |
@@ -261,22 +287,45 @@ jobs:
261287
./run_reg_test.py ${{ matrix.suite }} -show_failures -j2 -skip_qor
262288
263289
290+
Parmys:
291+
name: 'Parmys Basic Test'
292+
runs-on: ubuntu-18.04
293+
steps:
294+
295+
- uses: actions/setup-python@v4
296+
with:
297+
python-version: 3.6
298+
- uses: actions/checkout@v3
299+
- run: ./.github/scripts/install_dependencies.sh
300+
301+
- uses: hendrikmuhs/ccache-action@v1.2
302+
303+
- name: Test
304+
env:
305+
CMAKE_PARAMS: '-DVTR_IPO_BUILD=off'
306+
BUILD_TYPE: debug
307+
run: |
308+
export PATH="/usr/lib/ccache:/usr/local/opt/ccache/libexec:$PATH"
309+
./.github/scripts/build.sh
310+
./run_reg_test.py parmys_reg_basic -show_failures -j2
311+
312+
264313
ODINII:
265314
name: 'ODIN-II Basic Test'
266315
runs-on: ubuntu-18.04
267316
steps:
268317

269-
- uses: actions/setup-python@v2
318+
- uses: actions/setup-python@v4
270319
with:
271320
python-version: 3.6
272-
- uses: actions/checkout@v2
321+
- uses: actions/checkout@v3
273322
- run: ./.github/scripts/install_dependencies.sh
274323

275-
- uses: hendrikmuhs/ccache-action@v1
324+
- uses: hendrikmuhs/ccache-action@v1.2
276325

277326
- name: Test
278327
env:
279-
CMAKE_PARAMS: '-DVTR_ASSERT_LEVEL=3 -DVTR_ENABLE_SANITIZE=on -DVTR_IPO_BUILD=off -DWITH_BLIFEXPLORER=on'
328+
CMAKE_PARAMS: '-DVTR_ASSERT_LEVEL=3 -DVTR_ENABLE_SANITIZE=on -DVTR_IPO_BUILD=off -DWITH_BLIFEXPLORER=on -DWITH_ODIN=on'
280329
BUILD_TYPE: debug
281330
run: |
282331
export PATH="/usr/lib/ccache:/usr/local/opt/ccache/libexec:$PATH"
@@ -289,13 +338,13 @@ jobs:
289338
runs-on: ubuntu-18.04
290339
steps:
291340

292-
- uses: actions/setup-python@v2
341+
- uses: actions/setup-python@v4
293342
with:
294343
python-version: 3.6
295-
- uses: actions/checkout@v2
344+
- uses: actions/checkout@v3
296345
- run: ./.github/scripts/install_dependencies.sh
297346

298-
- uses: hendrikmuhs/ccache-action@v1
347+
- uses: hendrikmuhs/ccache-action@v1.2
299348

300349
- name: Test
301350
env:
@@ -322,17 +371,17 @@ jobs:
322371
name: 'B: ${{ matrix.name }}'
323372
steps:
324373

325-
- uses: actions/setup-python@v2
374+
- uses: actions/setup-python@v4
326375
with:
327376
python-version: 3.6
328-
- uses: actions/checkout@v2
377+
- uses: actions/checkout@v3
329378
- run: ./.github/scripts/install_dependencies.sh
330379

331-
- uses: hendrikmuhs/ccache-action@v1
380+
- uses: hendrikmuhs/ccache-action@v1.2
332381

333382
- name: Test
334383
env:
335-
CMAKE_PARAMS: "-DVTR_ASSERT_LEVEL=3 -DWITH_BLIFEXPLORER=on"
384+
CMAKE_PARAMS: "-DVTR_ASSERT_LEVEL=3 -DWITH_BLIFEXPLORER=on -DWITH_ODIN=on"
336385
MATRIX_EVAL: ${{ matrix.eval }}
337386
BUILD_TYPE: release
338387
run: |
@@ -349,19 +398,20 @@ jobs:
349398
- Warnings
350399
- Regression
351400
- Sanitized
401+
- Parmys
352402
- ODINII
353403
- VQM2BLIF
354404
- Compatibility
355405
runs-on: ubuntu-18.04
356406
steps:
357407

358-
- uses: actions/setup-python@v2
408+
- uses: actions/setup-python@v4
359409
with:
360410
python-version: 3.6
361-
- uses: actions/checkout@v2
411+
- uses: actions/checkout@v3
362412
- run: ./.github/scripts/install_dependencies.sh
363413

364-
- uses: hendrikmuhs/ccache-action@v1
414+
- uses: hendrikmuhs/ccache-action@v1.2
365415

366416
- name: Test
367417
env:

0 commit comments

Comments
 (0)