Hi Sing,
I've never used SOC Encounter. But I used Synopsys ICC, Synopsys Astro, and Magma Blastfusion. For most of the designs with these tools we used the STA tool's (Prime Time) "what if analysis".
You just fix all "setup" violations in physical design tool, and than do STA. And then check hold timing at all modes and corners. Then using "what-if analysis" property of prime time, add delay cells. It is important that the added buffers do not create new setup violations.
Depending on the delay cell used, maximum transition violations may pop-up, you may need to take them into account while preparing hold fixing script or do it at next STA loop from physical design tool.
Other options for hold fixing are also valid. We also use downsizing some cells.
Another option is to fix holds using physical design tool commands. However as extraction tool used in physical design will be different from the one used at Signoff, extra (or insufficient) hold buffers may be inserted depending on the correlation between backend tool extraction and Signoff extraction.
The key thing here is not to create new setup violations. Otherwise hold fixing loop may take more iterations, and excessive hold buffers may be inserted, which may create hard-to-fix local congestion issues.
Best regards,
Gokhan
---