-
Notifications
You must be signed in to change notification settings - Fork 2
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
FPGA interchange lookahead improvements #260
Comments
Can the lookahead be generated once and then saved / loaded? |
That's already being done. However, consider that GH actions only has 4 threads, so if it takes ~6 minutes on a 56 core machine, worst case it could take ~1 hr to compute in GH actions. |
How big is the file, could it just be shipped with the interchange files in some way? |
So there is additional complexity in your suggestion. The lookahead is generated by nextpnr, so it is dependent on the chipdb binary, which is downstream of interchange device database. So while we might be able to generate the lookahead from the device database, there is a risk of mismatch between nextpnr and the lookahead. Which is why the current logic is bound to the chipdb, not the device database. |
The current lookahead in the FPGA interchange implementation is disabled by default because it is slow to compute and requires significant memory, both when being computed and when using it. This issue covers topics around how the lookahead might be improved and goals in that directly.
Current status
The current lookahead is data-driven, and in theory should be robust to various architectures, and work both on timing and non-timing driven situations. It is derived from the extended map lookahead (https://github.com/verilog-to-routing/vtr-verilog-to-routing/blob/master/vpr/src/route/router_lookahead_extended_map.h) developed as part of the VPR flow for https://github.com/symbiflow/symbiflow-arch-defs/ .
Current problems
Potential solutions
The text was updated successfully, but these errors were encountered: