wangjicheng886的个人空间 https://blog.eetop.cn/1774723 [收藏] [复制] [分享] [RSS]

空间首页 动态 记录 日志 相册 主题 分享 留言板 个人资料

日志

SKILL学习资料(删除lock文件的skill脚本)

已有 528 次阅读| 2023-5-18 12:26 |系统分类:芯片设计| SKILL学习资料

注: 数据来源“小目老师” "IC技能搬运工”

https://mp.weixin.qq.com/s/qxZB4m2CG69nmannkSiT5w


使用CLS Administrative Tool管理lock文件比用户直接去某一目录下操作lock文件要安全并且方便很多,通过CLS Administrative Tool可以轻易完成以下几个工作:

  • 解锁指定的文件(删除指定目录下的lock文件)
  • 查看某一目录及其子目录下所有的lock文件
  • 删除某一目录及其子目录下所有的lock文件
  • 删除所有CLS格式的lock文件,无论该文件在何时、何地创建

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并输出相应的结果,下面是输出信息。


Image


有了上面的铺垫应该很容易想到,所谓的删除lock文件的脚本最简单、最安全的方法就是编写一个skill脚本,可以按照需要执行上面的命令。恰好,skill脚本提供sh()函数,可以在skill脚本中执行shell命令。


根据需要小目同学编写了一个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

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;



点赞

评论 (0 个评论)

facelist

您需要登录后才可以评论 登录 | 注册

  • 关注TA
  • 加好友
  • 联系TA
  • 0

    周排名
  • 0

    月排名
  • 0

    总排名
  • 0

    关注
  • 28

    粉丝
  • 7

    好友
  • 19

    获赞
  • 8

    评论
  • 131

    访问数

小黑屋| 关于我们| 联系我们| 在线咨询| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2024-6-20 05:55 , Processed in 0.056090 second(s), 7 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
返回顶部