Describe the solution you'd like
When doing STA, it is common to apply derating to provide margins.
However, sometimes derating is applied also during cell characterization.
It would be nice if charlib supported derating.
Following kinds of derating could be applied:
- A global derate - Applied to every parameter
- Timing derate - Applies to all delays (IO, CK->Q, etc...)
- Transition derate - Applies to all transitions
- Capacitance derate - Applies to Input capacitance measurements
- Timing check derate - Applies to "setup" and "hold" timing checks measured for sequential elements.
For timing and transition, it would be possible to apply either a global value, or a fall / rise specific value.
The rules for where keywords would be valid, will remain the same (e.g. a global keyword placed
under settings could be overriden by a local keyword under a cell).
Global derating:
Timing derate:
Separate derate for "fall" / "rise":
derate:
timing:
rise: 0.05
fall: 0.07
Describe the solution you'd like
When doing STA, it is common to apply derating to provide margins.
However, sometimes derating is applied also during cell characterization.
It would be nice if charlib supported derating.
Following kinds of derating could be applied:
For timing and transition, it would be possible to apply either a global value, or a fall / rise specific value.
The rules for where keywords would be valid, will remain the same (e.g. a global keyword placed
under
settingscould be overriden by a local keyword under a cell).Global derating:
Timing derate:
Separate derate for "fall" / "rise":