Skip to content
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

Revise Multichip routing #2430

Merged
merged 19 commits into from
Apr 27, 2020
Merged

Revise Multichip routing #2430

merged 19 commits into from
Apr 27, 2020

Conversation

terpstra
Copy link
Contributor

JunctionNodes now support configurable up/down connection ratio.
RegionReplicator and AddressAdjuster now takes a region+local AddressSet instead of a mask (MultiChipMaskKey was removed).
AddressAdjuster can now optionally leave off the 'remote' side of the connection.

Type of change: other enhancement
Impact: API modification
Development Phase: implementation

Release Notes
AddressAdjuster and RegionReplicator now work on prefixes (not chip id)

@terpstra terpstra changed the title Revise how Multichip routing Revise Multichip routing Apr 24, 2020
@terpstra terpstra requested a review from hcook April 24, 2020 19:21
terpstra and others added 19 commits April 25, 2020 17:17
No one constructs the objects, so only the accessor methods need be compatible.
…evice

These were being erroneously routed off-chip!
This also makes the error device optional
Previously the algorithm:
  1- explore islands of nodes connected by :*=*
  2- if there are both :*= and :=* connected to the island, report error
  3- if there is a :*= connected to the island, change all :*=* to :*=
  4- if there is a :=* connected to the island, change all :*=* to :=*
  5- default to :=*

The new algorithm:
  1- categorize nodes into arityDirectionFlexible or not (only Adapters are flexible for now)
  2- when asked to resolve a :*=* start exploration on the flexible side (if any, else :=)
  3- explore islands of flexible nodes connected by :*=*
  4- if there are both :*= and :=* connected to the island, report error
  5- if there is a :*= connected to the island, change all :*=* to :*=
  6- if there is a :=* connected to the island, change all :*=* to :=*
  7- default to :=
@terpstra terpstra merged commit 8acb224 into master Apr 27, 2020
@terpstra terpstra deleted the revised-multichip-routing branch April 27, 2020 05:43
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants