一.set_false_path:removes timing constraints from particular paths,disable both maximum delay(setup) checking and mimimum delay checking ,在指定的路径中移除timing 约束。path startpoint为input ports or register clock pins, throughpoint 为cells ,pins or ports,path endpoints 为register data pins or outputs ports。
设置为false path的path,工具不会考虑它的时序约束,但是delay还是要计算的,因为这条false path上的组合逻辑可能应用于其他的path。
set_disable_timing会移除该点所有的时序分析,自然不需要计算延迟,效果要比false path更极端,应用时也需要更小心。
status
[-rise | -fall] [-setup | -hold]:-rise 指定在测试endpoint path 时,将上升沿delays 设成false;
-setup 指定特定path 的setup(maxinum) disables,如果没有该选项,setup 和hold 都被marked false
[-from from_list | -rise_from rise_from_list | -fall_from fall_from_list]:-from 指定start points (clocks, ports, pins, or cells)的disabled path。-rise_from 如果一个clock 被指定的话,仅当这个path 的latched clock 是rising edge 触发才可生效
[-through through_list]:指定的throughpoints 包括port,pin or leaf cell names
[-rise_through rise_through_list]
[-fall_through fall_through_list]
[-to to_list | -rise_to rise_to_list | -fall_to fall_to_list]:-to 指定end points (clocks, ports, pins, or cells) 的paths disabled,如果指定一个internal pin, pin必须是一个path endpoint,比如flip-flop的data pin
[-reset_path]:移除point-to-point 的exception 信息在指定的path 上,与reset_path cmd 类似
[-comment comment_string]
当disable timing 在一个指定的cell 上时,使用set_disable_timing,remove 确切的cell timing arcs,属于这些arcs 的path 不再被traced, 这点与set_false_path 不同, set_false_path cmd 是允许trace 这些paths, 但是remove 了timing constraints 对这些paths。
set_false_path 与set_max_delay,set_min_delay, set_multicycle_path 都是point-to-point timing exception command,有助于覆盖一个或多个周期时序关系.如果一个exception是set_false_path ,另一个不是,那么set_false_path更加优先。
解除set_false_path 的影响,使用reset_path or reset_design;使用report_timing_requirements 去list point-to-point exceptions.
set_false_path只是disable timing analysis,不影响design rule的检查,max tran cap之类的违规,工具还是会修。
二.set_disable_timing:disables timing arcs 当前design,通过指定的cells,pins, or ports
status
object_list:指定cells,pins,ports,library pins,library cells 的timing is disabled,指定的cells 或者cells 的指定pins应该是size_only
[-from from_pin_name -to to_pin_name]: -from 指from 和to 要一起使用,同时object_list 必须仅包含cells;-to 和-from 一致,都要一起使用
[-restore]:恢复指定arcs ,使其不在disabled。
可以使用report_lib -timing_arcs to list a library cell 的timing arcs:例如report_lib -timing_arcs ssg0p85v100c ANDV2LVT;使用report_design to list disabled arcs;恢复disabled cells, pins,ports,可以使用 option -restore 或者是reset_design command。
三.set_multicycle_path:modifies the single-cycle timing relationship of a constrained path。综合的timing rules 是single-cycle timing relationships clock 的path.
status
path_multiplier:必须指定-setup 或是-hold ,如果都没指定的话,path_multiplier作用在setup path calculations,and 0 is used for hold
[-rise | -fall ]
[-setup | -hold]:指定path_multiplier用于setup or hold 评估
[-start | -end]:指定多周期信息是相对于开始时钟的周期还是相对于结束时钟的周期,specifies whether the multicycle information is relative to the period of the start clock or the end clock,一般都设定相同就可以,要么都选择-start,要么都选择-end。该option 适用于多频电路,否则start 和end 是等价的。
[-from from_list | -rise_from rise_from_list | -fall_from fall_from_list]:可以指定clocks,ports,pins or cells的name 去find path startpoints。-rise_from指定launch clock rising edge
[-through through_list]:可以指定port,pin or leaf cell name
[-rise_through rise_throuth_list]
[-fall_through fall_through_list]
[-to to_list | -rise_to rise_to_list | -fall_to fall_to_list]: list clocks,ports,pins,cells 的names去find path endpoints。-rise_to 指定capture clock rising edge
[-reset_path]:移除指定path 上的point-to-point exception
[-comment comment_string]
exception有更多的限制,那么也就有更高的优先级
解除set_multicycle_path command ,使用reset_path or reset_design
使用set_false_path to disable path 的setup and hold 评估