Dear ee1,
The practical approach is to fix all setup violations before entering physical design flow. The main idea here is how much margin will you give to physical designer: if synthesis step sonsumes all the margin itsel, physical design will not converge on timing. below are some scenarios:
1 - If synthesis is done with all vth cells (hvt, svt, lvt), and you cannot close timing at synthesis, don't even think it will be solved at physical design step.
- This is because after you are at physical step, nothing will be ideal and parasitics will come into play!
- This is the worst case you would want!
2 - If you closed setup timing with hvt cells, then there is room to improve with svt & lvt cells at physical design step.
- In this situation some small slacks can be neglected, but ideally there should not be any setup violation.
3 - For hold fixing, normally you should not worry because of hold, as others said hold violations are fixed after CTS is done, and even after routing. However, there is one important thing here, lets assume you have "-10ns" hold slack after synthesis. Assuming a 200ps delay for hold fixing buffers (say delay cells), you need ~50 buffers to fix this violation. And if you have ~1000 hold violations similar to this, physical design flow may add 50000 delay fixing buffers, which will kill physical design engineers
Therefore we come to a rule of thumb: Small hold violations can be neglected, but bigger ones should be handled before entering place and route. By saying handled, I don't mean these hold fixing buffers may be added by synthesis people, but maybe a design change or constraints change can be required depending on the violation.
Anyway, I hope it helps,
Gökhan
---