@@ -390,23 +390,26 @@ HOLD_SLACK_MARGIN:
390390 hold repair using a negative HOLD_SLACK_MARGIN.
391391
392392 Exiting timing repair early is useful in exploration where
393- the .sdc has a fixed clock period at designs target clock period and where
393+ the .sdc has a fixed clock period at the design's target clock period and where
394394 HOLD/SETUP_SLACK_MARGIN is used to avoid overrepair(extremely long running
395395 times) when exploring different parameter settings.
396396
397397 When an ideal clock is used, that is before CTS,
398398 a clock insertion delay of 0 is used in timing paths. This creates
399399 a mismatch between macros that have a .lib file from after CTS, when
400400 the clock is propagated. To mitigate this, OpenSTA will use subtract
401- the clock insertion delay of macros when calculating timing.
402- This works with macros built with OpenROAD that have min_clock_tree_path
403- and max_clock_tree_path set. This is less accurate than if OpenROAD had
401+ the clock insertion delay of macros when calculating timing with ideal
402+ clock. Provided that min_clock_tree_path
403+ and max_clock_tree_path are in the .lib file, which is the case for
404+ macros built with OpenROAD. This is less accurate than if OpenROAD had
404405 created a placeholder clock tree for timing estimation purposes
405406 prior to CTS.
406407
407408 There will inevitably be inaccuracies in the timing calculation prior
408409 to CTS. Use a slack margin that is low enough, even negative, to
409- avoid overrepair.
410+ avoid overrepair. Inaccuracies in the timing prior to CTS can also
411+ lead to underrepair, but there no obvious and simple way to avoid
412+ underrapir in these cases.
410413
411414 Overrepair can lead to excessive runtimes in repair or too much buffering
412415 being added, which can present itself as congestion of hold cells or
0 commit comments