-
Notifications
You must be signed in to change notification settings - Fork 373
New issue
Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? # to your account
Unbalanced buffer insertion on high fanout designs #2090
Comments
Hi, |
Hi,
I lost the exact setup i used in the screen shot, sorry, but i still had the outflow. I toke a video where i show a bit the paths.
In the verilog i feed openlane with, there is no handwritten buffer insertions, so those buffer come from somewere in the whole openlane flow, i don't know more.
Here is a design which can be used to recreate similar issues to the first case : And a video of the case 1: For case 2, I do not have the original verilog file, but here is the synthethised netlist (in case of, it may just be fine to swap it in the design_nax.zip) Thanks :) |
Description
Hi,
My setup:
I had a design with a high fanout part, where i had to read a few register based memory array (~2530 muxes to drive from one address).
Symptoms :
In such case, it seems that the buffer insertion done by the flow is very unbalanced, because that critical path was using a chain of 13 buffers (typical can out of 10), while an utopian balanced fanout would be able to reach 10^13 gates.
Here is an image to ilustrate, where in pink you can see the buffer chain for the high fanout net :
Here is for reference the critical path :
So, i don't know if you had similar issues / case ?
ex : clock enable / reset tree / ...
Proposal
No response
The text was updated successfully, but these errors were encountered: