| ||
注: 数据来源“小目老师” "IC技能搬运工”
https://mp.weixin.qq.com/s/qxZB4m2CG69nmannkSiT5w
CLS Administrative Tool还可以实现其它功能,感兴趣的同学可以自行在Cadence Help中搜索与CLS Administrative Tool相关的内容,进行更深入的学习。
CLS Administrative Tool可以运行在交互式界面或者命令行模式,小目同学觉得它运行在命令行模式更加方便,也与脚本实现更加相近,所以这里只简单介绍一下它运行在命令行模式下的内容。
CLS Administrative Tool运行命令 命令 功能描述 clsAdminTool -ale directoryHierarchy 列出该文件夹及其子文件夹下所有lock文件 clsAdminTool -are directoryHierarchy 删除该文件夹及其子文件夹下所有lock文件 clsAdminTool -asre filePath 删除该文件对应的lock文件 上下、左右滑动可以查看更多内容哦!
直接在终端中输入上面命令,可以运行CLS Administrative Tool并输出相应的结果,下面是输出信息。
根据需要小目同学编写了一个skill脚本,其中定义了一个函数和一个快捷键,在需要删除lock文件的时候使用相应的快捷键调用一遍函数运行lock文件删除命令即可。
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;; start Delete Lock Files
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;; bindkeys
hiSetBindKeys("Layout"
list(
list("<Key>D" "view_delete_lock_file_cb()")
)
)
hiSetBindKeys("Schematics"
list(
list("<Key>D" "view_delete_lock_file_cb()")
)
)
procedure( view_delete_lock_file_cb( )
sh(strcat("clsAdminTool -asre " geGetWindowCellView( hiGetCurrentWindow( ) )~>fileName))
printf("Delete lock file for view: %s" geGetWindowCellView( hiGetCurrentWindow( ) )~>cellName )
); procedure
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;; end Delete Lock Files
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
很多时候只删除一个文件的lock文件可能还无法满足需求,将脚本完善,分别为单个文件和库定义删除lock文件的函数。
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;; start Delete Lock Files
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;; bindkeys
hiSetBindKeys("Layout"
list(
list("<Key>D" "view_delete_lock_file_cb()")
list("Shift<Key>D" "lib_delete_lock_file_cb()")
)
)
hiSetBindKeys("Schematics"
list(
list("<Key>D" "view_delete_lock_file_cb()")
list("Shift<Key>D" "lib_delete_lock_file_cb()")
)
)
procedure( view_delete_lock_file_cb( )
sh(strcat("clsAdminTool -asre " geGetWindowCellView( hiGetCurrentWindow( ) )~>fileName))
printf("Delete lock file for view: %s" geGetWindowCellView( hiGetCurrentWindow( ) )~>cellName )
); procedure
procedure( lib_delete_lock_file_cb( )
sh(strcat("clsAdminTool -are " ddGetObjReadPath(geGetWindowCellView( hiGetCurrentWindow( ) )~>lib)))
printf("Delete lock file for library: %s" geGetWindowCellView( hiGetCurrentWindow( ) )~>libName )
); procedure
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;; end Delete Lock Files
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;