找回密码
 注册
关于网站域名变更的通知
查看: 156|回复: 4
打印 上一主题 下一主题

[求問]中斷axlShell

[复制链接]
  • TA的每日心情
    无聊
    2025-5-16 15:22
  • 签到天数: 34 天

    [LV.5]常住居民I

    跳转到指定楼层
    1#
     楼主| 发表于 2025-3-17 14:15 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

    EDA365欢迎您登录!

    您需要 登录 才可以下载或查看,没有帐号?注册

    x
    本帖最后由 雞翅加辣 于 2025-3-17 14:17 编辑

    Hi 各位大佬,
    最近正在研究Phase tune 自動抓constraint maker 數值。
    但是我想要當我在進行Phase tune時,可以再度判斷cline的cm數值.
    1. p_3w=sprintf(nil "FORM mini dptune_length %0.2f" rule_3w)
    2. p_2s=sprintf(nil "FORM mini dptune_height  %0.2f" rule_s) ;v2 add
    3. p=sprintf(nil "setwindow pcb;phase_tune;setwindow form.mini;%s;%s;setwindow pcb;" p_3w,p_2s)

    4. bDoFlag = 0 ;先用數字進行測試,以防當機
    5. lEvent =list('PICK 'DBLPICK 'DONE )

    6. while(bDoFlag<2
    7.         rEventID=axlEnterEvent(lEvent nil nil)
    8.         axlClearDynamics()
    9.         bDoFlag=bDoFlag+1
    10.         caseq( rEventID->type
    11.                 (PICK
    12.                         ;取得每次點的cline對象
    13.                         println("pick~~~~~~")
    14.                         result=m_as_3w2s_getcline_byPick(pform)
    15.                         println("~~~1111")
    16.                         if( result then        
    17.                                 printf("~~~~Run Shell:%s \n" p)
    18.                                 println("222222")
    19.                                 axlShell(p)
    20.                                 println("!!!!!go next!!!!?")
    21.                         else
    22.                                 ;bDoFlag=nil
    23.                                 axlFinishEnteRFun()  ; 自動結束 Enter 狀態
    24.                         )
    25.                 )
    26.                 (DBLPICK
    27.                         ;取得每次點的cline對象
    28.                         println("dblpick~~~~~~")
    29.                         result=m_as_3w2s_getcline_byPick(pform)
    30.                         println("~~~dbl---1111")
    31.                         if( result then        
    32.                                 printf("~~~dbl~Run Shell:%s \n" p)
    33.                                 axlShell(p)
    34.                                 println("!!!!!dbl --go next!!!!?")
    35.                         else
    36.                                 ;bDoFlag=nil
    37.                                 axlFinishEnterFun()  ; 自動結束 Enter 狀態
    38.                         )
    39.                
    40.                 )
    41.                 (DONE
    42.                         ;bDoFlag=nil
    43.                         axlFinishEnterFun()
    44.                 )
    45.         )
    46. )
    复制代码

    复制代码
    當我不斷點選cline要進行tune線時=>依照log的顯示,看上去並不會一值進入迴圈
    1. "~~~1111"
    2. ~~~~Run Shell:setwindow pcb;phase_tune;setwindow form.mini;FORM mini dptune_length 21.00;FORM mini dptune_height 8.00;setwindow pcb;
    3. "222222"
    4. Pick a Diff Pair Segment for Phase Tune.
    5. "!!!!!go next!!!!?"
    6. last pick: 2423.79 2012.21
    7. last pick: 2349.33 2018.06
    复制代码


    若我把p="stwindow pcb;phase_tune;setwindeow form.mini;FORM mini dptune_length 17.40;FORM mini dptune_height  4.50;setwindow pcb;DONE",自然也是不可行
    會變成完全無法Phase tune.


    有沒有人可以指點迷燈QQ

    謝謝了!





  • TA的每日心情
    开心
    2023-5-30 15:22
  • 签到天数: 1 天

    [LV.1]初来乍到

    2#
    发表于 2025-3-17 15:18 | 只看该作者
    我最近也在学SKILL,太难了,遇到问题没法解决

    点评

    因為大家通常都是上來要程式碼的比較多XD 畢竟又會畫圖又會寫skill的人相對少數  详情 回复 发表于 2025-3-17 15:50
  • TA的每日心情
    无聊
    2025-5-16 15:22
  • 签到天数: 34 天

    [LV.5]常住居民I

    3#
     楼主| 发表于 2025-3-17 15:50 | 只看该作者
    awesome 发表于 2025-3-17 15:18
    我最近也在学SKILL,太难了,遇到问题没法解决

    因為大家通常都是上來要程式碼的比較多XD
    畢竟又會畫圖又會寫skill的人相對少數

  • TA的每日心情
    奋斗
    2025-4-27 15:26
  • 签到天数: 81 天

    [LV.6]常住居民II

    4#
    发表于 2025-3-17 18:18 | 只看该作者
    看不到完整代码,不好判断。
    可以先把?cmdType从interactive改成general试试。

    点评

    我貼了那一段的程式碼,不過我後來還是放棄這個做法了,實在無解。 您可以試試,就會發現axlShell(p) 沒辦法結束... p="setwindow pcb;phase_tune;setwindow form.mini;FORM mini dptune_length 14.4;FORM mini dp  详情 回复 发表于 2025-3-24 18:11
  • TA的每日心情
    无聊
    2025-5-16 15:22
  • 签到天数: 34 天

    [LV.5]常住居民I

    5#
     楼主| 发表于 2025-3-24 18:11 | 只看该作者
    db-_- 发表于 2025-3-17 18:18
    看不到完整代码,不好判断。
    可以先把?cmdType从interactive改成general试试。
    1. (defun m_as_3w2s_main_class () ;執行3
    2.                 prog((cline1_netname  cline2_netname rule_3w rule_2s)
    3.                         when(length(ClineInfo_table[0]) > 0
    4.                                 ;-------------------------------------------------------------------------------------------------------------------------------------
    5.                                 ;cline1's net-name |cline2's net-name | cline1's layer| 2s | 3w | airgap(s)|width(w)|ads_count|static_phase_value|differ_value |ads_s
    6.                                 ;-------------------------------------------------------------------------------------------------------------------------------------
    7.        
    8.                                 ;phase_tune script帶入3w2s
    9.                                 cline1_netname=nth(0 ClineInfo_table[0])
    10.                                 cline2_netname=nth(1 ClineInfo_table[0])
    11.                                 rule_3w=nth(4 ClineInfo_table[0])
    12.                                 rule_2s=nth(3 ClineInfo_table[0])
    13.                                 rule_s=nth(5 ClineInfo_table[0])
    14.                                 ads_s=nth(10 ClineInfo_table[0])
    15.                                 p_3w=sprintf(nil "FORM mini dptune_length %0.2f" rule_3w)
    16.                                 ;p_2s=sprintf(nil "FORM mini dptune_height  %0.2f" rule_2s)
    17.                                 p_2s=sprintf(nil "FORM mini dptune_height  %0.2f" ads_s) ;
    18.                                 p=sprintf(nil "setwindow pcb;phase_tune;setwindow form.mini;%s;%s;setwindow pcb;" p_3w,p_2s)

    19. bDoFlag = t
    20.                                 lEvent =list('PICK 'DBLPICK 'DONE )
    21.                                 while(bDoFlag
    22.                                         rEventID=axlEnterEvent(lEvent nil nil)
    23.                                         axlClearDynamics()
    24.                                         bDoFlag=bDoFlag+1
    25.                                         printf("bDoFlag:~~~~~~%d \n" bDoFlag)
    26.                                         caseq( rEventID->type
    27.                                                 (PICK
    28.                                                         ;取得每次點的cline對象
    29.                                                         println("pick~~~~~~")
    30.                                                         result=m_as_3w2s_getcline_byPick(pform)
    31.                                                         println("~~~1111")
    32.                                                         if( result then       
    33.                                                                 printf("~~~~Run Shell:%s \n" p)
    34.                                                                 println("222222")
    35.                                                                 axlShell(p)
    36.                                                                 println("!!!!!go next!!!!?")
    37.                                                                 axlCancelEnterFun()
    38.                                                                
    39.                                                         else
    40.                                                                 bDoFlag=nil
    41.                                                                 axlFinishEnterFun()  ; 自動結束 Enter 狀態
    42.                                                         )
    43.                                                 )
    44.                                                 (DONE
    45.                                                         bDoFlag=nil
    46.                                                         axlFinishEnterFun()
    47.                                                 )
    48.                                         )
    49.                                 )

    50.                         )
    51.                 )
    52.         )
    复制代码
    我貼了那一段的程式碼,不過我後來還是放棄這個做法了,實在無解。
    您可以試試,就會發現axlShell(p) 沒辦法結束...
    p="setwindow pcb;phase_tune;setwindow form.mini;FORM mini dptune_length 14.4;FORM mini dptune_heightaxlShell(p)





    您需要登录后才可以回帖 登录 | 注册

    本版积分规则

    关闭

    推荐内容上一条 /1 下一条

    EDA365公众号

    关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

    GMT+8, 2025-6-5 02:55 , Processed in 0.078125 second(s), 28 queries , Gzip On.

    深圳市墨知创新科技有限公司

    地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

    快速回复 返回顶部 返回列表