Cadence Skill 论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 11004|回复: 18

[原创] 【求助】帮我看下附件的skill怎么用

[复制链接]
发表于 2016-4-27 21:03:04 | 显示全部楼层 |阅读模式
     附件skill主要作用是批量报告CLINE的长度。可以直接拷贝到excel里面。主要用处是板子调等长后,再把调好的线数据放入表格,看是否pass。用过intel的芯片,应该知道这要求。之前我用的是打包的skill自动加载的,我现在用不了,但是需要这个功能,所以找到这个skill,但是用普通的load我加载不了。请大神帮我看下代码。这个skill怎么用的。

Length_Report.rar

898 Bytes, 下载次数: 56, 下载积分: 贡献 1

发表于 2016-4-27 21:24:53 | 显示全部楼层
加一句axlCmdRegister("Length_Report" 'Length_Report)
发表于 2016-4-27 22:31:07 | 显示全部楼层
你要结果不是点一根线就生成一根线的长度吧?

   Net Length Report
                     Allan Wu (2003/12/25)
-----------------------------------------
1) R_VGA_HSYNC     7350.345

Total length : 7350.345
-----------------------------------------
 楼主| 发表于 2016-4-28 07:11:24 来自手机 | 显示全部楼层
点一根就生成一根,点多根就报告多根线。我今天试下你的办法。先谢谢你了
 楼主| 发表于 2016-4-28 08:37:11 来自手机 | 显示全部楼层
我还提示错误,undefined function_tempFile.能不能加我扣扣啊,这边我传不上图,我扣扣传你看看。84659039
 楼主| 发表于 2016-5-1 11:02:39 | 显示全部楼层
defir 发表于 2016-4-27 22:31
你要结果不是点一根线就生成一根线的长度吧?

   Net Length Report

我还有提示错误,能帮我看下?
发表于 2016-5-2 22:07:18 | 显示全部楼层
sujuanyu888 发表于 2016-5-1 11:02
我还有提示错误,能帮我看下?
  1. /*
  2. *       Net Length Report For Allegro 14.2
  3. *                    
  4. *                          Allan Wu (2003/12/25)
  5. *
  6. *    1. Function Key F9 Define
  7. *    2. Set Select Filter CLINES
  8. */
  9. axlCmdRegister("Length_Report" 'Length_Report)
  10. procedure( Length_Report()
  11.         popup = axlUIPopupDefine(nil
  12.                 (list         (list "Done" `axlFinishEnterFun)
  13.                                 (list "Cancel" `axlcancelEnterFun)
  14.                 ))
  15.         axlUIPopupSet(popup)
  16.         (axlClearSelSet)
  17.         (axlSetFindFilter ?enabled  (list "noall" "clines" "nameform")
  18.                           ?onButtons  (list "noall" "clines"))
  19.         axlOpenFindFilter()
  20.         port = outfile("./lengthReport.txt")
  21.         ;port = axlDMOpenLog("lengthReport")
  22.         fprintf(port "        Net Length Report\n")
  23.         fprintf(port "                     Allan Wu (2003/12/25)\n")
  24.         fprintf(port "-----------------------------------------\n")
  25.         fprintf(port "-----------------------------------------\n")
  26.         axlDMClose(port)
  27.         logWindow = axlUIViewFileCreate("lengthReport.txt" "Net Length Report" nil)
  28.         )
  29.         (while (axlSelect)
  30.                 cpaths = axlGetSelSet()
  31.                 total = 0
  32.                 items = nil
  33.                 if((logWindow != nil) axlUIWClose(logWindow))
  34.                 logWindow = nil
  35.                 port = outfile("./lengthReport.txt")
  36.                 fprintf(port "        Net Length Report\n")
  37.                 fprintf(port "                     Allan Wu (2003/12/25)\n")
  38.                 fprintf(port "-----------------------------------------\n")
  39.                 foreach(path cpaths
  40.                         segments = path->segments
  41.                         pathlen = 0
  42.                         foreach(segment segments
  43.                                 box = segment->startEnd
  44.                                 lx = caar(box)
  45.                                 ly = cadar(box)
  46.                                 rx = caadr(box)
  47.                                 ry = cadadr(box)
  48.                                 pathlen = pathlen + sqrt( (lx-rx)**2+(ly-ry)**2 )
  49.                         )
  50.                         total = total + pathlen
  51.                         items = cons(list(path->net->name pathlen) items)
  52.                 )
  53.                 cpaths = sortcar(items nil)
  54.                 bknet = caar(cpaths)
  55.                 bklen = 0
  56.                 count = 1
  57.                 foreach( path cpaths
  58.                         if( (bknet==car(path))
  59.                                 then
  60.                                         bklen = bklen + cadr(path)
  61.                                 else
  62.                                         fprintf(port "%2d)\t%-15s\t%.3f\n" count bknet bklen)
  63.                                         count = count + 1
  64.                                         bknet = car(path)
  65.                                         bklen = cadr(path)
  66.                         )
  67.                 )
  68.                 fprintf(port "%2d)\t%-15s\t%.3f\n" count bknet bklen)
  69.                 fprintf(port "\nTotal length : %.3f\n" total)
  70.                 fprintf(port "-----------------------------------------\n")
  71.                 axlDMClose(port)
  72.                 if( (logWindow==nil)
  73.                         then
  74.                         logWindow = axlUIViewFileCreate("lengthReport.txt" "Net Length Report" nil)
  75.                         else
  76.                         (axlUIViewFileReuse logWindow "lengthReport.txt" "Net Length Report" nil)
  77.                 )
  78.         )
  79.         if((logWindow != nil) axlUIWClose(logWindow))
  80.         axlUIPopupSet(nil)       
  81. )
复制代码
发表于 2016-5-2 22:07:57 | 显示全部楼层
sujuanyu888 发表于 2016-5-1 11:02
我还有提示错误,能帮我看下?

用我修改后的试试吧
 楼主| 发表于 2016-5-3 18:56:53 | 显示全部楼层
defir 发表于 2016-5-2 22:07
用我修改后的试试吧

我按照你的skill,执行后,点不了东西,提示图片上错误,而且都退不出来,咋回事啊? 无标题.jpg
 楼主| 发表于 2016-5-3 20:32:45 来自手机 | 显示全部楼层
我这是手动加载的。自动加载到文件里,直接软件都打不开。手动加载我打的是:skill load ‘’length_report.il‘’
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|网站地图|Cadence Skill 论坛 ( 蜀ICP备13024417号 )

GMT+8, 2024-3-28 17:46 , Processed in 0.985813 second(s), 18 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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