Synapse has a good paper of primetime timing eco.
Some key points are:
In PrimeTime, there are two types of fix_eco command available: fix_eco_timing & fix_eco_drc
5 Clock Path ECO with PrimeTime DMSA fix_eco_timing
fix_eco_timing has 2 options: – setup – hold.
fix_eco_drc has 3 options: – max_tran – max_cap – max_fanout
what fix_eco_timing and fix_eco_drc can do is:
. Sizing the cells in Data Path 21(DFF2->DFF1)
. Add buffers in Data Path 21.
Both fix_eco_timing and fix_eco_drc cannot do:
. Change the Clock Path 1 & Clock Path 2.
. Remove cells. PrimeTime ECO cannot remove any cell along Clock Path 1, Clock Path 2 & Data Path 12.
The bad news is, beside the general clock tree cells, PrimeTime considers the clock path endpoint cell (DFF) as part of the clock tree system, hence the PrimeTime ECO will not touch the DFF cells. So what we plan to do next is:
– upsizing DFF
– additional PT_ECO run
If Solution I cannot solve the problem and there are still violations, then we need to touch the clock tree. Additional timing reports need to be generated to study the feasibility of clock tree restitching approach. The check is to find out if the previous stage of DFF paths has extra setup margin.