Skip to content

fix(iSTA): apply clock uncertainty to output timing checks - #233

Closed
yipeix wants to merge 1 commit into
mainfrom
sta_timing_main
Closed

yipeix wants to merge 1 commit into
mainfrom
sta_timing_main

Conversation

@yipeix

@yipeix yipeix commented Sep 15, 2026

Copy link
Copy Markdown
Collaborator

Output timing checks ignored the uncertainty of the clock associated with set_output_delay, making output setup and hold slack optimistic. Apply setup uncertainty with a negative sign and hold uncertainty with a positive sign when calculating required time. Also correct the report’s uncertainty cumulative time and output-delay increment so nonzero and negative output delays add up correctly.

With the GCD case’s 0.5 ns uncertainty, TT hold violations change from 34 to 52 and SS from 34 to 41, matching the saved PrimeTime endpoint sets. Residual cell/net delay differences remain: worst setup slack differs by 1.150 ps (TT) and 1.465 ps (SS).

Validation:

  • ecc_bin builds; four focused CTests pass. The new output-uncertainty regression fails before the fix and passes afterward, including separate setup/hold values, capture-clock selection, output-delay signs, and report arithmetic. Test changes remain local as requested.
  • GCD TT/SS reruns match all 52 setup and hold endpoint sets per corner; the 208-row comparison confirms unchanged data arrival times.
  • example6 TT/SS reruns produce identical QoR and detailed timing JSON to the previous baseline.

@yipeix
yipeix requested a review from ZhishengZeng September 15, 2026 08:10
@yipeix yipeix closed this Sep 15, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant