Skip to content

Improve Router Costing of Non-configurably Connected Nodes #525

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
kmurray opened this issue Apr 2, 2019 · 0 comments
Closed

Improve Router Costing of Non-configurably Connected Nodes #525

kmurray opened this issue Apr 2, 2019 · 0 comments
Labels
enhancement Feature enhancement VPR VPR FPGA Placement & Routing Tool

Comments

@kmurray
Copy link
Contributor

kmurray commented Apr 2, 2019

Current Behaviour

Currently the router can handle routing architectures with non-configurably connected RR nodes (i.e. those connected by short or buf type switches). However such nodes are not always costed optimally.

(Note that this is not a correctness issue, the final route trees are constructed correctly so final costs/delays are correct, however it may mean the router itself ends up making poor decisions since it's estimates may be inaccurate.)

At the moment the set of non-configurably connected nodes is sorted within the heap based on the lowest node cost within the set of non-configurably connected nodes.

This results in two issues:

  1. If the set of non-configurably connected nodes is large (e.g. a global signal/clock network) using the minimum node cost will drastically underestimate the resource cost of using such a path (since it actually consists of a large number of RR nodes, and we only count the resource cost of one).

  2. When expanding from the set of non-configurably connected nodes, each node within the set is expanded independently. However, the backward path costs used are those of the minimum cost node in the set -- not to the actual backward path costs used to reach the current set member node being expanded.

Possible Solution

For (1), the calculation of the node set's cost should account for all the resource costs associated with using the set (i.e. the sum of all congestion/resource costs for all RR nodes in the set). This should avoid the cost estimation bias issue.

Resolving (2) would be more involved, since it would require calculating/storing the backward path costs for each node in the set.

Context

#524 provides an example of how underestimating the resource cost of a large non-configurably connected node set can bias the router unnaturally towards preferring global networks.

@kmurray kmurray added enhancement Feature enhancement VPR VPR FPGA Placement & Routing Tool labels Apr 2, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement Feature enhancement VPR VPR FPGA Placement & Routing Tool
Projects
None yet
Development

No branches or pull requests

1 participant