作者:着着着火了

链接:https://bbs.eetop.cn/thread-975933-1-1.html

论坛上有很多相关知识的帖子,但基本都是零零碎碎的,看起来都不难,一到自己动手去写且想按着自己的想法改才发现也不像看起来的那样简单了。

以下脚本为本人短期内经过学习写出来的,多有参考引用,若有错误,欢迎指正。

一、单个cell自动跑drc、lvs

必要准备文件:cds.lib。把这个文件复制或者链接到当前目录下,个人建议用链接的方式(ln -s ..your path.../cds.lib).

1、自动导cdl

用命令行导cdl需要用si命令,并且还需要配置si.env文档。si.env文档不用自己写,用常规导cdl的方式(CIW->File->Export->CDL)导一遍cdl,会在导出cdl的文件夹下自动生成一个si.env文档,打开复制到脚本即可。

打开网易新闻 查看精彩图片
打开网易新闻 查看精彩图片

脚本为auto_cdl_out.csh,用法:在当前文件夹下执行./auto_cdl_out.csh lib_sch cell_name,lib_sch、cell_name为参数。

这个脚本第一次使用需要把set includeFile=...的配置给填上。

2、自动导gds

导gds用strmout命令,可通过在terminal输入strmout -h查看详细用法。

同样的,可先用常规方法(CIW->File->Export->Stream)导一遍,在CIW窗口能找到刚开始导gds的log有如下图的输出,复制到脚本即可。

脚本为auto_gds_out.csh,用法:在当前文件夹下执行./auto_gds_out.csh lib_lay cell_name,lib_lay、cell_name为参数。

3、命令行跑drc

用命令行方式跑drc、lvs等可通过calibre --help查看具体用法。

老规矩,不懂命令怎么写的先在gui界面跑一遍drc,然后在Transcript栏的log界面拉到最上边,就可以看到当前配置的命令行写法,复制即可。

打开网易新闻 查看精彩图片

在上面的截图中可以看到命令行的最后一个参数为“/.../_calibre.drc_"的文档,这个文档是calibre自动生成的,里面会配置gds、cdl、topCell、report相关的信息,把这脚本当作配置文件复制到当前目录下,把里面所有的cell_name都改成topCell,INCLUDE后面接的"..../drc rule”换成"drc_rule",文件名改成drc.rule。

脚本为drc.csh,用法:在当前文件夹下执行./drc.csh cell_name,cell_name为参数。

这个脚本第一次使用需要把set drc_rule=...的配置给填上。

4、命令行跑lvs

过程及相关修改类似drc。

脚本为drc.csh,用法:在当前文件夹下执行./lvs.csh cell_name,cell_name为参数。

这个脚本第一次使用需要把set lvs_rule=...的配置给填上。

5、自动跑drc

有了自动导gds和命令行跑drc的脚本就可以自动跑drc了。

脚本为auto_drc_flow.csh,用法:在当前文件夹下执行./auto_drc_flow.csh lib_lay cell_name,lib_lay、cell_name为参数。

6、自动跑lvs

有了自动导cdl、gds和命令行跑lvs脚本就可以自动跑lvs了。

脚本为auto_lvs_flow.csh,用法:在当前文件夹下执行./auto_lvs_flow.csh lib_sch lib_lay cell_name,lib_sch、lib_lay、cell_name为参数。

7、自动跑drc、lvs

有了上面6个脚本,只需再写一个csh的脚本整合在一起就行了。

脚本为auto_drc_lvs_flow.csh,用法:在当前文件夹下执行./auto_drc_lvs_flow.csh lib_sch lib_lay cell_name,lib_sch、lib_lay、cell_name为参数。

8、总结

以下截图为所有需要准备的文件

打开网易新闻 查看精彩图片

二、一次跑多个cell的drc、lvs

有了自动跑单个cell的flow,只需套个循环就可以跑多个cell了。

准备一个input_cells.txt的文件,里面记录需要跑的cell的信息,格式如下截图所示:

打开网易新闻 查看精彩图片

在跑单个cell的脚本中设置了把drc和lvs的结果用窗口打开,跑多个cell就没必要打开了,所以添加了两个文件correct和incorrect,这两个文件的结果只与lvs有关,drc在脚本中已屏蔽(即不跑drc,有需要可自行打开),跑完后查看这两个文件就可以知道哪些cell没过lvs了。

脚本为auto_multipul_drc_lvs_flow.csh,用法:在当前文件夹下执行./auto_multipul_drc_lvs_flow.csh。

以下截图为所有需要准备的文件

打开网易新闻 查看精彩图片

文件下载(请前往论坛)

  • multipul.zip

    4.72 KB, 下载次数: 702

  • single.zip

    3.72 KB, 下载次数: 623

欢迎大家访问作者帖子

觉得有帮助可以关注并点赞支持作者

(第一次注册需要在电脑端进行)

https://bbs.eetop.cn/thread-975933-1-1.html