-
Notifications
You must be signed in to change notification settings - Fork 419
Support route constraint. #2233
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
Open
Tulong4Dev
wants to merge
181
commits into
verilog-to-routing:master
Choose a base branch
from
Tulong4Dev:route_constraint_dev
base: master
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Changes from all commits
Commits
Show all changes
181 commits
Select commit
Hold shift + click to select a range
b7cba40
WIP: Allow source node query in rr graph view.
Yitian4Debug 4a05cad
Add tileable rr graph support.
Yitian4Debug 619caea
Fix format issue.
Yitian4Debug b749ce1
Enable tileable rr graph builder for unidir graph arch; code cleanup.
Yitian4Debug 3932e1d
Fix typo.
Yitian4Debug fda9057
Merge branch 'tileable_rr_graph' of https://github.com/verilog-to-rou…
tangxifan aecd504
Add missing tileable rr graph functions and support class to make it …
Yitian4Debug 17626dd
Code cleanup: fix warnings and format code by complying to vtr format.
Yitian4Debug f3a6875
Code cleanup: change comments format by complying to vtr clang format.
Yitian4Debug 7b5c8ab
Merge branch 'tileable_rr_graph' of https://github.com/verilog-to-rou…
tangxifan c957a44
Merge branch 'master' into tileable_rr_graph
tangxifan 3f4a404
[vpr] add missing files
tangxifan 6e21663
[vpr] add the declaration of common rr_graph building function to hea…
tangxifan ac554b1
[vpr] cleaning up compilation errors
tangxifan 7490a21
[vpr] adapting API in tileable rr_graph builder
tangxifan e4fa747
[vpr] adapting apis in tileable rr_graph builder
tangxifan 1101588
[vpr] enrich error message in rr_gsb
tangxifan 2bbb7f2
[vpr] integrating edge builder to rrgraph builder
tangxifan 4d46b47
[vpr] syntax error
tangxifan 3ecee3e
[vpr] rename header file
tangxifan 2b71a2c
[vpr] add api for node_in_edges
tangxifan bef7983
[vpr] added APIs for node_in_edges and adapt tileable rr graph generator
tangxifan 38a8569
[vpr] add missing API find_edges() for tileable rr_graph builder
tangxifan 0af1634
[vpr] using updated api in tileable rrgraph builder when finding chan…
tangxifan aba2572
[vpr] now enable build edges and incoming edges
tangxifan b06c5ba
[vpr] syntax
tangxifan 314d22a
[vpr] enable tileable rr_graph in create_rr_graph()
tangxifan 4f19f8e
[test] add a quick test for tileable rr_graph
tangxifan 0b77856
[test] enable new test in strong regression test
tangxifan 8c2bc64
[lib] enable tileable options in read fpga arch library
tangxifan 2a846e4
[vpr] allocate nodes
tangxifan 54efbc2
[vpr] debugging tileable rr_graph builder
tangxifan a46461b
[vpr] debugging tileable rr_graph generator
tangxifan a96afb9
[vpr] fixed a bug
tangxifan 00d118d
[vpr] keep debugging the errors in find_node()
tangxifan c460ad1
[vpr] identify bugs in resize() in RRSpatial, Use reserve() to bypass it
tangxifan dcb50bc
[vpr] consider special case for CHANX when creating a new node
tangxifan fa22d5b
[vpr] now tileable rr_graph builder is working. Correctness not check…
tangxifan e59d5cd
Merge branch 'master' into openfpga
tangxifan 2ee2bae
[script] use relative path in lib capn'proto, to solve compilation er…
tangxifan d43e667
[lib] add interconnect string version and add invalid type
tangxifan f6844ec
[lib] typo
tangxifan 3653c77
[lib] add APIs required by OpenFPGA for rr_graph
tangxifan bcc0fd9
[lib] syntax
tangxifan b54d4ad
[lib] add missing APIs required by OpenFPGA to RRGraphView
tangxifan 4e8ad95
[vpr] remove unused headers
tangxifan 885eb58
[vpr] add a useful API to get node side
tangxifan e1d6d03
[vpr] give access to utility function due to requirement from OpenFPGA
tangxifan 674a569
[vpr] syntax
tangxifan 090322c
[vpr] release more API from vpr_utils
tangxifan a18c419
[lib] add constant string for logic value, useful for debugging messages
tangxifan 6c781e8
[vpr] add missing include
tangxifan e5b9fa1
Merge branch 'master' into openfpga
tangxifan 24b486d
Merge branch 'master' into openfpga
tangxifan d0a65ad
[vpr] correct the use of header files
tangxifan c854a5e
[lib] fixed a bug on sharing the storage for incoming edges
tangxifan e78f446
[vpr] fixed a bug in showing debugging messages
tangxifan 43a80a4
[vpr] fixed a bug on range
tangxifan 4c2b47e
[lib] clean up header files
tangxifan a88ac6e
[vpr] print more debugging info when rr_gsb encounts fatal errors
tangxifan 0d1339e
[vpr] format debugging messages
tangxifan c16fcb8
[lib] fixed a bug on clear() for rrgraph builder
tangxifan 3ca5e2f
[lib] add validate APIs for checking incoming edges
tangxifan ad0d96c
[lib] add code comments
tangxifan f3b5a30
[lib] fixed a bug in validating incoming edges
tangxifan f77645a
[vpr] now update node-lookup for CHANX and CHANY nodes
tangxifan bd49f85
[vpr] debugging CHANX and CHANY coord
tangxifan 4155c0b
[vpr] remove existing node in look-up when updating coordinates
tangxifan edd61a3
[vpr] debugging
tangxifan 53e6b00
[vpr] now supports multiple ptc number of a routing track in tileable…
tangxifan 8bd4096
Merge branch 'openfpga' of https://github.com/verilog-to-routing/vtr-…
tangxifan 087cf29
[vpr] typo
tangxifan 2a1b88c
[vpr] force more assertion
tangxifan b080eda
[vpr] fixed a bug which causes memory issues
tangxifan ef79f28
[lib] add sub_type and subFs support to arch parser
tangxifan 750091e
[vpr] added a new option to skip the synchornization between clusteri…
tangxifan f0cf714
[vpr] syntax
tangxifan e36edc3
[vpr] add options
tangxifan b5d4f8c
[vpr] typo
tangxifan 71eddf0
Merge branch 'master' into openfpga
tangxifan e1a2a7c
Merge branch 'master' into openfpga
tangxifan 78f8c82
[vpr] adapt to the API change on check_rr_graph()
tangxifan ce3173c
[vpr] remove GSB graph matching APIs
tangxifan 6a515ff
[vpr] add missing APi required by latest openfpga
tangxifan abc6555
[vpr] syntax
tangxifan 3b758f0
[lib] now arch parser supports subtile index when parsing pin locatio…
tangxifan f97b7e2
[lib] syntax
tangxifan 7994e80
[lib] syntax
tangxifan 2bce428
Merge branch 'master' into openfpga
tangxifan 7482107
[lib] add an option to avoid sorting edges when creating them. This i…
tangxifan eb75a5a
[vtr] count number of edges before creating them; Found some mismatch…
tangxifan 5d409cb
[vpr] syntax
tangxifan 6dff200
[vpr] add more debugging info about edge count for tileable routing r…
tangxifan 1ba0c0e
[vpr] syntax
tangxifan 4966634
[lib] Fixed a bug where subFs was not copied to det_routing arch para…
tangxifan 40d4050
[vpr] comment out debug logging
tangxifan 2c3197e
[vpr] fixed a bug where subtype is not passed correctly
tangxifan 1374493
[lib] fixed a bug where free_rr_graph is not thorough
tangxifan 907ff58
[vpr] fixed a bug where tileable rr_graph is not considered during bi…
tangxifan 5ea5661
[vpr] fixed a bug on using tileable rr_graph for binary place and route
tangxifan bd63ae2
[vpr] now skip sorting edges for tileable rr_graph builder
tangxifan 69476ee
[vpr] now sort all the edges when building a tileable rr_graph
tangxifan b2df632
[vpr] sort gsb ipin edges as well
tangxifan 7233288
Merge commit 'b2df63231' into openfpga
tangxifan 825d444
[vpr] syntax
tangxifan a8349b6
[vtr] fixed a bug when sorting in_edges for IPINs.
tangxifan bb895cb
[vpr] debugging
tangxifan 6576247
[vtr] fixed a bug on sorting incoming edges for IPIN nodes: Only cons…
tangxifan 332bc90
[vpr] fixed a bug
tangxifan 2f1bfd3
[vtr] fixed a bug
tangxifan d3a8039
[lib] replace the use of SIGSTKSZ which is not supported in Ubuntu 21…
tangxifan 3238de2
Merge branch 'master' into openfpga
tangxifan 1a8c875
[vpr] fixed a bug in finding direct connection in tileable rr_graph; …
tangxifan c415acb
Merge branch 'openfpga' of https://github.com/verilog-to-routing/vtr-…
tangxifan 970afa5
[vpr] remove verbose outputs
tangxifan c33574d
[CMake] Added an option 'VTR_ENABLE_VERSION_UP_TO_DATE' which allows …
tangxifan 147200b
[cmake] bypass custom build on version number with an option
tangxifan 942d1bb
[cmake] rename option to be short 'VTR_ENABLE_VERSION'
tangxifan 56a1eb2
Merge branch 'master' into openfpga
tangxifan 69773db
[vpr] enable tileable rr_graph when building routing structs
tangxifan c70f97b
[vpr] code format
tangxifan 5226096
Merge branch 'openfpga' of https://github.com/verilog-to-routing/vtr-…
tangxifan b763242
Merge branch 'master' into openfpga
tangxifan ff83963
Merge branch 'master' into openfpga
tangxifan 3264072
[vpr] a more sophiscated version of read blif api
tangxifan c162275
[test] update golden for new test
tangxifan f0d1bb6
Merge branch 'master' into openfpga
tangxifan 921e1ba
[vpr] code format
tangxifan 4834fd0
Merge branch 'openfpga' of github.com:verilog-to-routing/vtr-verilog-…
tangxifan 01e288c
Merge branch 'master' into openfpga
tangxifan b156bf4
Merge branch 'master' into openfpga
tangxifan 3637125
Merge branch 'master' into openfpga
tangxifan c8f5a65
Merge branch 'master' into openfpga
tangxifan caf364c
Merge branch 'master' into openfpga
tangxifan 96ea971
Support route constraint.
Tulong4Dev 671c9d2
Support route constraints.
Tulong4Dev 22f0d32
Clean up code format.
Tulong4Dev 62e42cf
Merge branch 'master' into openfpga
tangxifan d1c0382
Make partition list and newly added route constraint optional in
Tulong4Dev afed57f
Code format clang-7.
Tulong4Dev 5462d26
Route constraint for local clock and reset.
Tulong4Dev 9e53e9a
Merge pull request #2243 from verilog-to-routing/local_clock_reset
tangxifan 99c132d
Update with regexpr and multi-files readin.
Tulong4Dev 52bd89f
Merge branch 'master' into openfpga
tangxifan 7a4150d
Dev vpr constraint writer for route constrain.
Tulong4Dev ac6b2f4
Revert un-wanted changes made by editor.
Tulong4Dev 60721ba
Fix CLANG 6/7/10 compile issue.
Tulong4Dev 5795b7d
[libs] add an invalidator to rrgraph builder so that we can modify th…
tangxifan 69d852d
[core] debugging
tangxifan 67a84e1
[core] debugging
tangxifan f573c44
Merge branch 'master' into route_constraint_dev
Tulong4Dev 8e623dc
[core] debugging
tangxifan 1a9b970
[core] allow clock to be included optionally when building a gsb
tangxifan 4199c48
[core] typo
tangxifan 2796b58
[core] syntax
tangxifan ebb804e
[core] debugging
tangxifan 0f40ecb
[core] fixed a bug
tangxifan fb90ee8
Code clean up: fix memory leak issue.
Tulong4Dev 89cc2e2
Fix the memory leak.
Tulong4Dev a492d95
Merge branch 'master' into route_constraint_dev
Tulong4Dev ba41ecf
Merge branch 'master' into route_constraint_dev
Tulong4Dev 5119ac8
add test.
Tulong4Dev 57e6b8c
Merge branch 'route_constraint_dev' of github.com:Tulong4Dev/vtr-veri…
Tulong4Dev d501af2
Update test.
Tulong4Dev bcc1881
fix write constraint; update with simple test.
Tulong4Dev 63b028d
Update new test golden result.
Tulong4Dev f3b42d2
update document.
Tulong4Dev 0dbd685
update golden results.
Tulong4Dev 71db0a4
update golden result from release build.
Tulong4Dev bd59994
update golden.
Tulong4Dev 8593cb5
update golden result with deep-cleaned build.
Tulong4Dev 294c49b
clean up code based on review comments.
Tulong4Dev 1b95c01
support route constraints.
Tulong4Dev 458fa39
Merge branch 'master' into openfpga
tangxifan 4c43c74
[core] resovle mering conflicts which causes compilation failures
tangxifan 0b915ba
Merge branch 'master' of github.com:verilog-to-routing/vtr-verilog-to…
tangxifan 6ac416c
[core] code format
tangxifan d70659f
[test] comment out testcase 'strong_vpr_constraints' due to a merging…
tangxifan 42e48e5
add missing new line when writing place constraint
Tulong4Dev 2dc4652
Merge branch 'openfpga' into route_constraint_dev
Tulong4Dev e0dd3c1
support packer constraint.
Tulong4Dev File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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"/> | ||
Tulong4Dev marked this conversation as resolved.
Show resolved
Hide resolved
|
||
<set_global_signal name="clk_ni" type="clock" route_model="ideal"/> | ||
Tulong4Dev marked this conversation as resolved.
Show resolved
Hide resolved
|
||
<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. | ||
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.