Skip to content

Commit e61207f

Browse files
authored
Merge branch 'master' into make_mode_conflict_non_fatal
2 parents 6f8fdab + c9fcf98 commit e61207f

File tree

3,057 files changed

+923298
-58703
lines changed

Some content is hidden

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

3,057 files changed

+923298
-58703
lines changed

.github/labeler.yml

Lines changed: 92 additions & 67 deletions
Original file line numberDiff line numberDiff line change
@@ -6,101 +6,126 @@
66

77
# Tools
88
ABC:
9-
- abc_with_bb_support/*
10-
- abc_with_bb_support/**/*
11-
- abc/*
12-
- abc/**/*
9+
- changed-files:
10+
- any-glob-to-any-file: abc_with_bb_support/*
11+
- any-glob-to-any-file: abc_with_bb_support/**/*
12+
- any-glob-to-any-file: abc/*
13+
- any-glob-to-any-file: abc/**/*
1314
ACE2:
14-
- ace2/*
15-
- ace2/**/*
15+
- changed-files:
16+
- any-glob-to-any-file: ace2/*
17+
- any-glob-to-any-file: ace2/**/*
1618
blifexplorer:
17-
- blifexplorer/*
18-
- blifexplorer/**/*
19+
- changed-files:
20+
- any-glob-to-any-file: blifexplorer/*
21+
- any-glob-to-any-file: blifexplorer/**/*
1922
Odin:
20-
- odin_ii/*
21-
- odin_ii/**/*
22-
- odin2_helper/*
23-
- odin2_helper/**/*
23+
- changed-files:
24+
- any-glob-to-any-file: odin_ii/*
25+
- any-glob-to-any-file: odin_ii/**/*
26+
- any-glob-to-any-file: odin2_helper/*
27+
- any-glob-to-any-file: odin2_helper/**/*
2428
Parmys:
25-
- parmys/*
26-
- parmys/**/*
27-
- yosys/*
28-
- yosys/**/*
29+
- changed-files:
30+
- any-glob-to-any-file: parmys/*
31+
- any-glob-to-any-file: parmys/**/*
32+
- any-glob-to-any-file: yosys/*
33+
- any-glob-to-any-file: yosys/**/*
2934
VPR:
30-
- vpr/*
31-
- vpr/**/*
35+
- changed-files:
36+
- any-glob-to-any-file: vpr/*
37+
- any-glob-to-any-file: vpr/**/*
3238

3339
# Libraries
3440
libarchfpga:
35-
- libs/libarchfpga/*
36-
- libs/libarchfpga/**/*
41+
- changed-files:
42+
- any-glob-to-any-file: libs/libarchfpga/*
43+
- any-glob-to-any-file: libs/libarchfpga/**/*
3744
libeasygl:
38-
- libs/libeasygl/*
39-
- libs/libeasygl/**/*
45+
- changed-files:
46+
- any-glob-to-any-file: libs/libeasygl/*
47+
- any-glob-to-any-file: libs/libeasygl/**/*
4048
liblog:
41-
- libs/liblog/*
42-
- libs/liblog/**/*
49+
- changed-files:
50+
- any-glob-to-any-file: libs/liblog/*
51+
- any-glob-to-any-file: libs/liblog/**/*
4352
libpugiutil:
44-
- libs/libpugiutil/*
45-
- libs/libpugiutil/**/*
53+
- changed-files:
54+
- any-glob-to-any-file: libs/libpugiutil/*
55+
- any-glob-to-any-file: libs/libpugiutil/**/*
4656
libvtrutil:
47-
- libs/libvtrutil/*
48-
- libs/libvtrutil/**/*
57+
- changed-files:
58+
- any-glob-to-any-file: libs/libvtrutil/*
59+
- any-glob-to-any-file: libs/libvtrutil/**/*
4960
external_libs:
50-
- libs/EXTERNAL/*
51-
- libs/EXTERNAL/**/*
61+
- changed-files:
62+
- any-glob-to-any-file: libs/EXTERNAL/*
63+
- any-glob-to-any-file: libs/EXTERNAL/**/*
5264

