report_timing
[-clock_from edge_from {lead | trail}]]
[-clock_to clk_signame_list] [-edge_to {lead | trail}]]
[-rise | -fall]
[-early | -late]
[-hpin]
[-check_type {setup | hold | pulse_width | clock_period |clock_gating_setup
| clock_gating_hold | clock_gating_pulse_width | data_setup | data_hold |recovery | removal | clock_separation
| skew | no_change_setup | no_change_hold}
[–debug {time_borrow | unconstrained}]
[-max_paths integer | [-nworst integer ]
| -begin_end_pair]
[{-from | -from_rise | -from_fall} pin_list ]
[{-through | -through_rise | -through_fall} pin_list ]
[{-not_through | -not_rise_through |-not_fall_through} object_list ]
[{-to | -to_rise | -to_fall} pin_list ]
[-point_to_point]
[-check_clocks]
[-path_group groupname_list ]
[-path_exceptions {applied | ignored | all}]
[-net]
[-unique_pins]
[-path_type {end | summary | full | full_clock | end_slack_only |summary_slack_only}]
[-max_slack float ]
[-min_slack float ]
| -unconstrained [-delay_limit float ]
]
[-view { viewName }]
[-format column_list ]
[-collection]
[-machine_readable ]
report_timing是平时分析timing时用得最多的一个命令,它可以报出一条完整path的详细timing信息。前文有介绍过timing report的格式
大家看完上面这篇文章后,应该能更好地理解report_timing这个命令
-clock_from 指定source clock, 只报出以该clock作为source clock的path,见例子1
-clock_to 指定traget clock, 只报出以该clock作为target clock的path,见例子1
-edge_from {lead | trail} 指定source clock的edge, leading还是trailing,只报出该edge下的path,用在-clock_from上,见例子2
-edge_to {lead | trail} 指定target clock的edge,leading还是trailing,只报出该edge下的path,用在-clock_to上,见例子2
-rise | -fall 指定endpoint上的edge是rise还是fall,只报出符合这种情况的path,见例子3
-early | -late 报出用于hold分析的early path, 以及setup分析的late path,见例子4。early path以及late path的区别,如下图所示:
-hpin hpin字栏里如果是hierarchical pin,就在生成的report中显示hpin字样,见例子5
-check_type 报出指定检查类型的path,检查的类型包括以下几种
setup | hold |pulse_width | clock_period | clock_gating_setup | clock_gating_hold |clock_gating_pulse_width | data_setup | data_hold | recovery | removal |clock_separation | skew | no_change_setup | no_change_hold
具体每种类型介绍可以参考
【每天学命令<report_analysis_coverage>】
–debug {time_borrow | u