zoukankan      html  css  js  c++  java
  • 谁动了我的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

  • 相关阅读:
    [日常] Go语言圣经--示例: 并发的Echo服务
    [日常] Go语言圣经--示例: 并发的Clock服务习题
    [日常] Go语言圣经--接口约定习题2
    [日常] Go语言圣经--接口约定习题
    [日常] Linux下的docker实践
    [日常] Go语言圣经-指针对象的方法-bit数组习题2
    [日常] Go语言圣经-指针对象的方法-bit数组习题
    [日常] Go语言圣经-Panic异常,Recover捕获异常习题
    [日常] Go语言圣经-Deferred函数
    [日常] Go语言圣经-可变参数习题
  • 原文地址:https://www.cnblogs.com/lelin/p/12582695.html
Copyright © 2011-2022 走看看