5365
# General areas
5466
docs:
55-
- docs/*
56-
- docs/**/*
57-
- "*README*"
58-
- "*.md"
59-
- tutorial
60-
- "*.rst"
67+
- changed-files:
68+
- any-glob-to-any-file: doc/*
69+
- any-glob-to-any-file: doc/**/*
70+
- any-glob-to-any-file: "*README*"
71+
- any-glob-to-any-file: "*.md"
72+
- any-glob-to-any-file: "*.rst"
6173
infra:
62-
- .github/*
63-
- .github/**/*
64-
- Dockerfile
65-
- "*docker*"
74+
- changed-files:
75+
- any-glob-to-any-file: .github/*
76+
- any-glob-to-any-file: .github/**/*
77+
- any-glob-to-any-file: Dockerfile
78+
- any-glob-to-any-file: "*docker*"
6679
build:
67-
- Makefile
68-
- "*.make"
69-
- CMakeLists.txt
70-
- cmake
80+
- changed-files:
81+
- any-glob-to-any-file: Makefile
82+
- any-glob-to-any-file: "*.make"
83+
- any-glob-to-any-file: CMakeLists.txt
84+
- any-glob-to-any-file: cmake/*
85+
- any-glob-to-any-file: cmake/**/*
7186
tests:
72-
- "*_test.py"
73-
- "*test*"
74-
- "*TESTS*"
87+
- changed-files:
88+
- any-glob-to-any-file: "*_test.py"
89+
- any-glob-to-any-file: "*test*"
90+
- any-glob-to-any-file: "*TESTS*"
7591
scripts:
76-
- scripts
77-
- "*.pl"
78-
- "*.py"
79-
- "*.sh"
92+
- changed-files:
93+
- any-glob-to-any-file: scripts
94+
- any-glob-to-any-file: "*.pl"
95+
- any-glob-to-any-file: "*.py"
96+
- any-glob-to-any-file: "*.sh"
8097
VTR Flow:
81-
- vtr_flow
98+
- changed-files:
99+
- any-glob-to-any-file: vtr_flow
82100

83101
# Tag pull requests with the languages used to make it easy to see what is
84102
# being used.
85103
lang-hdl:
86-
- "*.v"
87-
- "*.sv"
104+
- changed-files:
105+
- any-glob-to-any-file: "**/*.v"
106+
- any-glob-to-any-file: "**/*.sv"
88107
lang-cpp:
89-
- "*.c*"
90-
- "*.h"
108+
- changed-files:
109+
- any-glob-to-any-file: "**/*.c*"
110+
- any-glob-to-any-file: "**/*.h"
91111
lang-perl:
92-
- "*.pl"
93-
- "*perl*"
112+
- changed-files:
113+
- any-glob-to-any-file: "**/*.pl"
114+
- any-glob-to-any-file: "**/*perl*"
94115
lang-python:
95-
- "*.py"
116+
- changed-files:
117+
- any-glob-to-any-file: "**/*.py"
96118
lang-shell:
97-
- "*.sh"
119+
- changed-files:
120+
- any-glob-to-any-file: "**/*.sh"
98121
lang-netlist:
99-
- "*.blif"
100-
- "*.eblif"
101-
- "*.edif"
102-
- "*.vqm"
122+
- changed-files:
123+
- any-glob-to-any-file: "**/*.blif"
124+
- any-glob-to-any-file: "**/*.eblif"
125+
- any-glob-to-any-file: "**/*.edif"
126+
- any-glob-to-any-file: "**/*.vqm"
103127
lang-make:
104-
- "*.make"
105-
- Makefile
106-
- CMakeLists.txt
128+
- changed-files:
129+
- any-glob-to-any-file: "**/*.make"
130+
- any-glob-to-any-file: "**/*Makefile"
131+
- any-glob-to-any-file: "**/CMakeLists.txt"

.github/scripts/install_dependencies.sh

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@ sudo apt install -y \
2929
libncurses5-dev \
3030
libx11-dev \
3131
libxft-dev \
32+
libxml2-utils \
3233
libxml++2.6-dev \
3334
libreadline-dev \
3435
tcllib \

.github/workflows/labeler.yml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ jobs:
66
triage:
77
runs-on: ubuntu-latest
88
steps:
9-
- uses: actions/labeler@main
9+
- uses: actions/checkout@v3
10+
- uses: actions/labeler@master
1011
with:
1112
repo-token: "${{ secrets.GITHUB_TOKEN }}"

.github/workflows/test.yml

Lines changed: 18 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,8 @@ jobs:
1818
# Prevents from running on forks where no custom runners are available
1919
if: ${{ github.repository_owner == 'verilog-to-routing' }}
2020

21+
timeout-minutes: 420
22+
2123
container: ubuntu:jammy
2224

