max delay与min delay用来约束start points到endpoints点对点的路径长度,set_max_delay约束最大值,set_min_delay约束最小值。
max delay的-from和-to并不局限在get_pins,get_cells和get_clocks同样可以。
set_max_delay 5 -from UFF0/Q -to UFF1/D
set_max_delay -from [get_clocks clk]
常见问题
1) 一条path存在多个max delay约束,只卡最紧的
举例来说:
set_max_delay 5-from UFF0/Q
set_mac_delay 10 -to UFF1/D
如果存在UFF0到UFF1的timing check,那么这条实际卡的max delay值就是5。但是!如果这条实际需求是10,那么工具就可能过修而影响真实critical path的收敛。这时候就需要reset_paths命令,或者set_max_delay -reset_path
set_max_delay 5-from UFF0/Q
set_max_delay 10 -to UFF1/D
reset_paths -to UFF1/D
set_max_delay 10 -to UFF1/D
或
set_max_delay 5-from UFF0/Q
set_max_delay 10 -to UFF1/D
set_max_delay 10 -reset_path -to UFF1/D
2)-ignore_clock_latency 与derive_clocks的化学反应
-ignore_clock_laten