0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

Innovus自动修复Short的脚本分享

jf_tpHP8OJR 来源:集成电路设计及EDA教程 2023-05-20 10:13 次阅读

脚本主要内容:

在设计中有一些short,跑几轮ecoRoute -fix_drc都无法解决的情况下,我们可以删除一些short的shape来让工具重新ecoRoute来解决,如果数量有几十甚至上百个,那么手工操作就不太现实了,可以用脚本来实现,这里分享的就是这样一个脚本。

注意:如果short数量非常多且比较集中(hotspot)的情况下,就需要去看你的congestion状态了,如果congestion状态很差,那么这些short多半是无法完全解决的,必须从congestion上入手。

这里分享一个自己编写的脚本,脚本可以根据error browser里面verify_drc的结果来找到short的shape,然后删除它,由于Clock nets对timing的影响比较大,所以这里并未删除clock shape,只删除signal的shape,再之后运行ecoRoute修复open即可。

前面星球里面写了个推文是讲解如何用dbGet来得到error browser里面的结果并写脚本解决一些overlap的问题(能熟练掌握的话那么你的innovus脚本水平就比较溜了),这里我们换一种方法用get_db来讲解一下如何去实现。

首先运行下面的命令来报出所有的DRC:

#Verify Route DRC

set_verify_drc_mode -check_only all

-report DTMF_CHIP.drc.rpt

-limit 1000 -ignore_cell_blockage true

verify_drc

0d4a2514-f652-11ed-90ce-dac502259ad0.png

命令get_db current_design .markers.subtype 可以得到当前设计中error browser里面的所有subtype,比如Metal_Short, Parallel_Run_Length_Spacing等。

[DEV]innovus 63> get_db current_design .markers.subtype

Metal_Short

可以用-if来筛选出Metal_Short:

[DEV]innovus 64> get_db current_design .markers -if {.subtype==Metal_Short}

marker:0x7ffeda4d2200

下面的命令可以报出short发生的层:

[DEV]innovus 65> get_db marker:0x7ffeda4d2200 .layer.name

Metal5

......

.....

有星粉反映工具有下面的命令可以实现相似的目的:

19版:editDeleteViolation

20版:editDelete -regular_wire_with_drc

这个命令会去解所有的DRC,而不止是Short,可是我们一般用删除shape去解short,而非所有DRC,并且这个命令会去删除整个net的绕线,动作非常大,所有不推荐大家直接使用。

我来分享一下两者之间的区别,并推荐大家使用分享的脚本而非直接使用这个命令,原因也会讲一下。

editDelete -regular_wire_with_drc:

优点:只会删regular net,因此不会动PG。

缺点:整个net都删掉了,一个net可能好几百um(示例中一个500+的net整个删除了),一个地方的小short整个net删除,对timing影响比较大,而脚本分析的方法不存在这种问题。

还有就是如果发现sigal nets和clock nets short了,那么两个net全部会被删掉。而clock nets对timing影响很大,所以如果要用这种方法最好把cts nets全部fix住。

脚本分享的方法:

优点:只会删short的area里面的data signal nets,不会动PG和clock nets,因此比较有保证,不会对timing和IR drop等有大的影响。

缺点:某些情况下,只删除局部的short shape可能无法解决这个short,工具可能还是会在那个地方去绕。这个时候就需要删除更多的shape了,可以手工来选择性删除。如果net所在的path的timing非常宽裕,那么完全删掉它重新绕也没有问题。






审核编辑:刘清

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • DRC
    DRC
    +关注

    关注

    2

    文章

    148

    浏览量

    36098
  • Innovus
    +关注

    关注

    1

    文章

    20

    浏览量

    2646

原文标题:Innovus自动修复Short的脚本分享(附脚本思路详细讲解)

