20/08/2025

What is your Reg2Reg WNS/TNS in the final netlist? What if it's extremely high? What about ICG WNS?

 o   Reg2Reg WNS/TNS:

o    Acceptable: A small negative WNS (e.g., -50ps to -200ps for a multi-GHz design, perhaps -10% to -20% of the clock period) might be considered acceptable as a starting point for PnR. TNS should ideally be manageable.

o    Context: The acceptable value depends on how much improvement is expected from PnR optimizations (better placement, buffering, useful skew, more accurate parasitics).

o   Extremely High Negative WNS/TNS: If the WNS is very large negative (e.g., approaching or exceeding the clock period) or TNS is enormous:

o    Unrealistic Constraints: Clock frequency target is too high for the technology/architecture. SDC constraints (I/O delays, exceptions) might be incorrect or too tight.

o    Poor RTL Quality: Inefficient logic structure, very long combinational paths, complex computations within a single cycle.

o    Incorrect Libraries: Using the wrong speed/Vt libraries for synthesis.

o    Synthesis Tool Issues: Incorrect settings, poor optimization effort.

o    Action: The issue must be investigated and addressed in synthesis (fixing constraints, guiding the tool, requesting RTL changes)

o   ICG WNS (Integrated Clock Gating):

o    Target: ICG setup timing (WNS) should ideally be positive or very close to zero after synthesis. Clock gating checks are often harder to fix post-synthesis compared to regular reg-to-reg paths.

o    Negative ICG WNS: If ICG setup WNS is significantly negative, it's a concern. It implies the enable logic path is too slow. This should be prioritized for fixing during synthesis, potentially by:

§  Optimizing the enable logic path.

§  Adjusting clock gating insertion strategy.

§  Using faster cells for the enable logic or the ICG cell itself.

Share:

0 comments:

Post a Comment