
相关阅读SDC命令详解https://blog.csdn.net/weixin_45791458/category_12931432.html?spm1001.2014.3001.5482目录指定开始性能剖析指定停止性能剖析指定恢复性能剖析指定性能数据类型指定累计资源消耗排名的命令数量指定单次调用资源消耗排名的命令数量指定报告某个具体命令指定静默输出简单使用在使用Synopsys的EDA工具如Design Compiler、PrimeTime、Fusion Compiler、IC Compiler II等的过程中随着设计规模不断增大脚本运行时间往往会明显增长。此时用户常常会遇到一些典型问题难以判断到底是哪个命令导致流程变慢难以区分是命令调用次数过多还是某一次调用异常耗时难以量化CPU时间、内存和实际运行时间(wall clock时间)的消耗情况在没有定量分析手段的情况下性能调优往往只能依赖经验效率较低。为了解决这些问题Synopsys提供了report_trace命令在2023版本引入用于对被跟踪命令的执行过程进行性能剖析并生成相应的统计报告从而帮助用户在命令级别定位性能瓶颈其实它并不是一个SDC命令归为此类只是为了方便管理。report_trace命令的BNF范式有关BNF范式可以参考以往文章为report_trace [-start | -stop | -resume] [-profile profile_type] [-command command_name] [-cumulative count] [-top count] [-quiet] // 注该命令的选项和参数顺序任意指定开始性能剖析-start选项指定开始性能剖析当使用该选项后工具会对后续所有被跟踪命令的每一次调用进行统计记录其CPU时间、内存消耗、wall clock时间以及调用次数。需要注意的是如果此前使用-stop选项停止过性能剖析再次使用-start选项时之前已经收集的所有性能数据都会被清空并重新开始统计。-start选项与-stop选项、-resume选项、-profile选项、command选项、-cumulative选项和-top选项是互斥的不能同时使用。指定停止性能剖析-stop选项指定停止性能剖析数据的收集。当使用该选项后工具会冻结当前已经收集的性能数据后续命令的执行将不再被统计。需要注意的是停止性能剖析并不是生成报告的前提条件即使在性能剖析仍在进行的过程中也可以随时使用report_trace命令查看当前统计结果。-stop选项与-start选项、-resume选项、-profile选项、command选项、-cumulative选项和-top选项是互斥的不能同时使用。指定恢复性能剖析-resume选项指定在停止性能剖析之后恢复数据收集。与-start选项不同-resume选项不会清空此前已经收集的性能数据而是将新收集的数据追加到已有统计结果中。-resume选项与-start选项、-stop选项、-resume选项、-profile选项、command选项、-cumulative选项和-top选项是互斥的不能同时使用。指定性能数据类型-profile选项指定报告哪些性能数据无法控制是否收集可选的指标包括memory、cpu、time和count也可以使用all表示包含所有指标。当指定该选项时report_trace命令生成的报告中只会包含对应类型的性能数据如果未指定该选项则默认包含所有类型的性能数据。-profile选项与-start选项、-stop选项和-resume选项是互斥的不能同时使用。指定累计资源消耗排名的命令数量-cumulative选项用于指定在报告中显示累计资源消耗排名靠前的命令数量。如果多个命令的资源消耗值与排名边界相同则这些命令都会一并显示。若未指定该选项默认显示累计资源消耗排名前10的命令。-cumulative选项与-start选项、-stop选项、-resume选项和-command选项是互斥的不能同时使用。指定单次调用资源消耗排名的命令数量-top选项用于指定在报告中显示单次调用资源消耗排名靠前的命令数量。与-cumulative类似如果存在资源消耗值相同的情况相关命令也会一并显示。若未指定该选项默认显示单次调用资源消耗排名前10的命令。-top选项与-start选项、-stop选项、-resume选项和-command选项是互斥的不能同时使用。指定报告某个具体命令-command选项用于生成针对某一个指定命令的性能剖析报告。报告中会同时显示该命令的累计资源消耗情况以及资源消耗最大的单次调用情况。如果指定的命令在当前剖析周期内从未被调用则report_trace命令会给出相应提示而不会生成空报告。-command选项与-start选项、-stop选项、-resume选项、-cumulative选项和-top选项是互斥的不能同时使用。指定静默输出-quiet选项用于指定静默输出例如重复启动性能剖析或对不存在的命令生成报告此时不会报错或警告不过语法错误仍会报错。简单使用dcnxt_shell-topo report_trace -start dcnxt_shell-topo source dc.tcl log dcnxt_shell-topo report_trace -cumulative 5 -top 5 MEM (kBytes): Cumulative(top 5): compile_ultra ( 2 calls): 309780 open_lib ( 2 calls): 12876 analyze ( 2 calls): 7464 elaborate ( 2 calls): 6240 check_design ( 2 calls): 908 Single Call(top 5): compile_ultra : 308000 open_lib : 12876 analyze : 7464 elaborate : 6240 check_design : 908 CPU: Cumulative(top 5): compile_ultra ( 2 calls): 00:00:31.12 analyze ( 2 calls): 00:00:01.09 elaborate ( 2 calls): 00:00:00.24 open_lib ( 2 calls): 00:00:00.08 set_tlu_plus_files ( 2 calls): 00:00:00.07 Single Call(top 5): compile_ultra : 00:00:17.96 analyze : 00:00:01.08 elaborate : 00:00:00.21 open_lib : 00:00:00.08 set_tlu_plus_files : 00:00:00.04 TIME: Cumulative(top 5): compile_ultra ( 2 calls): 00:00:31.08 analyze ( 2 calls): 00:00:01.09 elaborate ( 2 calls): 00:00:00.24 open_lib ( 2 calls): 00:00:00.08 set_tlu_plus_files ( 2 calls): 00:00:00.07 Single Call(top 5): compile_ultra : 00:00:17.94 analyze : 00:00:01.08 elaborate : 00:00:00.21 open_lib : 00:00:00.08 set_tlu_plus_files : 00:00:00.04 COUNT: Cumulative(top 5): get_ports : 38 echo : 18 set_output_delay : 10 ::SNPS::set_app_var : 8 capture_app_var : 8 get_clocks : 8 redirect : 8 set_input_delay : 8