Summary
Run GPU simulation at both min and max SDF corners to catch both setup violations (slow/max corner) and hold violations (fast/min corner).
Current State
GEM picks a single SDF corner via --sdf-corner min|typ|max. This misses violations that only appear at the opposite corner.
Proposed Approach
- Run simulation twice with different corners, or support
--sdf-corner all to load both and check against worst-case
- Report per-corner WNS/TNS
Impact
High — hold violations are invisible at typ/max corner. This is the most impactful timing improvement.
Effort
Low — can be done by running twice in CI initially, then optimized to single-pass later.
Summary
Run GPU simulation at both min and max SDF corners to catch both setup violations (slow/max corner) and hold violations (fast/min corner).
Current State
GEM picks a single SDF corner via
--sdf-corner min|typ|max. This misses violations that only appear at the opposite corner.Proposed Approach
--sdf-corner allto load both and check against worst-caseImpact
High — hold violations are invisible at typ/max corner. This is the most impactful timing improvement.
Effort
Low — can be done by running twice in CI initially, then optimized to single-pass later.