My design has Violations in all areas: setup, hold, recovery, removal, Max transition, Max cap, Glitch noise, etc.
I want to do this Violation Fix, and I want to do a Low Power Fix.
Even if I invoke nlib in PT and do ECO, I saw some differences after legalization in ICC2.
How To minimize ECO's step?
Is it better to fix all violations simultaneously (setup, hold, max transition, max cap...)? Or is it better to only fix one type of violation at a step(only setup, only hold, only cap)?
When I tried the setup fix, I noticed that the hold violation had a slight effect,
After fixing both setup and hold, I fixed the transition and saw that the setup occurred again.
What is the best order for fix_*_eco? Do you have a guide document for this?
ECO is helpful to fix small pinpoint issues, it is not a good way to achieve timing closure. consider going back one step and executing physical synthesis again.
No, this is sure to become an endless runaway loop.
If you cannot step back to place and route, then this is the sequence i have followed before.
clock max cap, trans (lock the clocks down asap)
Then data max cap/ max trans
Then look at remaining setup violations. For the rest, this is helpful:
Timing ECOs refer to last mile timing and DRC fixes before you tape-out the ASIC. EDA implementation tools (with help of physical design engineers) do 95-98% of the job when it comes to meeting the timing goals. For the last 1-2% timing violations, however, it is prudent to handle them manually...
No, this is sure to become an endless runaway loop.
If you cannot step back to place and route, then this is the sequence i have followed before.
clock max cap, trans (lock the clocks down asap)
Then data max cap/ max trans
Then look at remaining setup violations. For the rest, this is helpful:
ECO is helpful to fix small pinpoint issues, it is not a good way to achieve timing closure. consider going back one step and executing physical synthesis again.
Thank you! but, I am still beginner and i don't have the "Know-how & experience".
When I have Worst negative slack, Total negative slack, I don't know can i keep going or not. and i there is no one who can give me advice in person,,..
My design is not optimizing well from the CTS stage. (In Synthesis step, There is no violations.)
Well my rationale for following this is intuitive:
Setup, hold, noise are all based on timing windows. So you fix all clock cap, trans violations first. Then you want realistic violations, so you need to fix max cap and max trans on data path. This ensures that you see realistic numbers. (Remember max cap and max transitions mean the timing data used from library is outside of the foundry characterized tables). So you fix these to get real timing picture.
Now setup and hold are two sides of coin and fixing one can worsen the other in some other scenario. Remember now, that setup fails can be mitigated even in Silicon. But hold can kill the chip. So you fix setup first completely.
And if it's a power critical chip, you should do leakage recovery after all setup is fixed, this will involve slowing some cells by VT swapping on the paths that show positive setup slack. This will automatically help hold since it slows down paths.
Then you move to hold fixing while keeping an eye on setup you create. Once both setup and hold are fixed then you check and fix any remaining noise (anything you touch before this point can cause noise )