I would like to apply-specific max and min timing derates. My worst-case library is Worst.db and my Best-case library is Best.db. Here are the commands that I used:
set_link_library "*Worst.db"
set_min_library worst -min_version Best
set_timing_derate -max -cell_delay -data -late 4.00 [get_lib_cells worst/BUF1]
set_timing_derate -min -cell_delay -data -early 1.5 [get_lib_cells Best/BUF1]
report_timing_derate
I found that the tool failed to apply the specified derate factors , as seen in reports generated from report_timing_derate and report_timing -derate . How can I fix this?
Answer:
The set_min_library cmd creates an association between the max and min libraries. when computing min library, the tool finds the corresponding cell from the associated min library. The tool expects you to specify main library to which the cells have been linked in the current design. In this case, max library must be specified in the set_timing_derate -min cmd, as follows:
set_min_derate -min -cell_delay -data -early 1.5 [get_lib_cells Worst/BUF1]
the cells link to the first library that they can be linked to. In the above setting, it is the Worst.db library. However, the min derating is applied to cells in the associated min library, thus getting the desired result.
No comments:
Post a Comment