界面浏览版图中的所有label

编程
label, skill, icfb
0 字 / 约 0 分钟

在版图中,label 比较多的时候,想找到某个 label 并定位,并放大去看, 需要利用 search 功能,添加 label 的名称, layer 等信息去定位, 我是觉得比较麻烦; 今天给大家介绍一下按自己需要写的一个可以在打开窗口中浏览所有 label 的小程序,有没有兴趣可以先看一下视频

功能预览

  • 利用快捷键打开 cl_labelTravel 程序后, 会列出当前 cellView 中的所有 label 信息
  • 通过单击列表中的任意行, 就可以定位到该行 label 所在行,并打上 Xruler
  • 通过 zoom 参数可以调节放大比例
  • 通过 Sort KeySort By 可以对 Name , Layer , Purpose , xCoordyCoord 进行 asc(升序)desc(降序) 排列
  • OKApply 会清除所有 ruler

==演示视频==

代码简介

代码用到了一个主函数,主要是GUI相关;两个支函数,分别处理 排序定位

主函数

cadence
procedure(cl_labelTravel_main(cv)
    let((tech_ic all_label_id
       cl_labelTravel_InfoList_def cl_labelTravel_reportField cl_labelTravel_bBrIntField cl_labelTravel_sortRadioField1
       cl_labelTravel_sortRadioField2 cl_labelTravel_vLayout 
       )
	   ;..............
            hiDisplayForm(cl_labelTravel_Form)
    );let
);pro

子函数1

cadence
procedure(cl_panLabelInReportFiledCB(cv c i r)
    let((v x y bbox r1 r2 )
		;.........
    )
)

子函数2

cadence
procedure(cl_labelTravel_sortFun(ffv df) 
    ;ffv: form->field->value
    ;df: data format
    case(df
		;...........
    )
)

调用处理

cadence
procedure(cl_labelTravel()
    letjj((jjnless(cv
            ejjjrror("<<chiplayout.net>> ==> \"cl_labelTravel\" script must run in layout cell view\n")
       )
        cl_labelTravel_main(cv)
))

如何使用

  • 在 CIW 附带路径和密码就行, 下面为示例路径,需要根据实际修改
cadence
(load "/root/chiplayout.net/skill/v1.251215/chiplayout_labelTravel.ile" "chiplayout.net")

补充说明

  • 其实我还想加一个 filter 功能,但需要手动输入,想想算了, 不如按名称排序查看快
  • 还想加一个 定位 成功后, 可以 高亮 的功能, 这又牵扯到了 markOption , 不能工艺需要不能配置,也麻烦

代码获取

  • 加密版,不影响使用,
    1. 评论区留言获取, 速度慢,需要非工作时间答复
    2. 发送邮件到 admin@chiplayout.net, 标题写: cl_labelTravel , 自动答复
  • 解密版
    • 。 。。