文章出处:【微信号:集成电路设计及EDA教程,微信公众号:集成电路设计及EDA教程】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    linux shell脚本分

    今天浩道跟大家分享shell脚本硬核干货,可以说是拿来即用序列!
    发表于 02-17 09:13 395次阅读

    Linux shell脚本分

    今天浩道跟大家分享几个Linux运维中常用到的shell脚本
    发表于 07-18 09:53 542次阅读
    Linux shell<b class='flag-5'>脚本分</b>享

    ad2013 logo脚本分享!

    貌似现在ad2013里面没有logo的运行脚本,所以得自己添加一个运行脚本,这样后就能想ad9那样添加做图标咯。实际上这个运行脚本就是ad9里面拷贝过来的,不过添加到13里面是可以用的,下载后将其
    发表于 08-20 01:54

    xcodebuild archive通用打包脚本分

    xcodebuild archive 持续集成打包脚本
    发表于 03-06 07:15

    innovus导出文件

    innovus导出文件
    发表于 12-17 06:38

    innovus工具中的editPin怎么使用?

    innovus工具中的editPin的特殊使用
    发表于 02-23 07:22

    基于文章标题信息的汉语自动本分

    本分类是文本挖掘的一个重要组成部分,是信息搜索领域的一项重要研究课题。该文提出一种基于文章标题信息的汉语自动本分类方法,在HNC理论的领域概念框架下,通过标题
    发表于 04-13 08:31 10次下载

    自动化测试脚本开发技巧

    开发自动化测试脚本的技巧和心得软件测试 增量式调试脚本 录制测试脚本,和其他的软件开发成果一样,会变得非常大。为了可以成功的回放,需要调试几百行的代码,为了参数化的
    发表于 03-26 16:24 53次下载

    如何使用符号执行的python实现攻击脚本分析平台

    传统的静态分析方法大多不能准确处理脚本与网络交互的过程,且会引入不可达路径,动态分析则需要搭建实验环境和手工分析。针对上述问题,提出一种基于符号执行的Python攻击脚本分析平台PyExZ3+。通过
    发表于 07-16 15:50 11次下载
    如何使用符号执行的python实现攻击<b class='flag-5'>脚本分</b>析平台

    109个实用shell脚本分

    Shell脚本,就是利用Shell的命令解释的功能,对一个纯文本的文件进行解析,然后执行这些功能,也可以说Shell脚本就是一系列命令的集合。
    的头像 发表于 03-16 08:58 2582次阅读

    innovus】大小写重名的终极解决方法

    但我一直相信innovus自己应该也能搞定。innovus没有rename net的命令,那么有一种复杂的方法,先查找出net的所有terminal,用eco命令来手动替换。
    的头像 发表于 01-24 17:07 1086次阅读
    【<b class='flag-5'>innovus</b>】大小写重名的终极解决方法

    10个杀手级的Python自动脚本分

    重复性任务总是耗时且无聊,想一想你想要一张一张地裁剪 100 张照片或 Fetch API、纠正拼写和语法等工作,所有这些任务都很耗时,为什么不自动化它们呢?在今天的文章中,我将与你分享 10 个 Python [自动脚本]。
    的头像 发表于 01-06 15:34 718次阅读

    【shell脚本分享】性能指标监控与通知!

    今天浩道跟大家分享一个关于性能监控与通知相关的shell脚本
    的头像 发表于 01-09 09:35 1101次阅读

    keil自动化编译脚本

    这是一个 keil 的自动化编译脚本,可被其他脚本或程序调用,接收参数并按参数编译 keil 工程,而不必打开 keil 软件,实现程序上的自动化。
    的头像 发表于 10-16 17:04 1701次阅读
    keil<b class='flag-5'>自动</b>化编译<b class='flag-5'>脚本</b>

    Power Short 怎么测试

    Power Short是一种新兴的技术,利用电力短暂的突发性,为电子设备提供高功率的能量供应。然而,由于其特殊性质和潜在的危险性,对Power Short进行全面详尽的测试非常必要。本文将详细介绍
    的头像 发表于 01-09 14:11 2637次阅读