Skip to content

slang support for SYNTH_BLACKBOXES #3701

@oharboe

Description

@oharboe

Description

slang should blackbox based on the presynthesis module names.

When I try to upgrade to slang, I see pathological a slowdown, because our build procedure is using SYNTH_BLACKBOXES to run abc in parallel for many modules using bazel by blackboxing all modules but the one that I'm running through synthesis and abc and finally using cat to merge all the netlists into one netlists. With this trick, we complete synthesis in minutes instead of hours. Without this fix, the symptom is that slang synthesis time is hours, not minutes. OpenROAD does not complain(nor should it) when we have multiple copies of a module after the cat operation to join the netlists.

The latest Yosys has a performance canonicalization, it takes 10 minutes instead of 10 seconds to canonicalize one module I looked at, so we are using an older version of Yosys until we can switch to slang + SYNTH_BLACKBOXES.

Suggested Solution

Use presynthesis module names for slang for SYNTH_BLACKBOXES

Additional Context

No response

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions