Skip to content

Ability to act as a server using a socket communication link, handle critical path list requests, and highlight certain critical path requests #2483

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 257 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
257 commits
Select commit Hold shift + click to select a range
17626dd
Code cleanup: fix warnings and format code by complying to vtr format.
Yitian4Debug Aug 3, 2022
f3a6875
Code cleanup: change comments format by complying to vtr clang format.
Yitian4Debug Aug 3, 2022
7b5c8ab
Merge branch 'tileable_rr_graph' of https://github.com/verilog-to-rou…
tangxifan Aug 13, 2022
c957a44
Merge branch 'master' into tileable_rr_graph
tangxifan Aug 13, 2022
3f4a404
[vpr] add missing files
tangxifan Aug 13, 2022
6e21663
[vpr] add the declaration of common rr_graph building function to hea…
tangxifan Aug 13, 2022
ac554b1
[vpr] cleaning up compilation errors
tangxifan Aug 13, 2022
7490a21
[vpr] adapting API in tileable rr_graph builder
tangxifan Aug 14, 2022
e4fa747
[vpr] adapting apis in tileable rr_graph builder
tangxifan Aug 14, 2022
1101588
[vpr] enrich error message in rr_gsb
tangxifan Aug 14, 2022
2bbb7f2
[vpr] integrating edge builder to rrgraph builder
tangxifan Aug 14, 2022
4d46b47
[vpr] syntax error
tangxifan Aug 14, 2022
3ecee3e
[vpr] rename header file
tangxifan Aug 14, 2022
2b71a2c
[vpr] add api for node_in_edges
tangxifan Aug 14, 2022
bef7983
[vpr] added APIs for node_in_edges and adapt tileable rr graph generator
tangxifan Aug 14, 2022
38a8569
[vpr] add missing API find_edges() for tileable rr_graph builder
tangxifan Aug 14, 2022
0af1634
[vpr] using updated api in tileable rrgraph builder when finding chan…
tangxifan Aug 14, 2022
aba2572
[vpr] now enable build edges and incoming edges
tangxifan Aug 15, 2022
b06c5ba
[vpr] syntax
tangxifan Aug 15, 2022
314d22a
[vpr] enable tileable rr_graph in create_rr_graph()
tangxifan Aug 15, 2022
4f19f8e
[test] add a quick test for tileable rr_graph
tangxifan Aug 15, 2022
0b77856
[test] enable new test in strong regression test
tangxifan Aug 15, 2022
8c2bc64
[lib] enable tileable options in read fpga arch library
tangxifan Aug 15, 2022
2a846e4
[vpr] allocate nodes
tangxifan Aug 15, 2022
54efbc2
[vpr] debugging tileable rr_graph builder
tangxifan Aug 15, 2022
a46461b
[vpr] debugging tileable rr_graph generator
tangxifan Aug 16, 2022
a96afb9
[vpr] fixed a bug
tangxifan Aug 16, 2022
00d118d
[vpr] keep debugging the errors in find_node()
tangxifan Aug 16, 2022
c460ad1
[vpr] identify bugs in resize() in RRSpatial, Use reserve() to bypass it
tangxifan Aug 16, 2022
dcb50bc
[vpr] consider special case for CHANX when creating a new node
tangxifan Aug 16, 2022
fa22d5b
[vpr] now tileable rr_graph builder is working. Correctness not check…
tangxifan Aug 16, 2022
e59d5cd
Merge branch 'master' into openfpga
tangxifan Aug 16, 2022
2ee2bae
[script] use relative path in lib capn'proto, to solve compilation er…
tangxifan Aug 16, 2022
d43e667
[lib] add interconnect string version and add invalid type
tangxifan Aug 16, 2022
f6844ec
[lib] typo
tangxifan Aug 16, 2022
3653c77
[lib] add APIs required by OpenFPGA for rr_graph
tangxifan Aug 17, 2022
bcc0fd9
[lib] syntax
tangxifan Aug 17, 2022
b54d4ad
[lib] add missing APIs required by OpenFPGA to RRGraphView
tangxifan Aug 17, 2022
4e8ad95
[vpr] remove unused headers
tangxifan Aug 17, 2022
885eb58
[vpr] add a useful API to get node side
tangxifan Aug 17, 2022
e1d6d03
[vpr] give access to utility function due to requirement from OpenFPGA
tangxifan Aug 17, 2022
674a569
[vpr] syntax
tangxifan Aug 17, 2022
090322c
[vpr] release more API from vpr_utils
tangxifan Aug 17, 2022
a18c419
[lib] add constant string for logic value, useful for debugging messages
tangxifan Aug 17, 2022
6c781e8
[vpr] add missing include
tangxifan Aug 18, 2022
e5b9fa1
Merge branch 'master' into openfpga
tangxifan Aug 18, 2022
24b486d
Merge branch 'master' into openfpga
tangxifan Aug 18, 2022
d0a65ad
[vpr] correct the use of header files
tangxifan Aug 23, 2022
c854a5e
[lib] fixed a bug on sharing the storage for incoming edges
tangxifan Aug 23, 2022
e78f446
[vpr] fixed a bug in showing debugging messages
tangxifan Aug 23, 2022
43a80a4
[vpr] fixed a bug on range
tangxifan Aug 23, 2022
4c2b47e
[lib] clean up header files
tangxifan Aug 24, 2022
a88ac6e
[vpr] print more debugging info when rr_gsb encounts fatal errors
tangxifan Aug 24, 2022
0d1339e
[vpr] format debugging messages
tangxifan Aug 24, 2022
c16fcb8
[lib] fixed a bug on clear() for rrgraph builder
tangxifan Aug 24, 2022
3ca5e2f
[lib] add validate APIs for checking incoming edges
tangxifan Aug 24, 2022
ad0d96c
[lib] add code comments
tangxifan Aug 24, 2022
f3b5a30
[lib] fixed a bug in validating incoming edges
tangxifan Aug 24, 2022
f77645a
[vpr] now update node-lookup for CHANX and CHANY nodes
tangxifan Aug 26, 2022
bd49f85
[vpr] debugging CHANX and CHANY coord
tangxifan Aug 26, 2022
4155c0b
[vpr] remove existing node in look-up when updating coordinates
tangxifan Aug 26, 2022
edd61a3
[vpr] debugging
tangxifan Aug 26, 2022
53e6b00
[vpr] now supports multiple ptc number of a routing track in tileable…
tangxifan Aug 26, 2022
8bd4096
Merge branch 'openfpga' of https://github.com/verilog-to-routing/vtr-…
tangxifan Aug 26, 2022
087cf29
[vpr] typo
tangxifan Aug 26, 2022
2a1b88c
[vpr] force more assertion
tangxifan Aug 26, 2022
b080eda
[vpr] fixed a bug which causes memory issues
tangxifan Aug 27, 2022
ef79f28
[lib] add sub_type and subFs support to arch parser
tangxifan Aug 27, 2022
750091e
[vpr] added a new option to skip the synchornization between clusteri…
tangxifan Aug 28, 2022
f0cf714
[vpr] syntax
tangxifan Aug 28, 2022
e36edc3
[vpr] add options
tangxifan Aug 28, 2022
b5d4f8c
[vpr] typo
tangxifan Aug 28, 2022
71eddf0
Merge branch 'master' into openfpga
tangxifan Aug 28, 2022
e1a2a7c
Merge branch 'master' into openfpga
tangxifan Sep 1, 2022
78f8c82
[vpr] adapt to the API change on check_rr_graph()
tangxifan Sep 1, 2022
ce3173c
[vpr] remove GSB graph matching APIs
tangxifan Sep 7, 2022
6a515ff
[vpr] add missing APi required by latest openfpga
tangxifan Sep 7, 2022
abc6555
[vpr] syntax
tangxifan Sep 7, 2022
3b758f0
[lib] now arch parser supports subtile index when parsing pin locatio…
tangxifan Sep 9, 2022
f97b7e2
[lib] syntax
tangxifan Sep 9, 2022
7994e80
[lib] syntax
tangxifan Sep 9, 2022
2bce428
Merge branch 'master' into openfpga
tangxifan Sep 16, 2022
7482107
[lib] add an option to avoid sorting edges when creating them. This i…
tangxifan Sep 17, 2022
eb75a5a
[vtr] count number of edges before creating them; Found some mismatch…
tangxifan Sep 17, 2022
5d409cb
[vpr] syntax
tangxifan Sep 17, 2022
6dff200
[vpr] add more debugging info about edge count for tileable routing r…
tangxifan Sep 17, 2022
1ba0c0e
[vpr] syntax
tangxifan Sep 17, 2022
4966634
[lib] Fixed a bug where subFs was not copied to det_routing arch para…
tangxifan Sep 18, 2022
40d4050
[vpr] comment out debug logging
tangxifan Sep 18, 2022
2c3197e
[vpr] fixed a bug where subtype is not passed correctly
tangxifan Sep 18, 2022
1374493
[lib] fixed a bug where free_rr_graph is not thorough
tangxifan Sep 19, 2022
907ff58
[vpr] fixed a bug where tileable rr_graph is not considered during bi…
tangxifan Sep 19, 2022
5ea5661
[vpr] fixed a bug on using tileable rr_graph for binary place and route
tangxifan Sep 19, 2022
bd63ae2
[vpr] now skip sorting edges for tileable rr_graph builder
tangxifan Sep 19, 2022
69476ee
[vpr] now sort all the edges when building a tileable rr_graph
tangxifan Sep 19, 2022
b2df632
[vpr] sort gsb ipin edges as well
tangxifan Sep 19, 2022
7233288
Merge commit 'b2df63231' into openfpga
tangxifan Sep 19, 2022
825d444
[vpr] syntax
tangxifan Sep 19, 2022
a8349b6
[vtr] fixed a bug when sorting in_edges for IPINs.
tangxifan Sep 19, 2022
bb895cb
[vpr] debugging
tangxifan Sep 19, 2022
6576247
[vtr] fixed a bug on sorting incoming edges for IPIN nodes: Only cons…
tangxifan Sep 19, 2022
332bc90
[vpr] fixed a bug
tangxifan Sep 19, 2022
2f1bfd3
[vtr] fixed a bug
tangxifan Sep 19, 2022
d3a8039
[lib] replace the use of SIGSTKSZ which is not supported in Ubuntu 21…
tangxifan Sep 26, 2022
3238de2
Merge branch 'master' into openfpga
tangxifan Sep 28, 2022
1a8c875
[vpr] fixed a bug in finding direct connection in tileable rr_graph; …
tangxifan Sep 30, 2022
c415acb
Merge branch 'openfpga' of https://github.com/verilog-to-routing/vtr-…
tangxifan Sep 30, 2022
970afa5
[vpr] remove verbose outputs
tangxifan Sep 30, 2022
c33574d
[CMake] Added an option 'VTR_ENABLE_VERSION_UP_TO_DATE' which allows …
tangxifan Oct 3, 2022
147200b
[cmake] bypass custom build on version number with an option
tangxifan Oct 3, 2022
942d1bb
[cmake] rename option to be short 'VTR_ENABLE_VERSION'
tangxifan Oct 3, 2022
56a1eb2
Merge branch 'master' into openfpga
tangxifan Oct 3, 2022
69773db
[vpr] enable tileable rr_graph when building routing structs
tangxifan Oct 4, 2022
c70f97b
[vpr] code format
tangxifan Oct 4, 2022
5226096
Merge branch 'openfpga' of https://github.com/verilog-to-routing/vtr-…
tangxifan Oct 4, 2022
b763242
Merge branch 'master' into openfpga
tangxifan Oct 6, 2022
ff83963
Merge branch 'master' into openfpga
tangxifan Oct 31, 2022
3264072
[vpr] a more sophiscated version of read blif api
tangxifan Nov 1, 2022
c162275
[test] update golden for new test
tangxifan Nov 1, 2022
f0d1bb6
Merge branch 'master' into openfpga
tangxifan Nov 1, 2022
921e1ba
[vpr] code format
tangxifan Nov 1, 2022
4834fd0
Merge branch 'openfpga' of github.com:verilog-to-routing/vtr-verilog-…
tangxifan Nov 1, 2022
01e288c
Merge branch 'master' into openfpga
tangxifan Nov 17, 2022
b156bf4
Merge branch 'master' into openfpga
tangxifan Nov 21, 2022
3637125
Merge branch 'master' into openfpga
tangxifan Dec 7, 2022
c8f5a65
Merge branch 'master' into openfpga
tangxifan Jan 9, 2023
caf364c
Merge branch 'master' into openfpga
tangxifan Jan 18, 2023
96ea971
Support route constraint.
Tulong4Dev Jan 26, 2023
671c9d2
Support route constraints.
Tulong4Dev Jan 27, 2023
22f0d32
Clean up code format.
Tulong4Dev Jan 27, 2023
62e42cf
Merge branch 'master' into openfpga
tangxifan Feb 2, 2023
d1c0382
Make partition list and newly added route constraint optional in
Tulong4Dev Feb 3, 2023
afed57f
Code format clang-7.
Tulong4Dev Feb 3, 2023
5462d26
Route constraint for local clock and reset.
Tulong4Dev Feb 15, 2023
9e53e9a
Merge pull request #2243 from verilog-to-routing/local_clock_reset
tangxifan Feb 16, 2023
99c132d
Update with regexpr and multi-files readin.
Tulong4Dev Feb 26, 2023
52bd89f
Merge branch 'master' into openfpga
tangxifan Feb 26, 2023
7a4150d
Dev vpr constraint writer for route constrain.
Tulong4Dev Mar 3, 2023
ac6b2f4
Revert un-wanted changes made by editor.
Tulong4Dev Mar 3, 2023
60721ba
Fix CLANG 6/7/10 compile issue.
Tulong4Dev Mar 3, 2023
5795b7d
[libs] add an invalidator to rrgraph builder so that we can modify th…
tangxifan Mar 4, 2023
69d852d
[core] debugging
tangxifan Mar 6, 2023
67a84e1
[core] debugging
tangxifan Mar 7, 2023
f573c44
Merge branch 'master' into route_constraint_dev
Tulong4Dev Mar 7, 2023
8e623dc
[core] debugging
tangxifan Mar 7, 2023
1a9b970
[core] allow clock to be included optionally when building a gsb
tangxifan Mar 7, 2023
4199c48
[core] typo
tangxifan Mar 7, 2023
2796b58
[core] syntax
tangxifan Mar 7, 2023
ebb804e
[core] debugging
tangxifan Mar 7, 2023
0f40ecb
[core] fixed a bug
tangxifan Mar 7, 2023
fb90ee8
Code clean up: fix memory leak issue.
Tulong4Dev Mar 8, 2023
89cc2e2
Fix the memory leak.
Tulong4Dev Mar 8, 2023
a492d95
Merge branch 'master' into route_constraint_dev
Tulong4Dev Mar 8, 2023
ba41ecf
Merge branch 'master' into route_constraint_dev
Tulong4Dev Mar 9, 2023
5119ac8
add test.
Tulong4Dev Mar 10, 2023
57e6b8c
Merge branch 'route_constraint_dev' of github.com:Tulong4Dev/vtr-veri…
Tulong4Dev Mar 10, 2023
d501af2
Update test.
Tulong4Dev Mar 11, 2023
bcc1881
fix write constraint; update with simple test.
Tulong4Dev Mar 11, 2023
63b028d
Update new test golden result.
Tulong4Dev Mar 12, 2023
f3b42d2
update document.
Tulong4Dev Mar 12, 2023
0dbd685
update golden results.
Tulong4Dev Mar 14, 2023
71db0a4
update golden result from release build.
Tulong4Dev Mar 14, 2023
bd59994
update golden.
Tulong4Dev Mar 17, 2023
8593cb5
update golden result with deep-cleaned build.
Tulong4Dev Mar 18, 2023
294c49b
clean up code based on review comments.
Tulong4Dev Mar 22, 2023
1b95c01
support route constraints.
Tulong4Dev Mar 24, 2023
458fa39
Merge branch 'master' into openfpga
tangxifan Mar 24, 2023
4c43c74
[core] resovle mering conflicts which causes compilation failures
tangxifan Apr 15, 2023
0b915ba
Merge branch 'master' of github.com:verilog-to-routing/vtr-verilog-to…
tangxifan Apr 15, 2023
6ac416c
[core] code format
tangxifan Apr 15, 2023
d70659f
[test] comment out testcase 'strong_vpr_constraints' due to a merging…
tangxifan Apr 15, 2023
42e48e5
add missing new line when writing place constraint
Tulong4Dev Apr 19, 2023
2dc4652
Merge branch 'openfpga' into route_constraint_dev
Tulong4Dev Apr 20, 2023
90ee6e6
Merge pull request #2290 from Tulong4Dev/route_constraint_dev
tangxifan Apr 20, 2023
5482f33
Merge branch 'master' into openfpga
tangxifan May 30, 2023
fba499c
Merge branch 'master' into openfpga
tangxifan Jun 6, 2023
39e6067
[core] now adapt to latest api from DeviceGrid
tangxifan Jun 7, 2023
863989a
Merge branch 'master' into openfpga
tangxifan Jun 7, 2023
0963c20
[core] fixed a bug due to mis-use of APIs
tangxifan Jun 8, 2023
5b4cb5d
added call to .xmle and accept key from CMake macro
umariqbal-rs Jul 25, 2023
590e509
Update install_dependencies.sh to install openssl
nadeemyaseen-rs Jul 25, 2023
a64640f
Code formatting
behzadmehmood-rs Jul 31, 2023
457df49
Update CMakeLists.txt to 3.5
nadeemyaseen-rs Jul 31, 2023
e4bbcf5
Update CMakeLists.txt to bump the minimum version
nadeemyaseen-rs Jul 31, 2023
c8f5150
Update CMakeLists.txt to bump the version
nadeemyaseen-rs Jul 31, 2023
0f4d83c
Update CMakeLists.txt to bump the CMake version
nadeemyaseen-rs Jul 31, 2023
d03afb6
Merge pull request #1 from RapidSilicon/encrypt_decrypt
nadeemyaseen-rs Aug 1, 2023
00ebcfe
Update hostsetup.sh to install openssl
nadeemyaseen-rs Aug 1, 2023
1b16ebc
Merge branch 'master' into openfpga
tangxifan Aug 7, 2023
62cf034
[lib] syntax due to the layer support
tangxifan Aug 8, 2023
cd82740
[core] remove dead data type (not sure why git merge does not apply a…
tangxifan Aug 8, 2023
af4588c
resolving conflicts
umariqbal-rs Aug 8, 2023
a1cd7e7
Merge branch 'openfpga' into openfpga
umariqbal-rs Aug 8, 2023
30aa1b8
[core] adapting tileable rr_graph to layers
tangxifan Aug 8, 2023
e1fd296
Update hostsetup.sh to install dev package of openssl
nadeemyaseen-rs Aug 8, 2023
c7ffb75
resolving conflicts
umariqbal-rs Aug 8, 2023
a39da36
Merge branch 'openfpga' into openfpga
umariqbal-rs Aug 8, 2023
5bea5da
[core] fixed broken API call due to layer upgrades
tangxifan Aug 8, 2023
db9b073
Merge branch 'openfpga' into openfpga
umariqbal-rs Aug 10, 2023
62e9990
Update install_apt_packages.sh to install openssl package
nadeemyaseen-rs Aug 10, 2023
25b9537
[core] add support on shrink boundary on device grid when building ti…
tangxifan Aug 10, 2023
a367a3f
[core] debugging
tangxifan Aug 11, 2023
d33d1a0
[core] code format
tangxifan Aug 11, 2023
26adc85
[core] now shrink boundary is working
tangxifan Aug 11, 2023
8293cf7
Merge branch 'openfpga' into openfpga
umariqbal-rs Aug 11, 2023
a261464
[core] code format and clean up warnings
tangxifan Aug 11, 2023
c92a92f
[core] remove debugging messages
tangxifan Aug 11, 2023
8f4c556
[lib] code format
tangxifan Aug 11, 2023
b5de5aa
Merge branch 'openfpga' into openfpga
umariqbal-rs Aug 15, 2023
62fa483
[lib] fixed a bug when supporting subtile index in custom pin location
tangxifan Aug 18, 2023
442d0eb
[core] tileable rr graph builder supports different segments in x and…
tangxifan Aug 22, 2023
ec634df
[core] syntax
tangxifan Aug 22, 2023
5f6b659
Merge branch 'verilog-to-routing:openfpga' into openfpga
umariqbal-rs Aug 24, 2023
6c63a31
updating CMAKE in libencrypt to take libpugixml as linking library
umariqbal-rs Aug 24, 2023
4014b32
[core] add corner case to judge the existence of switch block in gsb
tangxifan Aug 25, 2023
825a88e
[core] fixed a bug
tangxifan Aug 25, 2023
690f7cb
[core] format
tangxifan Aug 25, 2023
3273c29
[core] fixed a bug
tangxifan Aug 25, 2023
254d38f
Merge pull request #2358 from RapidSilicon/openfpga
tangxifan Aug 27, 2023
a3b329c
add server mode to be controller outside
w0lek Nov 15, 2023
716b058
cleanup Server class, make recv() operation interuptable
w0lek Nov 15, 2023
2d64d08
Server maintain connection to specific client
w0lek Nov 15, 2023
d64db1c
implement TelegramBuffer which acts like a stream, with ability to ex…
w0lek Nov 17, 2023
22bbf9c
add telegramoptions helper class and it's usage to telegramsolver
w0lek Nov 22, 2023
c0fa676
add gtkcomboboxhelper functions, some opetions were changed from int-…
w0lek Nov 29, 2023
afa5bc1
fix regression of reseting crit path index selection on new path list…
w0lek Dec 1, 2023
4decf9b
cleanup taskresolver code from unused sections
w0lek Dec 1, 2023
13c729d
update telegramparser in order to parse int wrapped as string for job…
w0lek Dec 1, 2023
3dbbf1e
get_item_index_by_text uses case-insensitive variant of string compar…
w0lek Dec 1, 2023
9923900
undo changes made tatum/TimingReporter.cpp related to assertion check
w0lek Dec 3, 2023
db7c795
pass port number via cmdline arguments, allow to run servers which li…
w0lek Dec 4, 2023
0d487b3
replace #pragma once with #ifdef, rename keys.h to serverconsts.h
w0lek Dec 5, 2023
a1cc91b
cleanup
w0lek Dec 5, 2023
2e6d780
add ServerContext as a member in vpr_context
w0lek Dec 5, 2023
630a1df
fix compilation warnings, remove commented obsolete code
w0lek Dec 5, 2023
8c1e4dc
improve crit_index set change
w0lek Dec 5, 2023
ae0dc2d
refactor top level logic of crit path calculation
w0lek Dec 5, 2023
2e6d0e7
avoid printing timeout event in Server::startListening
w0lek Dec 6, 2023
3a01f54
redraw_callback timer period is descreased from 200ms to 100ms to be …
w0lek Dec 6, 2023
b45b7ae
changes: fix path calculation + report generation for Ineractive Path…
w0lek Dec 22, 2023
b4a2c93
add comments for Interactie Path Analysis tool, code structure refact…
w0lek Jan 4, 2024
ce2edb5
reset selected crit path to render if requested to render critical pa…
w0lek Jan 11, 2024
dfd44d5
undo some hotfixes don't related directly to IPA functionality
w0lek Jan 12, 2024
495e412
undo hotfixes not related to IPA directly
w0lek Jan 12, 2024
f1a9d38
backport some IPA changes from iteration 2 (multiselection feature) w…
w0lek Feb 1, 2024
d45aa3a
add ipa(server mode) unittests for taskresolver, telegrambufffer and …
w0lek Feb 1, 2024
b5edf48
vpr: fix build errors and warnings added during IPA integration
w0lek Feb 1, 2024
007bc11
minor cleanup
w0lek Feb 1, 2024
99b5f4d
more strict tryConvertToInt, add unittests for convertutils and teleg…
w0lek Feb 1, 2024
c7557c8
run clang-format
w0lek Feb 1, 2024
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
4 changes: 3 additions & 1 deletion .github/scripts/hostsetup.sh
Original file line number Diff line number Diff line change
Expand Up @@ -69,7 +69,9 @@ apt install -y \
default-jdk \
g++-9 \
gcc-9 \
wget
wget \
openssl \
libssl-dev

# installing the latest version of cmake
apt install -y apt-transport-https ca-certificates gnupg
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-13 \
clang-14 \
clang-format-14 \
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
6 changes: 3 additions & 3 deletions doc/src/vpr/command_line_usage.rst
Original file line number Diff line number Diff line change
Expand Up @@ -358,13 +358,13 @@ 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:`floorplanning constraints <vpr_constraints_file>` that packing and placement must respect from the specified XML file.
Reads the :ref:`floorplanning constraints <vpr_constraints_file>` that packing and placement must respect from the specified XML file; and/or reads the :ref:`global route constraints <vpr_constraints_file>` that router must respect from the specified XML file. Multiple files are allowed and should be seperated with a colomn char.

.. option:: --write_vpr_constraints <file>

Writes out new :ref:`floorplanning constraints <vpr_constraints_file>` based on current placement to the specified XML file.
Writes out new :ref:`floorplanning constraints <vpr_constraints_file>` based on current placement to the specified XML file; and/or writes out new :ref:`global route constraints <vpr_constraints_file>` based on current global routecounstraints to the specified XML file. Note that a single combined file is written to even there are multiple input constraint files read in.

.. option:: --read_router_lookahead <file>

Expand Down
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
Original file line number Diff line number Diff line change
Expand Up @@ -202,7 +202,7 @@ namespace Catch {
FatalConditionHandler::FatalConditionHandler() {
assert(!altStackMem && "Cannot initialize POSIX signal handler when one already exists");
if (altStackSize == 0) {
altStackSize = std::max(static_cast<size_t>(SIGSTKSZ), minStackSizeForErrors);
altStackSize = std::max(static_cast<size_t>(/*SIGSTKSZ*/32768), minStackSizeForErrors);
}
altStackMem = new char[altStackSize]();
}
Expand Down
18 changes: 18 additions & 0 deletions libs/EXTERNAL/libtatum/libtatum/tatum/TimingReporter.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -99,6 +99,15 @@ void TimingReporter::report_timing_setup(std::ostream& os,
report_timing(os, paths);
}

void TimingReporter::report_timing_setup(std::vector<tatum::TimingPath>& paths,
std::ostream& os,
const SetupTimingAnalyzer& setup_analyzer,
size_t npaths) const {
paths = path_collector_.collect_worst_setup_timing_paths(timing_graph_, setup_analyzer, npaths);

report_timing(os, paths);
}

void TimingReporter::report_timing_hold(std::string filename,
const HoldTimingAnalyzer& hold_analyzer,
size_t npaths) const {
Expand All @@ -114,6 +123,15 @@ void TimingReporter::report_timing_hold(std::ostream& os,
report_timing(os, paths);
}

void TimingReporter::report_timing_hold(std::vector<tatum::TimingPath>& paths,
std::ostream& os,
const HoldTimingAnalyzer& hold_analyzer,
size_t npaths) const {
paths = path_collector_.collect_worst_hold_timing_paths(timing_graph_, hold_analyzer, npaths);

report_timing(os, paths);
}

void TimingReporter::report_skew_setup(std::string filename,
const SetupTimingAnalyzer& setup_analyzer,
size_t nworst) const {
Expand Down
2 changes: 2 additions & 0 deletions libs/EXTERNAL/libtatum/libtatum/tatum/TimingReporter.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -64,9 +64,11 @@ class TimingReporter {
public:
void report_timing_setup(std::string filename, const tatum::SetupTimingAnalyzer& setup_analyzer, size_t npaths=REPORT_TIMING_DEFAULT_NPATHS) const;
void report_timing_setup(std::ostream& os, const tatum::SetupTimingAnalyzer& setup_analyzer, size_t npaths=REPORT_TIMING_DEFAULT_NPATHS) const;
void report_timing_setup(std::vector<tatum::TimingPath>& paths, std::ostream& os, const tatum::SetupTimingAnalyzer& setup_analyzer, size_t npaths=REPORT_TIMING_DEFAULT_NPATHS) const;

void report_timing_hold(std::string filename, const tatum::HoldTimingAnalyzer& hold_analyzer, size_t npaths=REPORT_TIMING_DEFAULT_NPATHS) const;
void report_timing_hold(std::ostream& os, const tatum::HoldTimingAnalyzer& hold_analyzer, size_t npaths=REPORT_TIMING_DEFAULT_NPATHS) const;
void report_timing_hold(std::vector<tatum::TimingPath>& paths, std::ostream& os, const tatum::HoldTimingAnalyzer& hold_analyzer, size_t npaths=REPORT_TIMING_DEFAULT_NPATHS) const;

void report_skew_setup(std::string filename, const tatum::SetupTimingAnalyzer& setup_analyzer, size_t nworst=REPORT_TIMING_DEFAULT_NPATHS) const;
void report_skew_setup(std::ostream& os, const tatum::SetupTimingAnalyzer& setup_analyzer, size_t nworst=REPORT_TIMING_DEFAULT_NPATHS) const;
Expand Down
22 changes: 16 additions & 6 deletions libs/libarchfpga/src/physical_types.h
Original file line number Diff line number Diff line change
Expand Up @@ -166,8 +166,11 @@ enum e_pin_type {
enum e_interconnect {
COMPLETE_INTERC = 1,
DIRECT_INTERC = 2,
MUX_INTERC = 3
MUX_INTERC = 3,
NUM_INTERC_TYPES /* Invalid type */
};
/* String version of interconnect types. Use for debugging messages */
constexpr std::array<const char*, NUM_INTERC_TYPES> INTERCONNECT_TYPE_STRING = {{"unknown", "complete", "direct", "mux"}};

/* Orientations. */
enum e_side : unsigned char {
Expand Down Expand Up @@ -1501,7 +1504,7 @@ enum e_directionality {
BI_DIRECTIONAL
};
/* X_AXIS: Data that describes an x-directed wire segment (CHANX) *
* Y_AXIS: Data that describes an y-directed wire segment (CHANY) *
* Y_AXIS: Data that describes an y-directed wire segment (CHANY) *
* BOTH_AXIS: Data that can be applied to both x-directed and y-directed wire segment */
enum e_parallel_axis {
X_AXIS,
Expand Down Expand Up @@ -1554,7 +1557,7 @@ enum e_Fc_type {
* Cmetal: Capacitance of a routing track, per unit logic block length. *
* Rmetal: Resistance of a routing track, per unit logic block length. *
* (UDSD by AY) drivers: How do signals driving a routing track connect to *
* the track?
* the track?
* seg_index: The index of the segment as stored in the appropriate Segs list*
* Upon loading the architecture, we use this field to keep track *
* the segment's index in the unified segment_inf vector. This is *
Expand Down Expand Up @@ -1611,12 +1614,12 @@ constexpr std::array<const char*, size_t(SwitchType::NUM_SWITCH_TYPES)> SWITCH_T

/* Constant/Reserved names for switches in architecture XML
* Delayless switch:
* The zero-delay switch created by VPR internally
* The zero-delay switch created by VPR internally
* This is a special switch just to ease CAD algorithms
* It is mainly used in
* - the edges between SOURCE and SINK nodes in routing resource graphs
* - the edges between SOURCE and SINK nodes in routing resource graphs
* - the edges in CLB-to-CLB connections (defined by <directlist> in arch XML)
*
*
*/
constexpr const char* VPR_DELAYLESS_SWITCH_NAME = "__vpr_delayless_switch__";

Expand Down Expand Up @@ -1958,12 +1961,19 @@ struct t_arch {

char* architecture_id; //Secure hash digest of the architecture file to uniquely identify this architecture

/* Xifan Tang: options for tileable routing architectures */
bool tileable;
bool shrink_boundary;
bool through_channel;

t_chan_width_dist Chans;
enum e_switch_block_type SBType;
enum e_switch_block_type SBSubType;
std::vector<t_switchblock_inf> switchblocks;
float R_minW_nmos;
float R_minW_pmos;
int Fs;
int subFs;
float grid_logic_tile_area;
std::vector<t_segment_inf> Segments;
t_arch_switch_inf* Switches = nullptr;
Expand Down
Loading