2325
runs-on: [self-hosted, Linux, X64]
@@ -29,20 +31,20 @@ jobs:
2931
- {test: "vtr_reg_nightly_test1", cores: "16", options: "", cmake: "", extra_pkgs: ""}
3032
- {test: "vtr_reg_nightly_test1_odin", cores: "16", options: "", cmake: "-DWITH_ODIN=ON", extra_pkgs: ""}
3133
- {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: "" }
34+
- {test: "vtr_reg_nightly_test2_odin", cores: "16", options: "", cmake: "-DWITH_ODIN=ON", extra_pkgs: ""}
3335
- {test: "vtr_reg_nightly_test3", cores: "16", options: "", cmake: "", extra_pkgs: ""}
3436
- {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_test4", cores: "16", options: "", cmake: "", extra_pkgs: ""}
38+
- {test: "vtr_reg_nightly_test4_odin", cores: "16", options: "", cmake: "-DWITH_ODIN=ON", extra_pkgs: ""}
3739
- {test: "vtr_reg_nightly_test5", cores: "16", options: "", cmake: "", extra_pkgs: ""}
3840
- {test: "vtr_reg_nightly_test6", cores: "16", options: "", cmake: "", extra_pkgs: ""}
3941
- {test: "vtr_reg_nightly_test7", cores: "16", options: "", cmake: "", extra_pkgs: ""}
40-
- {test: "vtr_reg_parmys", cores: "16", options: "", cmake: "", extra_pkgs: "" }
4142
- {test: "vtr_reg_strong", cores: "16", options: "", cmake: "-DVTR_ASSERT_LEVEL=3", extra_pkgs: "libeigen3-dev"}
4243
- {test: "vtr_reg_strong_odin", cores: "16", options: "", cmake: "-DVTR_ASSERT_LEVEL=3 -DWITH_ODIN=ON", extra_pkgs: "libeigen3-dev"}
4344
- {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"}
4445
- {test: "vtr_reg_system_verilog", cores: "16", options: "", cmake: "-DYOSYS_F4PGA_PLUGINS=ON", extra_pkgs: ""}
4546
- {test: "odin_reg_strong", cores: "16", options: "", cmake: "-DWITH_ODIN=ON", extra_pkgs: ""}
47+
- {test: "parmys_reg_strong", cores: "16", options: "", cmake: "-DYOSYS_F4PGA_PLUGINS=ON", extra_pkgs: ""}
4648

4749
env:
4850
DEBIAN_FRONTEND: "noninteractive"
@@ -195,6 +197,11 @@ jobs:
195197
params: '-DVTR_ASSERT_LEVEL=3 -DWITH_BLIFEXPLORER=on -DVPR_USE_EZGL=off',
196198
suite: 'vtr_reg_basic'
197199
},
200+
{
201+
name: 'Basic with CAPNPROTO disabled',
202+
params: '-DVTR_ASSERT_LEVEL=3 -DWITH_BLIFEXPLORER=on -DVTR_ENABLE_CAPNPROTO=off',
203+
suite: 'vtr_reg_basic'
204+
},
198205
{
199206
name: 'Basic with VTR_ENABLE_DEBUG_LOGGING',
200207
params: '-DVTR_ASSERT_LEVEL=3 -DWITH_BLIFEXPLORER=on -DVTR_ENABLE_DEBUG_LOGGING=on',
@@ -295,7 +302,13 @@ jobs:
295302
CMAKE_PARAMS: ${{ matrix.params }}
296303
BUILD_TYPE: debug
297304
LSAN_OPTIONS: 'exitcode=42' #Use a non-standard exit code to ensure LSAN errors are detected
305+
# In Ubuntu 20240310.1.0, the entropy of ASLR has increased (28 -> 32). LLVM 14 in this
306+
# image is not compatible with this increased ASLR entropy. Apparently, memory sanitizer
307+
# depends on LLVM and all CI tests where VTR_ENABLE_SANITIZE is enabled fail. For a temporary
308+
# fix, we manually reduce the entropy. This quick fix should be removed in the future
309+
# when github deploys a more stable Ubuntu image.
298310
run: |
311+
sudo sysctl -w vm.mmap_rnd_bits=28
299312
export PATH="/usr/lib/ccache:/usr/local/opt/ccache/libexec:$PATH"
300313
./.github/scripts/build.sh
301314
# We skip QoR since we are only checking for errors in sanitizer runs
@@ -347,6 +360,7 @@ jobs:
347360
CMAKE_PARAMS: '-DVTR_ASSERT_LEVEL=3 -DVTR_ENABLE_SANITIZE=on -DVTR_IPO_BUILD=off -DWITH_BLIFEXPLORER=on -DWITH_PARMYS=OFF -DWITH_ODIN=on'
348361
BUILD_TYPE: debug
349362
run: |
363+
sudo sysctl -w vm.mmap_rnd_bits=28
350364
export PATH="/usr/lib/ccache:/usr/local/opt/ccache/libexec:$PATH"
351365
./.github/scripts/build.sh
352366
./run_reg_test.py odin_reg_basic -show_failures -j2

.gitignore

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,19 @@ vtr_flow/benchmarks/titan_blif/titan23
3838
vtr_flow/benchmarks/titan_blif/titan_new
3939

4040

41+
#
42+
# NoC MLP benchmarks
43+
#
44+
# We ignore blif and vqm files because of thier large size.
45+
# We also ignore symbolic links to traffic flow and blif files.
46+
#
47+
vtr_flow/benchmarks/noc/Large_Designs/MLP/**/*.vqm
48+
vtr_flow/benchmarks/noc/Large_Designs/MLP/**/*.blif
49+
vtr_flow/benchmarks/noc/Large_Designs/MLP/blif_files/*
50+
vtr_flow/benchmarks/noc/Large_Designs/MLP/traffic_flow_files/*
51+
MLP_Benchmark_Netlist_Files_blif.tar.gz
52+
MLP_Benchmark_Netlist_Files_vqm_blif.tar.gz
53+
4154
#
4255
# ISPD benchmarks
4356
#

CHANGELOG.md

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -117,6 +117,13 @@ _The following are changes which have been implemented in the VTR master branch
117117
### Deprecated
118118
* VPR's breadth-first router (use the timing-driven router, which provides supperiour QoR and Run-time)
119119

120+
### Docker Image
121+
* A docker image is available for VTR 8.0 release on mohamedelgammal/vtr8:latest. You can run it using the following commands:
122+
```
123+
$ sudo docker pull mohamedelgammal/vtr8:latest
124+
$ sudo docker run -it mohamedelgammal/vtr8:latest
125+
```
126+
120127
## v8.0.0-rc2 - 2019-08-01
121128

122129
### Changed

CMakeLists.txt

Lines changed: 16 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ set(VTR_IPO_BUILD "auto" CACHE STRING "Should VTR be compiled with interprocedur
2323
set_property(CACHE VTR_IPO_BUILD PROPERTY STRINGS auto on off)
2424

2525
#Allow the user to configure how much assertion checking should occur
26-
set(VTR_ASSERT_LEVEL "2" CACHE STRING "VTR assertion checking level. 0: no assertions, 1: fast assertions, 2: regular assertions, 3: additional assertions with noticable run-time overhead, 4: all assertions (including those with significant run-time cost)")
26+
set(VTR_ASSERT_LEVEL "2" CACHE STRING "VTR assertion checking level. 0: no assertions, 1: fast assertions, 2: regular assertions, 3: additional assertions with noticeable run-time overhead, 4: all assertions (including those with significant run-time cost)")
2727
set_property(CACHE VTR_ASSERT_LEVEL PROPERTY STRINGS 0 1 2 3 4)
2828

2929
option(VTR_ENABLE_STRICT_COMPILE "Specifies whether compiler warnings should be treated as errors (e.g. -Werror)" OFF)
@@ -341,6 +341,14 @@ add_custom_target(get_titan_benchmarks
341341
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
342342
COMMENT "Downloading (~1GB) and extracting Titan benchmarks (~10GB) into VTR source tree.")
343343

344+
#
345+
# NoC MLP Benchmarks
346+
#
347+
add_custom_target(get_noc_mlp_benchmarks
348+
COMMAND ./vtr_flow/scripts/download_noc_mlp.py --vtr_flow_dir ./vtr_flow
349+
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
350+
COMMENT "Downloading (~100MB) and extracting NoC MLP benchmarks (~3.2GB) into VTR source tree.")
351+
344352
#
345353
# ISPD Benchmarks
346354
#
@@ -410,11 +418,13 @@ if(${WITH_PARMYS}) # define cmake params to compile Yosys
410418
set(MAKE_PROGRAM "make")
411419
endif()
412420

413-
if(NOT DEFINED "${CMAKE_BUILD_PARALLEL_LEVEL}")
414-
set(CUSTOM_BUILD_PARALLEL_LEVEL 16)
415-
else()
416-
set(CUSTOM_BUILD_PARALLEL_LEVEL "${CMAKE_BUILD_PARALLEL_LEVEL}")
417-
endif()
421+
# Commented out since a make file should not call another make command with
422+
# threads. It should pass this information from the parent automatically.
423+
# if(NOT DEFINED "${CMAKE_BUILD_PARALLEL_LEVEL}")
424+
# set(CUSTOM_BUILD_PARALLEL_LEVEL 16)
425+
# else()
426+
# set(CUSTOM_BUILD_PARALLEL_LEVEL "${CMAKE_BUILD_PARALLEL_LEVEL}")
427+
# endif()
418428
add_subdirectory(yosys)
419429
endif()
420430

0 commit comments

Comments
 (0)