|
|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?注册
×
分享一个可以找出当前layout cell调用的所有cell及其lib的小程序,用法为在ciw中输入命令并回车,可以及时发现当前cell中是否调用了不该调用的lib中的cell。如有建议,欢迎回帖讨论
脚本全文如下,也可以直接下载附件:
-----正文如下-------
;;;usage1:type in CIW >> getlib_cells
;;;return: all the cells and its libraries being used in the current cellview
;;;usage2:type in CIW >> getlib_only
;;;return: only libraries are returned
procedure(getlib_cell(cvdb)
let((libList instList instlib instname instdb)
libList=nil
instList=cvdb~>instances
foreach(inst instList
instname=inst~>cellName
instlib=inst~>libName
libList=cons(list(instlib instname) libList)
instdb=dbOpenCellViewByType(instlib instname "layout" "" "r")
if(instdb~>instances
then libList=append(libList getlib_cell(instdb))
);if
);foreach
libList=sortlist(libList)
sortcar(libList nil)
);let
);getlib_cell
procedure(sortlist(alist)
let((blist)
blist=list(car(alist))
alist=cdr(alist)
while(alist
if(member(car(alist) blist)
then alist=cdr(alist)
else blist=cons(car(alist) blist)
alist=cdr(alist)
);if
);while
);let
);sortlist
procedure(getlib_only()
let((a b)
a=getlib_cell(geGetEditCellView())
b=nil
foreach(k a
b=cons(car(k) b)
);foreach
sortlist(b)
);let
);getlib_only
procedure(getlib_cells()
let(()
getlib_cell(geGetEditCellView())
);let
);getlib_cells
|
-
-
getlib.zip
659 Bytes, 下载次数: 4
, 下载积分:
资产 -2 信元, 下载支出 2 信元
|