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

Optimize node and pip walking #31

Open
litghost opened this issue Mar 2, 2021 · 0 comments
Open

Optimize node and pip walking #31

litghost opened this issue Mar 2, 2021 · 0 comments

Comments

@litghost
Copy link
Contributor

litghost commented Mar 2, 2021

Currently both node and pip walks could use some optimization.

Effectively getPipsDownhill is implemented as:

# For each wire in node
for(wire : node.wires):
  # For each pip in wire
  for(pip : wire.downhill_pips):
    yield pip

For longer nodes, several of those wire lookups simply say "no pips here". The node could be implemented where wires with pips are sorted before wires without pips, and the outside loop could be terminated if there are no more pips in the node. Unclear the benefit of this change, especially relative to a graph folding solution (e.g. SymbiFlow/RapidWright#1) which could be more efficient here.

@litghost litghost added this to To Do in FPGA interchange bootstrapping via automation Mar 2, 2021
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

No branches or pull requests

1 participant