Skip to content

Print out information / report on which rr-nodes are overused at the end of a failed routing #1453

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
vaughnbetz opened this issue Jul 25, 2020 · 0 comments
Assignees
Labels
VPR VPR FPGA Placement & Routing Tool

Comments

@vaughnbetz
Copy link
Contributor

Sometimes routing fails with only a few overused routing resource nodes. This often indicates a problem with the architecture input and output pin connectivity or switch pattern, often on specific blocks only. It would be useful to get more information about which routing resource nodes are overused in such cases.

Proposed Behaviour

We should have a new command line option --set_max_overused_rr_node_report (can't think of a shorter name!) that defaults to 20. Up to this many overused_rr_nodes should have their details printed if routing fails.

Current Behaviour

We say how many nodes are overused, and by clicking the congestion button you can see them in the GUI, but no details are reported.

Possible Solution

Make the command line option above. It should print a nicely formatted part of the log file with a table like:
rr index type (IPIN, OPIN, CHANX, ...) (x,y) coordinates (or start and end (x,y) if not the same) ptc (pin, or track number), ... (other helpful info you can think of, such as the segment type name if it's a wire and the name of the block type (clb, M20k, ...) if it is a block.

Context

When a circuit fails with a few overused rr-nodes it is hard to figure out why, even though it's usually a localized architecture problem. See #1448 for an example.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
VPR VPR FPGA Placement & Routing Tool
Projects
None yet
Development

No branches or pull requests

2 participants