-
Notifications
You must be signed in to change notification settings - Fork 290
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
scripts: load CLKGATE_MAP_FILE as lib and techmap it #2439
base: master
Are you sure you want to change the base?
Conversation
Signed-off-by: Emil J. Tywoniak <[email protected]>
We are not currently using |
Looks like the synthesis netlist is chaotically altered and that propagates into some designs not meeting QoR limits. |
Why is there a difference in the netlist versus what we get without this PR? |
Different identifiers inserted by I think those designs affected might be those which instantiate |
With yosys and openroad built from source, I ran They show a 3% increase in cell count and 8% increase in wire bits. Most modules experience no change or minor decrease/increase in cells / wire bits, but |
@maliberty For the nangate45/swerv design something else is happening. In the design Before the PR the feedthrough connection was inserted before equivalent flip-flops would have a chance to get merged, which would also happen for flip-flops with the same data input and the same clock but different enable (since the enable distinction was lost). After the PR the implementation of This can explain what @widlarizer observed
|
The main idea is that if you use yosys
clockgate
to map ICGs toOPENROAD_CLKGATE
, you need a blackbox to be present, which is missing at that time since currently it's loaded with-defer
. That leads tocheck
failures due to missing cells afterabc
which this PR fixes. Credit for the idea goes to @povik