Replies: 2 comments 6 replies
-
@benreynwar FYI |
Beta Was this translation helpful? Give feedback.
0 replies
-
FYI, Google has opened a series of PRs to yosys to parallelize tech-mapping in abc. Once they land we should see a good reduction in runtime based on their experience. |
Beta Was this translation helpful? Give feedback.
6 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
-
For large designs that takes many hours to build, I've (re)discovered a number of tricks for bazel-orfs.
Faster synthesis:
This takes synthesis down from hours to minutes for something like MegaBoom (ca. 1 million instance CPU).
Hunting for egregious timing problems:
bazelisk run MyModule_synth /tmp/synth gui_synth
set_false_path *slowmodule*
and hit theUpdate
button in the Endpoint Slack Histogram. This takes seconds or a minute or so, rather than waiting for the entire flow to run again. Before I had this trick, I would try to hunt for different kinds of problems in the Endpoint Slack histogram, but I would often have to fix a problem before I could see beyond the first few problems. Now I can see a couple of more issues ahead before things get murky and I need to fix problems and re-run the flow.Looking for routing/placement problems:
bazelisk run MyModule_grt /tmp/grt gui_grt
and look for paths that have a large Logic Delay to non-Logic delay ratio. Usually this is a sign that architectural retiming is needed to handle the physical layout of the design to keep up the clock period.set_false_path *slowmodule*
trick shines, because I can see a couple more issues into the future without having to fix one issue at the time and re-run the flow.Going from post-synthesis RTL to RTL:
Beta Was this translation helpful? Give feedback.
All reactions