谁动了我的app option?

做物理设计,会并行跑很多的run,测试不同的floorplan,不同的流程,不同的参数,或者不同的app option。哎,版本太多,我不知道这两个版本有啥区别了?

有时候还会遇到昨天的版本跑的好好的,今天的版本忽然WNS变成了-1ns……

有时候还会遇到一样的环境,这个模块好的不要不要的,那个模块的ppa却坏的一塌糊涂,脚本明明是一样的嘛……

怎么debug?

一般来说,除了检查环境,脚本和log,我们也会对比app option,看看是不是app option设置的问题。

ICC2提供了专门命令来对比不同的run的app option

compare_app_options

怎么用?分两步。先写出app option,再对比

icc2_shell (run1)> write_app_options -output run1.app_option

icc2_shell (run2)> write_app_options -output run2.app_option

icc2_shell > compare_app_options \

        -previous_data run1.app_option

        -current_data run2.app_option

结果如下:

Changes in: Block Value                       Status     Previous     Current
--------------------------------------------- ---------- ------------ ------------
route.detail.use_wide_wire_to_port        basic      true         
route.global.macro_boundary_track_utilization basic      80      10

这里有2个app option不一致。

谁动了我的app option?

我勒个去,这个app option怎么设成true了?我明明没有动他啊。谁动的?哪个是凶手?

然后查脚本,翻log,还是没有找到哪里设置的?

不急,report_app_options来帮你。

从2018.06-SP4起,report_app_options可以报出来app option是在哪个文件的第几行设置的。

icc2_shell> report_app_options time.enable_io_path_groups

****************************************
Version: O-2018.06-SP4
****************************************

time.enable_io_path_groups bool       true       --           false          block      normal     /home/test1.tcl:3

原来这个app option是在test1.tcl的第3行设置的

如果嫌log长,想关掉这个新功能,可以加个选项-revert

猜你喜欢

转载自www.cnblogs.com/lelin/p/12582695.html