Skip to content

Update OpenFPGA #2982

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
wants to merge 544 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
544 commits
Select commit Hold shift + click to select a range
042bef4
Update rr_graph_view.h
Wang-Yuanqi-source May 26, 2024
77f802e
Update rr_graph_storage.h
Wang-Yuanqi-source May 26, 2024
ba5cd69
Update rr_graph_storage.cpp
Wang-Yuanqi-source May 26, 2024
7ffd299
Update rr_graph_builder.h
Wang-Yuanqi-source May 26, 2024
155716f
Update read_xml_arch_file.cpp
Wang-Yuanqi-source May 26, 2024
91e62d5
[vpr] bypass 0-fan-in node in power estimator
tangxifan Jun 4, 2024
d1b89e5
Merge branch 'master' into openfpga
tangxifan Jun 4, 2024
82a1860
Merge branch 'master' into openfpga
tangxifan Jun 5, 2024
d8cd3db
resolve merge conflicts.
Tulong4Dev Jun 6, 2024
755662b
Merge pull request #2591 from verilog-to-routing/resolve_merge_conflict
tangxifan Jun 6, 2024
8ffc583
Merge branch 'master' into openfpga
tangxifan Jun 6, 2024
6e8ac62
Merge branch 'master' into openfpga
tangxifan Jun 9, 2024
7bd0433
Update physical_types.h
Wang-Yuanqi-source Jun 9, 2024
a0ecbce
Update read_xml_arch_file.cpp
Wang-Yuanqi-source Jun 9, 2024
16ab238
Update SetupGrid.cpp
Wang-Yuanqi-source Jun 9, 2024
35cccdc
Update vpr_context.h
Wang-Yuanqi-source Jun 9, 2024
7af8feb
Update SetupGrid.h
Wang-Yuanqi-source Jun 9, 2024
56a7e68
Update vpr_api.cpp
Wang-Yuanqi-source Jun 9, 2024
98e7992
Update tileable_rr_graph_edge_builder.cpp
Wang-Yuanqi-source Jun 9, 2024
5b32f84
Update tileable_rr_graph_builder.cpp
Wang-Yuanqi-source Jun 9, 2024
87d4b59
Update tileable_rr_graph_edge_builder.h
Wang-Yuanqi-source Jun 9, 2024
c23795c
Update tileable_rr_graph_node_builder.cpp
Wang-Yuanqi-source Jun 9, 2024
873469f
Update tileable_rr_graph_node_builder.h
Wang-Yuanqi-source Jun 9, 2024
307fb0b
Update read_xml_arch_file.cpp
Wang-Yuanqi-source Jun 15, 2024
77dfbe9
Update tileable_rr_graph_builder.cpp
Wang-Yuanqi-source Jun 15, 2024
55c4835
Update check_rr_graph.cpp
Wang-Yuanqi-source Jun 15, 2024
82151d4
Update check_route.cpp
Wang-Yuanqi-source Jun 15, 2024
fffdc02
Update rr_graph_uxsdcxx_serializer.h
Wang-Yuanqi-source Jun 15, 2024
71c60e2
Update rr_graph_uxsdcxx_interface.h
Wang-Yuanqi-source Jun 15, 2024
14eedda
Update rr_graph.cpp
Wang-Yuanqi-source Jun 15, 2024
ac8c197
Update rr_graph2.cpp
Wang-Yuanqi-source Jun 15, 2024
ed15d8a
Update vpr_utils.cpp
Wang-Yuanqi-source Jun 15, 2024
e508528
Update connection_router.cpp
Wang-Yuanqi-source Jun 15, 2024
08268fe
Update overuse_report.cpp
Wang-Yuanqi-source Jun 15, 2024
6abd0b7
Update vpr_utils.h
Wang-Yuanqi-source Jun 15, 2024
f80e4c3
Update router_lookahead_map_utils.cpp
Wang-Yuanqi-source Jun 15, 2024
92fd5af
Update router_lookahead_map.cpp
Wang-Yuanqi-source Jun 15, 2024
faf2ef3
Update rr_graph_uxsdcxx.h
Wang-Yuanqi-source Jun 15, 2024
601718a
Update rr_spatial_lookup.cpp
Wang-Yuanqi-source Jun 15, 2024
0541865
Update check_rr_graph.h
Wang-Yuanqi-source Jun 15, 2024
a2777e6
Update tileable_rr_graph_edge_builder.cpp
Wang-Yuanqi-source Jun 15, 2024
58dce81
Update tileable_rr_graph_gsb.cpp
Wang-Yuanqi-source Jun 15, 2024
5bb56c7
Update tileable_rr_graph_gsb.h
Wang-Yuanqi-source Jun 15, 2024
0929cd0
Update rr_node_types.h
Wang-Yuanqi-source Jun 15, 2024
6121423
Update rr_graph_builder.h
Wang-Yuanqi-source Jun 15, 2024
1d0be82
Update rr_graph_storage.cpp
Wang-Yuanqi-source Jun 15, 2024
e904c86
Update rr_graph_storage.h
Wang-Yuanqi-source Jun 15, 2024
25b096d
Update rr_graph_cost.h
Wang-Yuanqi-source Jun 15, 2024
e099206
Merge branch 'master' into openfpga
tangxifan Jun 18, 2024
fed10de
Merge branch 'master' into openfpga
tangxifan Jun 18, 2024
2ff460a
Merge branch 'master' into openfpga
tangxifan Jun 19, 2024
6a4f0ca
Merge branch 'master' into openfpga
tangxifan Jun 24, 2024
115d237
Removing warnings from libencrypt and libdecrypt
behzadmehmood Jun 25, 2024
03556c6
Merge branch 'openfpga' into patch-1
Wang-Yuanqi-source Jul 2, 2024
a7b8546
Merge branch 'master' of github.com:verilog-to-routing/vtr-verilog-to…
tangxifan Jul 3, 2024
e4ddd25
[vpr] add a new option to enable perimeter cbx and cby
tangxifan Jul 3, 2024
691ae6d
[vpr] updating tileable rr graph generator
tangxifan Jul 3, 2024
619e94e
[vpr] upgraded tileable rr_graph to support perimeter cb
tangxifan Jul 3, 2024
e4e158d
[vpr] syntax
tangxifan Jul 3, 2024
57dc489
[test] add perimeter_cb to strong test
tangxifan Jul 3, 2024
46dd4bf
[test] add new test
tangxifan Jul 3, 2024
c1f3c80
[vpr] fixed a bug on access invalid grid nodes
tangxifan Jul 3, 2024
76d69fb
[lib] relax check_rr_node on (x, y) range as now CHANX and CHANY can …
tangxifan Jul 3, 2024
3095c28
Merge branch 'master' into openfpga
tangxifan Jul 3, 2024
64bbd24
[vpr] typo on debug string
tangxifan Jul 4, 2024
7aa2304
[vpr] fix minor bug where sort edge is not applicable to boundary gsb…
tangxifan Jul 4, 2024
97c106c
[vpr] fixing a bug where sorted edges are not located
tangxifan Jul 4, 2024
b172d26
[vpr] now when cb on perimeter, I/O pins can access three sides
tangxifan Jul 4, 2024
ae9eb2d
[vpr] syntax
tangxifan Jul 4, 2024
b9bc0cb
[vpr] syntax
tangxifan Jul 4, 2024
159bea4
[vpr] syntax
tangxifan Jul 4, 2024
fbbf53d
[vpr] fixed a bug where perimeter cb are not connected to adjancet sbs
tangxifan Jul 4, 2024
19fa43c
[vpr] fixing some bugs in rr gsb
tangxifan Jul 4, 2024
589b6bc
[core] debug
tangxifan Jul 4, 2024
e9d5647
[vpr] now change to a simpler rr gsb coordinate system: grid is moved…
tangxifan Jul 5, 2024
d338952
[vpr] update gsb builder in tileable rr graph for changing the coordi…
tangxifan Jul 5, 2024
ba0576d
[vpr] syntax
tangxifan Jul 5, 2024
826a10b
[vpr] debugging
tangxifan Jul 5, 2024
b06f2ee
[core] fixed a bug where gsb nodes are not correctly added
tangxifan Jul 5, 2024
de0d0bc
[core] debug
tangxifan Jul 5, 2024
0a1bc20
[core] debugging
tangxifan Jul 5, 2024
4da28ff
[core] debug
tangxifan Jul 5, 2024
c71c3b9
[core] debug
tangxifan Jul 5, 2024
d2be1c8
[core] fixed a critical bug
tangxifan Jul 5, 2024
3eca1f6
Updating libencryption/libdecryption for compatibility with openssl3
behzadmehmood Jul 8, 2024
abf1ce6
Not dumping decrypted xml
behzadmehmood Jul 8, 2024
2f82dd7
Commenting unused variables in pugixml_loc.cpp
behzadmehmood Jul 8, 2024
11e3b5a
Merge branch 'openfpga' of https://github.com/verilog-to-routing/vtr-…
behzadmehmood Jul 8, 2024
2040d43
[core] fixed a bug where sb may go out of boundary
tangxifan Jul 8, 2024
5ca82e5
[core] code format
tangxifan Jul 8, 2024
ddc3ac4
[core] debugging
tangxifan Jul 8, 2024
67fe7a3
Minor changes for code clean-up
behzadmehmood Jul 9, 2024
e8b2ac7
Updating code to avoid possible memory leaks
behzadmehmood Jul 9, 2024
2482506
Dynamically allocating memory for session key
behzadmehmood Jul 9, 2024
7f1df67
Adding test for XML encryption/decryption
behzadmehmood Jul 10, 2024
18be453
Updating CMake for libencrypt
behzadmehmood Jul 10, 2024
6537c73
Correcting typo and removing valgrind call from workflow file
behzadmehmood Jul 10, 2024
dd5e470
Updating build path for Test_Encryption_Decryption
behzadmehmood Jul 10, 2024
75e8676
Update alloc_and_load_rr_indexed_data.cpp
Wang-Yuanqi-source Jul 13, 2024
0f81e94
Update read_route.cpp
Wang-Yuanqi-source Jul 13, 2024
9e0ae28
Update describe_rr_node.cpp
Wang-Yuanqi-source Jul 13, 2024
b65a8e2
Update check_route.cpp
Wang-Yuanqi-source Jul 13, 2024
abaec29
Update rr_graph_area.cpp
Wang-Yuanqi-source Jul 13, 2024
e6b7e7d
Update tileable_rr_graph_edge_builder.cpp
Wang-Yuanqi-source Jul 13, 2024
30dae5a
Update tileable_chan_details_builder.cpp
Wang-Yuanqi-source Jul 13, 2024
6d1dd98
added unit test for libdecryption
NadeemYaseen Jul 13, 2024
cc8816a
Update read_xml_arch_file.cpp
Wang-Yuanqi-source Jul 14, 2024
70e4f5a
Update vpr_utils.h
Wang-Yuanqi-source Jul 14, 2024
cabf2ea
Update vpr_utils.cpp
Wang-Yuanqi-source Jul 14, 2024
0ead1a8
Update router_lookahead_map_utils.cpp
Wang-Yuanqi-source Jul 14, 2024
07627be
Update tileable_rr_graph_builder.cpp
Wang-Yuanqi-source Jul 14, 2024
efb99fc
Update vpr_utils.cpp
Wang-Yuanqi-source Jul 14, 2024
510f4e2
Update SetupGrid.h
Wang-Yuanqi-source Jul 14, 2024
993aca5
Update SetupGrid.h
Wang-Yuanqi-source Jul 14, 2024
deb8802
Merge remote-tracking branch 'origin/openfpga' into rem_warnings
behzadmehmood Jul 15, 2024
9eef18c
Merge pull request #2629 from verilog-to-routing/rem_warnings
tangxifan Jul 30, 2024
68e4d65
Merge branch 'openfpga' into patch-1
Wang-Yuanqi-source Jul 30, 2024
51bd666
Merge branch 'master' into openfpga
tangxifan Jul 30, 2024
42829ed
Merge branch 'master' into openfpga
tangxifan Jul 31, 2024
af8895e
Merge branch 'master' into openfpga
tangxifan Aug 8, 2024
9dc2a45
Merge branch 'master' into openfpga
tangxifan Aug 28, 2024
83f8bfe
Merge branch 'master' into openfpga
tangxifan Oct 7, 2024
9ddf4ca
[core] adapt to side var changes
tangxifan Oct 7, 2024
585bd4f
[core] fixed a bug where sink node cannot be mirror
tangxifan Oct 7, 2024
727ecf6
Merge branch 'master' into openfpga
tangxifan Oct 7, 2024
2eb6eb6
Merge branch 'master' into openfpga
tangxifan Oct 8, 2024
7569f73
Merge branch 'master' into openfpga
tangxifan Oct 8, 2024
e677079
Merge branch 'master' into openfpga
tangxifan Oct 10, 2024
a3b55ea
Merge branch 'master' into openfpga
tangxifan Oct 17, 2024
876311a
[core] fix the bug where skip sync-routing results are not applicable…
tangxifan Oct 17, 2024
1afa2f5
Create vib_inf.cpp
Wang-Yuanqi-source Oct 22, 2024
f3deaa6
Create vib_inf.h
Wang-Yuanqi-source Oct 22, 2024
ccb5b56
Update rr_graph_storage.h
Wang-Yuanqi-source Oct 22, 2024
3769b62
Update physical_types.h
Wang-Yuanqi-source Oct 22, 2024
9e521a0
Update read_xml_arch_file.cpp
Wang-Yuanqi-source Oct 22, 2024
cb22a8a
Update check_rr_graph.cpp
Wang-Yuanqi-source Oct 22, 2024
487ed26
Update check_rr_graph.h
Wang-Yuanqi-source Oct 22, 2024
6382aaf
Update rr_graph_uxsdcxx_serializer.h
Wang-Yuanqi-source Oct 22, 2024
bb2d5cf
Update SetupGrid.cpp
Wang-Yuanqi-source Oct 22, 2024
b3bb7c8
Update SetupGrid.h
Wang-Yuanqi-source Oct 22, 2024
5b27ab8
Update vpr_api.cpp
Wang-Yuanqi-source Oct 22, 2024
345a27c
Update vpr_context.h
Wang-Yuanqi-source Oct 22, 2024
eeb448a
Update connection_router.cpp
Wang-Yuanqi-source Oct 22, 2024
0d7cacd
Update overuse_report.cpp
Wang-Yuanqi-source Oct 22, 2024
6f773cd
Update router_lookahead_map_utils.cpp
Wang-Yuanqi-source Oct 22, 2024
f7427aa
Update router_lookahead_map.cpp
Wang-Yuanqi-source Oct 22, 2024
d91bd9f
Update rr_graph.cpp
Wang-Yuanqi-source Oct 22, 2024
ce412a4
Update tileable_rr_graph_builder.cpp
Wang-Yuanqi-source Oct 22, 2024
d0f19a0
Update tileable_rr_graph_edge_builder.cpp
Wang-Yuanqi-source Oct 22, 2024
f117218
Update tileable_rr_graph_edge_builder.h
Wang-Yuanqi-source Oct 22, 2024
0e0c9af
Update tileable_rr_graph_gsb.cpp
Wang-Yuanqi-source Oct 22, 2024
9b8a3f2
Update tileable_rr_graph_gsb.h
Wang-Yuanqi-source Oct 22, 2024
ca9e9f1
Update tileable_rr_graph_node_builder.cpp
Wang-Yuanqi-source Oct 22, 2024
3f5633b
Update tileable_rr_graph_node_builder.h
Wang-Yuanqi-source Oct 22, 2024
317e2fe
Update vpr_utils.cpp
Wang-Yuanqi-source Oct 22, 2024
4b91e02
Update vpr_utils.h
Wang-Yuanqi-source Oct 22, 2024
0f34455
Update tileable_chan_details_builder.cpp
Wang-Yuanqi-source Oct 22, 2024
6ce3706
Merge branch 'master' into openfpga
tangxifan Oct 23, 2024
3937e3c
Merge branch 'openfpga' into patch-1
Wang-Yuanqi-source Oct 24, 2024
39c80f4
Merge branch 'master' into openfpga
tangxifan Oct 28, 2024
3a3f24e
Update tileable_rr_graph_gsb.cpp
Wang-Yuanqi-source Nov 4, 2024
a757254
Update rr_spatial_lookup.cpp
Wang-Yuanqi-source Nov 4, 2024
b447186
Update rr_gsb.cpp
Wang-Yuanqi-source Nov 4, 2024
35b4200
Update tileable_rr_graph_gsb.h
Wang-Yuanqi-source Nov 4, 2024
d5d2372
Update tileable_rr_graph_node_builder.cpp
Wang-Yuanqi-source Nov 4, 2024
8afea46
Update tileable_rr_graph_node_builder.h
Wang-Yuanqi-source Nov 4, 2024
1d45f3b
Update check_rr_graph.cpp
Wang-Yuanqi-source Nov 4, 2024
e8c88fa
Update check_rr_graph.h
Wang-Yuanqi-source Nov 4, 2024
7c6d85c
Update vib_inf.h
Wang-Yuanqi-source Nov 4, 2024
6075e31
Update physical_types.h
Wang-Yuanqi-source Nov 4, 2024
3941eef
Update vib_inf.cpp
Wang-Yuanqi-source Nov 4, 2024
6be2c9a
Update read_xml_arch_file.cpp
Wang-Yuanqi-source Nov 4, 2024
391d044
Update SetupVPR.cpp
Wang-Yuanqi-source Nov 4, 2024
6f681c2
Update SetupGrid.cpp
Wang-Yuanqi-source Nov 4, 2024
463bdd0
Update SetupGrid.h
Wang-Yuanqi-source Nov 4, 2024
6359b5c
Create SetupVibGrid.cpp
Wang-Yuanqi-source Nov 4, 2024
c0a2736
Create SetupVibGrid.h
Wang-Yuanqi-source Nov 4, 2024
52edaf9
Update vpr_api.cpp
Wang-Yuanqi-source Nov 4, 2024
60bc5a0
Update vpr_context.h
Wang-Yuanqi-source Nov 4, 2024
b9d587e
Update rr_graph.xsd
Wang-Yuanqi-source Nov 4, 2024
5ad2329
Update tileable_rr_graph_edge_builder.cpp
Wang-Yuanqi-source Nov 4, 2024
cbcdf0e
Update tileable_rr_graph_edge_builder.h
Wang-Yuanqi-source Nov 4, 2024
84faf43
Update rr_graph.cpp
Wang-Yuanqi-source Nov 4, 2024
4e046ef
Update rr_graph_uxsdcxx_serializer.h
Wang-Yuanqi-source Nov 4, 2024
60bee8f
Update overuse_report.cpp
Wang-Yuanqi-source Nov 4, 2024
0b4cfc2
Update router_lookahead_map.cpp
Wang-Yuanqi-source Nov 4, 2024
a182a76
Update router_lookahead_map_utils.cpp
Wang-Yuanqi-source Nov 4, 2024
6343061
Update rr_gsb.h
Wang-Yuanqi-source Nov 4, 2024
04959b7
Merge branch 'master' into openfpga
tangxifan Nov 4, 2024
fee1e52
Merge branch 'master' into openfpga
tangxifan Nov 12, 2024
d0f15b1
[lib] syntax
tangxifan Nov 13, 2024
6692776
[core] resolve conflicts
tangxifan Nov 13, 2024
8178b71
[lib] clang syntax
tangxifan Nov 13, 2024
3bb9068
Update tileable_rr_graph_node_builder.cpp
Wang-Yuanqi-source Nov 25, 2024
be709d2
Update SetupVibGrid.cpp
Wang-Yuanqi-source Nov 25, 2024
d7d93c9
Update tileable_rr_graph_node_builder.h
Wang-Yuanqi-source Nov 25, 2024
91960e2
Update tileable_rr_graph_builder.cpp
Wang-Yuanqi-source Nov 25, 2024
729ae80
Update tileable_rr_graph_edge_builder.cpp
Wang-Yuanqi-source Nov 25, 2024
7a0dfbc
Update tileable_rr_graph_gsb.cpp
Wang-Yuanqi-source Nov 25, 2024
2e50bfb
Update rr_gsb.h
Wang-Yuanqi-source Nov 25, 2024
9dac8c4
Update tileable_rr_graph_gsb.h
Wang-Yuanqi-source Nov 25, 2024
a4479e5
Update tileable_rr_graph_edge_builder.h
Wang-Yuanqi-source Nov 25, 2024
9ae8a99
Update vib_inf.h
Wang-Yuanqi-source Nov 25, 2024
230fe0f
Update vib_inf.cpp
Wang-Yuanqi-source Nov 25, 2024
1678907
Update tileable_rr_graph_gsb.cpp
Wang-Yuanqi-source Nov 25, 2024
cfe7c2a
Update index.rst
Wang-Yuanqi-source Nov 29, 2024
35a82e7
Create VIB.rst
Wang-Yuanqi-source Nov 29, 2024
e2fff38
Add files via upload
Wang-Yuanqi-source Nov 29, 2024
8dae0c3
Create vib_test_arch.xml
Wang-Yuanqi-source Nov 29, 2024
481efce
Create music.blif
Wang-Yuanqi-source Nov 29, 2024
9240ab6
Add files via upload
Wang-Yuanqi-source Nov 29, 2024
b96878a
Merge branch 'openfpga' into patch-1
Wang-Yuanqi-source Dec 17, 2024
fe31ad7
Merge pull request #2637 from Wang-Yuanqi-source/patch-1
tangxifan Jan 13, 2025
ed4faca
Merge branch 'master' into openfpga
tangxifan Jan 13, 2025
ec6da7f
[core] syntax
tangxifan Jan 13, 2025
bb5235e
[core] clang warning
tangxifan Jan 17, 2025
e438960
Merge branch 'master' of github.com:verilog-to-routing/vtr-verilog-to…
tangxifan Jan 17, 2025
0eb7de5
[core] clang warning
tangxifan Jan 17, 2025
6aa89f2
[core] compiler warning
tangxifan Jan 17, 2025
679a3b4
Merge branch 'master' into openfpga
tangxifan Jan 17, 2025
1959805
[core] clang syntax
tangxifan Jan 17, 2025
43d4422
Merge branch 'openfpga' of github.com:verilog-to-routing/vtr-verilog-…
tangxifan Jan 17, 2025
9e417cf
Update vib_test_arch.xml
Wang-Yuanqi-source Jan 18, 2025
27319b2
Create config.txt
Wang-Yuanqi-source Jan 18, 2025
364ac60
Create golden_results.txt
Wang-Yuanqi-source Jan 18, 2025
2f8191d
Update task_list.txt
Wang-Yuanqi-source Jan 18, 2025
4d881fa
Merge pull request #2869 from Wang-Yuanqi-source/patch-1
tangxifan Jan 27, 2025
d273cb2
Update VIB.rst
Wang-Yuanqi-source Feb 11, 2025
27bdc8c
Update VIB.rst
Wang-Yuanqi-source Feb 11, 2025
1eab1b3
Update VIB.rst
Wang-Yuanqi-source Feb 11, 2025
395d152
Update VIB.rst
Wang-Yuanqi-source Feb 11, 2025
1f7a845
Update VIB.rst
Wang-Yuanqi-source Feb 11, 2025
1d161b5
Update VIB.rst
Wang-Yuanqi-source Feb 11, 2025
393b6ce
Delete doc/src/Images/double-level.png
Wang-Yuanqi-source Feb 11, 2025
c699df9
Add files via upload
Wang-Yuanqi-source Feb 11, 2025
dca165c
Add files via upload
Wang-Yuanqi-source Feb 11, 2025
4a1a12f
Add files via upload
Wang-Yuanqi-source Feb 11, 2025
656471d
Update VIB.rst
Wang-Yuanqi-source Feb 11, 2025
2e9d87d
Update VIB.rst
Wang-Yuanqi-source Feb 11, 2025
d1d210e
Update VIB.rst
Wang-Yuanqi-source Feb 12, 2025
5ba8a0e
Update VIB.rst
Wang-Yuanqi-source Feb 12, 2025
4341b2b
Update VIB.rst
Wang-Yuanqi-source Feb 12, 2025
bf81263
Add files via upload
Wang-Yuanqi-source Feb 12, 2025
8fcd273
Rename example.png to vib_example.png
Wang-Yuanqi-source Feb 12, 2025
0468c29
Update VIB.rst
Wang-Yuanqi-source Feb 12, 2025
8c40b19
Update VIB.rst
Wang-Yuanqi-source Feb 12, 2025
579b136
Merge branch 'openfpga' into patch-1
tangxifan Mar 12, 2025
77df6c6
Merge pull request #2916 from Wang-Yuanqi-source/patch-1
tangxifan Mar 12, 2025
1485ed5
Merge branch 'master' of https://github.com/verilog-to-routing/vtr-ve…
amin1377 Apr 16, 2025
93c5c39
[vpr][tileable] add include
amin1377 Apr 16, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions .github/scripts/hostsetup.sh
Original file line number Diff line number Diff line change
Expand Up @@ -70,6 +70,8 @@ apt install -y \
g++-9 \
gcc-9 \
wget \
openssl \
libssl-dev \
libtbb-dev

