When there are violations in all areas of setup, hold, transition, cap, which one is recommended to start with fix_*_eco?

Status
Not open for further replies.

Collang2

Junior Member level 3
Joined
Jun 11, 2021
Messages
25
Helped
0
Reputation
0
Reaction score
0
Trophy points
1
Activity points
314
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.
 

Is it better to fix all violations simultaneously (setup, hold, max transition, max cap...)?
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:



 
Thanks a lot!!
But I'm still wondering why you're encouraging it to go in this order.
Could you explain this or tell me the related data?
--- Updated ---

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.)
 
Last edited:

But I'm still wondering why you're encouraging it to go in this order.
Could you explain this or tell me the related data?

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 )
 

Status
Not open for further replies.
Cookies are required to use this site. You must accept them to continue using the site. Learn more…