Besides boundary optimization, auto-ungroup is another important synthesis optimization technique. By flattening design hierarchies for the benefit of PPA, it enables cross boundary optimization, and removes logic duplication, which often occurs for shared signals across replicated modules.
Auto-ungrouping will introduce hierarchy naming changes. For example, ungrouped hierarchies will use underscore “_” instead of slash “/” as the ungrouped naming separators. Therefore, auto-ungrouping imposes challenges for the implementation flow.
Challenges for STA Constraints
On one hand, STA constraints writing relies on RTL naming and design hierarchies. Design hierarchies with STA constraints applied are not preserved during ungrouping by default, causing STA constraints to either error-out or get silently dropped after the design hierarchy flattens.
On the other hand, it is not always possible to write all STA constraints with full instance names. If auto-ungrouping is enabled, RTL designers should examine and possibly rewrite all STA constraints.
If a certain design hierarchy has STA constraints specified, RTL designers should at least exclude it from ungrouping. RTL designers must always work with the STA team before enabling or evaluating auto-ungrouping.
Challenges for DFT
To make sure there is no impact on DFT checkers, RTL designers should exclude any scan or BIST hierarchies from ungrouping.
Challenges for Power Analysis
If a certain design hierarchy is critical for power analysis, RTL designers should preserve it and exclude it from ungrouping.
Challenges for ECO
For manual ECOs, it will be more difficult to correlate RTL hierarchy with netlist hierarchy. For tool assisted ECOs, however, major ECO tools in the market should support auto ungrouped netlist.
Challenges for LEC
By default, LEC tools will do name-based mapping. A design hierarchy change could lead to false LEC failures. RTL designers may have to manual keypoint mapping for ungrouped hierarchies.
Conclusion
To the minimum, RTL designers should carefully review the ungrouped instances before RTL freeze. Any critical design hierarchies, such as the ones with new features / blocks, must be signed-off by RTL designers.

Leave a comment