# installing the latest version of cmake
Expand Down
3 changes: 2 additions & 1 deletion .github/scripts/install_dependencies.sh
Original file line number Diff line number Diff line change
Expand Up @@ -56,7 +56,8 @@ sudo apt install -y \
clang-17 \
clang-18 \
clang-format-18 \
libtbb-dev
libtbb-dev \
openssl

pip install -r requirements.txt

Expand Down
1 change: 1 addition & 0 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,7 @@ option(VTR_ENABLE_SANITIZE "Enable address/leak/undefined-behaviour sanitizers (
option(VTR_ENABLE_PROFILING "Enable performance profiler (gprof)" OFF)
option(VTR_ENABLE_COVERAGE "Enable code coverage tracking (gcov)" OFF)
option(VTR_ENABLE_DEBUG_LOGGING "Enable debug logging" OFF)
option(VTR_ENABLE_VERSION "Enable version number up-to-date during compilation" ON)
option(VTR_ENABLE_VERBOSE "Enable increased debug verbosity" OFF)
option(SPEC_CPU "Enable SPEC CPU v8 support" OFF)

Expand Down
Binary file added doc/src/Images/VIB.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added doc/src/Images/bent_wires.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added doc/src/Images/double-level.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added doc/src/Images/vib_example.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
254 changes: 254 additions & 0 deletions doc/src/vpr/VIB.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,254 @@
.. _VIB:

VIB Architecture
============
The VIB architecture adds modeling support for double-level MUX topology and bent wires. In past, switch blocks have only one level of routing MUXes, whose inputs are driven by outputs of programmable blocks and routing tracks. Now outputs of programmable blocks can shape the first level of routing MUXes, while the inputs of second level involves the outputs of first level and other routing tracks. This can reduce the number and input sizes of routing MUXes.

Figure 1 shows the proposed VIB architecture which is tile-based. Each tile is composed of a CLB and a VIB. Each CLB can interact with the corresponding VIB which contains all the routing programmable switches in one tile. Figure 2 shows an example of the detailed interconnect architecture in VIB. The CLB input muxes and the driving muxes of wire segments can share the same fanins. A routing path of a net with two sinks is presented red in the Figure.

.. figure:: ../Images/VIB.png
:align: center
:height: 300

Figure 1. VIB architecture. The connections between the inputs and outputs of the LB and the routing wires are all implemented within the VIB.

.. figure:: ../Images/double-level.png
:align: center

Figure 2. Double-level MUX topology.

Figure 3 shows the modeling for bent wires. A bent L-length wire is modeled as two segments in CHANX and CHANY respectively connected by a delayless switch. The orange and red arrows represent conterclockwise and clockwise bent wires respectively. The bent wires can connect to both bent and straight wire segments.

.. figure:: ../Images/bent_wires.png
:align: center

Figure 3. Presentation for bent wires.

FPGA Architecture File Modification (.xml)
--------------------------
For original tags of FPGA architecture file see :ref:`fpga_architecture_description`.

Modification for ``<segmentlist>`` Tag
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
The content within the ``<segmentlist>`` tag consists of a group of ``<segment>`` tags.
The ``<segment>`` tag and its contents are described below.

.. arch:tag:: <segment axis="{x|y}" name="unique_name" length="int" type="{bidir|unidir}" res_type="{GCLK|GENERAL}" freq="float" Rmetal="float" Cmetal="float">content</segment>

:req_param content:
The switch names and the depopulation pattern as described below.

.. arch:tag:: <sb type="pattern">int list</sb>

.. arch:tag:: <cb type="pattern">int list</cb>

.. arch:tag:: <mux name="string"/>

For bent wires, a new content ``<bent>`` is added in the ``<segment>`` tag.

.. arch:tag:: <cb type="pattern">bent pattern list</cb>

This tag describes the bent pattern for this particular wire segment.
For example, a length 4 wire has a bent pattern of ``- - U``.
A ``-`` indicates no bent at this position and a ``U`` indicates a conterclockwise bent at the position. (``D`` indicates a clockwise bent.)

.. note:: A bent wire should remain consistent in both the x and y axes.

New Added Top Level Tag ``<vib_arch>``
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
The content within the ``<vib_arch>`` tag consists of a group of ``<vib>`` tags. Different ``<vib>`` tags describe the paradigms of VIB, which apply to different positions.

.. arch:tag:: <vib name="vib_name" pbtype_name="pbtype_name" vib_seg_group="int" arch_vib_switch="string">content</vib>

:req_param name:
A unique alphanumeric name to identify this VIB type.

:req_param pbtype_name:
The name of the block type (e.g. clb, memory) that this VIB connects to.

.. note:: A block (e.g. clb, dsp) is connected to the VIB on its top-right side, so the input and output pins of the block should be on the top or right side.

:req_param vib_seg_group:
The number of the segment types in this VIB.

:req_param arch_vib_switch:
Name of the mux switch type used to drive wires in the VIB by default, and a custom switch can override this switch type for specific connections if desired.

:req_param content:
The segment groups and the multistage MUX topology as described below.

The ``content`` of ``<vib>`` tag consists of several ``<seg_group>`` tags and a ``<multistage_muxs>`` tag.
For example:

.. code-block:: xml

<vib_arch>
<vib name="vib0" pbtype_name="clb" vib_seg_group="4" arch_vib_switch="mux0">
<seg_group name="L1" track_nums="12"/>
<seg_group name="L2" track_nums="20"/>
<seg_group name="L4" track_nums="16"/>
<seg_group name="L8" track_nums="16"/>
<multistage_muxs>
<first_stage switch_name="mux0">
...
</first_stage>
<second_stage>
...
</second_stage>
</multistage_muxs>
</vib>
<vib name="vib1" pbtype_name="dsp" vib_seg_group="4" arch_vib_switch="mux0">
...
</vib>
</vib_arch>

.. arch:tag:: <seg_group name="seg_name" track_nums="int"/>

:req_param name:
The name of the segment in this VIB described in ``<segmentlist>``.

:req_param track_nums:
The track number of the segment in this VIB.

.. note:: When using unidirectional segments, the track number of the segment represents the number for one direction. For example, the ``track_nums`` is ``10``, which means total ``20`` tracks of the segment in the channel for both (INC & DEC) directions.

.. arch:tag:: <multistage_muxs>content</multistage_muxs>

:req_param content:
The detaild information for first and second MUXes.

The ``content`` of ``<multistage_muxs>`` tag consists of a ``<first_stage>`` tag and a ``<secong_stage>`` tag.

.. arch:tag:: <first_stage switch_name="switch_name">content</first_stage>

:req_param switch_name:
Name of the mux switch type used to drive first stage MUXes in the VIB.

:req_param content:
The details of each MUX.

The ``content`` of ``<first_stage>`` tag consists of many ``<mux>`` tags.

.. arch:tag:: <mux name="mux_name">content</mux>

:req_param name:
Name of the MUX.

:req_param content:
A ``<from>`` tag to describe what pins and wires connect to this MUX.

For example:

.. code-block:: xml

<first_stage switch_name="mux0">
<mux name="f_mux_0">
<from>clb.O[0] clb.O[1:3] clb.O[4]</from>
</mux>
<mux name="f_mux_1">
<from>L1.E1 L1.S1 L2.E0</from>
</mux>
...
</first_stage>

The ``<from>`` tag in ``<mux>`` describes nodes that connects to the MUX. ``clb.O[*]`` means output pin(s); ``L1.E1`` means the track ``1`` in the ``East`` direction of ``L1`` segment.

.. arch:tag:: <second_stage>content</second_stage>

:req_param content:
The details of each MUX.

The ``content`` of ``<second_stage>`` tag consists of many ``<mux>`` tags.

.. arch:tag:: <mux name="mux_name">content</mux>

:req_param name:
Name of the MUX.

:req_param content:
A ``<to>`` tag to describe where this MUX connect to and a ``<from>`` tag to describe what pins and wires connect to this MUX.

For example:

.. code-block:: xml

<second_stage switch_name="mux0">
<mux name="s_mux_0">
<to>clb.I[0]</to>
<from>clb.O[4] f_mux_0 f_mux_1</from>
</mux>
<mux name="s_mux_1">
<to>L1.E1</to>
<from>L1.S2 f_mux_0 f_mux_1</from>
</mux>
...
</second_stage>

The ``<to>`` tag describes the node this MUX connects to. ``clb.I[*]`` means input pin(s); ``L1.E1`` means the track ``1`` in the ``East`` direction of ``L1`` segment. The ``<from>`` tag in ``<mux>`` describes nodes that connects to the MUX. ``clb.O[*]`` means output pin(s); ``L1.S2`` means the track ``2`` in the ``South`` direction of ``L1`` segment. ``f_mux_0`` means the name of the specific first stage MUX.

Here is a complete example of the ``<vib>`` tag:

.. code-block:: xml

<vib name="vib_clb" pbtype_name="clb" vib_seg_group="2" arch_vib_switch="mux0">
<seg_group name="L1" track_nums="12"/>
<seg_group name="L2" track_nums="20"/>
<multistage_muxs>
<first_stage switch_name="mux0">
<mux name="f_mux_0">
<from>clb.O[0] clb.O[1:3] clb.O[4]</from>
</mux>
<mux name="f_mux_1">
<from>L1.E1 L1.S1 L2.E0</from>
</mux>
</first_stage>
<second_stage>
<mux name="s_mux_0">
<to>clb.I[0]</to>
<from>clb.O[4] f_mux_0 f_mux_1</from>
</mux>
<mux name="s_mux_1">
<to>L1.E1</to>
<from>L1.S2 f_mux_0 f_mux_1</from>
</mux>
</second_stage>
</multistage_muxs>
</vib>

Its corresponding detailed architecture is shown in Figure 4.

.. figure:: ../Images/vib_example.png
:align: center
:height: 600

Figure 4. The corresponding detaied architecture of the example.

New Added Top Level Tag ``<vib_layout>``
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Content inside this tag specifies VIB grid layout to describe different VIBs applied on different locations.

.. arch:tag:: <fixed_layout name="string">content</fixed_layout>

:req_param name:
The name identifying this VIB grid layout. It should be the same as the corresponding layout name inside the ``<layout>`` tag.

:req_param content:
The content should contain a set of grid location tags. For grid location tags of vib_layout see :ref:`fpga_architecture_description`; ref:`grid_expressions`

For example:

.. code-block:: xml

<vib_layout>
<fixed_layout name="fixed_layout">
<perimeter type="vib_IO" priority="101"/>
<fill type="vib_clb" priority="10"/>
<col type="vib_memory" startx="5" starty="1" priority="100"/>
...
</fixed_layout>
</vib_layout>

In this VIB grid layout, ``perimeter``, ``fill``, ``col`` and so on are tags in original ``<layout>`` tag to describe positions of each type of VIB block. The attibute ``type`` should correspond to the ``name`` of a ``<vib>`` tag in ``<vib_arch>``.
Besides, the ``pbtype_name`` of corresponding ``<vib>`` must be the same as the physical block type at this position.

In this example, IO blocks are located on the perimeter of the layout. Memory blocks are on column 5 and CLBs are on the rest positions. The ``vib_io``, ``vib_clb`` and ``vib_memory`` are different types of vib blocks corresponding to IO, CLB and memory blocks respectively.
2 changes: 1 addition & 1 deletion doc/src/vpr/command_line_usage.rst
Original file line number Diff line number Diff line change
Expand Up @@ -379,7 +379,7 @@ Use the options below to override this default naming behaviour.

.. seealso:: :ref:`Routing Resource XML File <vpr_route_resource_file>`.

.. option:: --read_vpr_constraints <file>
.. option:: --read_vpr_constraints <file1>:<file2>:...:<fileN>

Reads the :ref:`VPR constraints <vpr_constraints>` that the flow must respect from the specified XML file.

Expand Down
2 changes: 2 additions & 0 deletions doc/src/vpr/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -60,3 +60,5 @@ The purpose of VPR is to make the packing, placement, and routing stages of the

file_formats
debug_aids

VIB
44 changes: 44 additions & 0 deletions doc/src/vpr/route_constraints.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@

VPR Route Constraints
=========================
.. _vpr_constraints_file:
VPR supports running flows with route constraints. Route constraints are set on global signals to specify if they should be routed or not. For example, a user may want to route a specific internal clock even clock modeling option is set to not route it.

.. note:: The constraint specified in this file overrides the setting of option "--clock_modeling" if it is specified. A message will be issued in such case: "Route constraint(s) detected and will override clock modeling setting".

The route constraints should be specified by the user using an XML constraints file format, as described in the section below.

A Constraints File Example
--------------------------

.. code-block:: xml
:caption: An example of a route constraints file in XML format.
:linenos:

<vpr_constraints tool_name="vpr">
<global_route_constraints>
<!-- specify route method for a global pin that needs to be connected globally -->
<set_global_signal name="(int_clk)(.*)" type="clock" route_model="route"/>
<set_global_signal name="clk_ni" type="clock" route_model="ideal"/>
<set_global_signal name="rst" type="reset" route_model="ideal"/>
</global_route_constraints>
</vpr_constraints>

.. _end:

.. note:: The "route_model" in constraint specified in this file only support "ideal" and "route" only.

Constraints File Format
-----------------------

VPR has a specific XML format which must be used when creating a route constraints file. The purpose of this constraints file is to specify

#. The signals that should be constrained for routing
#. The route model for such signals

The file is passed as an input to VPR when running with route constraints. When the file is read in, its information is used to guide VPR route or not route such signals.

.. note:: Use the VPR option :vpr:option:`--read_vpr_constraints` to specify the VPR route constraints file that is to be loaded.

.. note:: Wildcard names of signals are supported to specify a list of signals. The wildcard expression should follow the C/C++ regexpr rule.

4 changes: 3 additions & 1 deletion install_apt_packages.sh
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,9 @@ sudo apt-get install -y \
bison \
flex \
python3-dev \
python3-venv
python3-venv \
openssl \
libssl-dev

# Required for graphics
sudo apt-get install -y \
Expand Down
2 changes: 2 additions & 0 deletions libs/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,8 @@ link_libraries(${ADDITIONAL_FLAGS})
add_subdirectory(libarchfpga)
add_subdirectory(libvtrutil)
add_subdirectory(liblog)
add_subdirectory(libencrypt)
add_subdirectory(libdecrypt)
add_subdirectory(libpugiutil)
add_subdirectory(libvqm)
add_subdirectory(librtlnumber)
Expand Down
2 changes: 1 addition & 1 deletion libs/EXTERNAL/libcatch2
Submodule libcatch2 updated 61 files
+0 −3 .bazelrc
+1 −2 .clang-tidy
+1 −1 .conan/test_package/CMakeLists.txt
+1 −1 .github/workflows/mac-builds-m1.yml
+2 −6 .github/workflows/mac-builds.yml
+0 −2 BUILD.bazel
+0 −1 CMake/CatchConfigOptions.cmake
+12 −9 CMakeLists.txt
+0 −1 MODULE.bazel
+16 −0 WORKSPACE.bazel
+4 −14 docs/cmake-integration.md
+0 −9 docs/configuration.md
+0 −26 docs/release-notes.md
+1 −1 docs/tostring.md
+1 −1 examples/CMakeLists.txt
+19 −16 extras/Catch.cmake
+25 −67 extras/CatchAddTests.cmake
+13 −19 extras/catch_amalgamated.cpp
+63 −84 extras/catch_amalgamated.hpp
+1 −1 meson.build
+0 −1 meson_options.txt
+4 −4 src/catch2/benchmark/detail/catch_stats.cpp
+1 −1 src/catch2/catch_timer.cpp
+1 −4 src/catch2/catch_tostring.cpp
+1 −5 src/catch2/catch_tostring.hpp
+0 −9 src/catch2/catch_user_config.hpp.in
+1 −1 src/catch2/catch_version.cpp
+2 −2 src/catch2/catch_version_macros.hpp
+1 −1 src/catch2/generators/catch_generators_range.hpp
+31 −39 src/catch2/internal/catch_compiler_capabilities.hpp
+1 −1 src/catch2/internal/catch_console_colour.cpp
+1 −1 src/catch2/internal/catch_random_number_generator.cpp
+26 −35 src/catch2/matchers/catch_matchers_range_equals.hpp
+15 −22 src/catch2/meson.build
+2 −5 src/catch2/reporters/catch_reporter_console.cpp
+2 −1 tests/ExtraTests/CMakeLists.txt
+2 −2 tests/SelfTest/Baselines/automake.sw.approved.txt
+2 −2 tests/SelfTest/Baselines/automake.sw.multi.approved.txt
+1 −5 tests/SelfTest/Baselines/compact.sw.approved.txt
+1 −5 tests/SelfTest/Baselines/compact.sw.multi.approved.txt
+1 −1 tests/SelfTest/Baselines/console.std.approved.txt
+3 −37 tests/SelfTest/Baselines/console.sw.approved.txt
+3 −37 tests/SelfTest/Baselines/console.sw.multi.approved.txt
+3 −5 tests/SelfTest/Baselines/junit.sw.approved.txt
+3 −5 tests/SelfTest/Baselines/junit.sw.multi.approved.txt
+2 −4 tests/SelfTest/Baselines/sonarqube.sw.approved.txt
+2 −4 tests/SelfTest/Baselines/sonarqube.sw.multi.approved.txt
+8 −16 tests/SelfTest/Baselines/tap.sw.approved.txt
+8 −16 tests/SelfTest/Baselines/tap.sw.multi.approved.txt
+4 −4 tests/SelfTest/Baselines/teamcity.sw.approved.txt
+4 −4 tests/SelfTest/Baselines/teamcity.sw.multi.approved.txt
+3 −41 tests/SelfTest/Baselines/xml.sw.approved.txt
+3 −41 tests/SelfTest/Baselines/xml.sw.multi.approved.txt
+0 −23 tests/SelfTest/IntrospectiveTests/ToString.tests.cpp
+0 −56 tests/SelfTest/UsageTests/Compilation.tests.cpp
+2 −2 tests/SelfTest/UsageTests/EnumToString.tests.cpp
+0 −19 tests/SelfTest/UsageTests/MatchersRanges.tests.cpp
+2 −9 tests/TestScripts/DiscoverTests/CMakeLists.txt
+14 −36 tests/TestScripts/DiscoverTests/VerifyRegistration.py
+0 −7 tests/TestScripts/DiscoverTests/register-tests.cpp
+1 −1 tools/misc/CMakeLists.txt
2 changes: 1 addition & 1 deletion libs/EXTERNAL/sockpp
Loading
Loading