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

日志

数字后端项目LVS debug技巧

已有 268 次阅读| 2025-9-20 14:20 |个人分类:后端项目经验|系统分类:芯片设计

后端人最新换的图案是什么?我想莫过于那一个√+😊了。没错,说的就是深夜里,LVS pass的那一刻,屏幕上出现的笑脸😊。为什么这么说呢?很多做过复杂设计的人都会有感觉,一开始看到满屏的问题,摸不着头脑,最后有可能纠结于一个fail点,却无法快速定位,给人一种不得其门而入的感觉。在自己做了数个复杂的LVS case之后,记录一下心得。

 

其实看似玄学的LVS是有很逻辑技巧可循的。整理成规范的流程,一路做下来,就会轻松很多。

 

第一步:趟flow,确保flow能正常跑完。

 

出数据 lvs.v, gds, hcell. 然后把lvs.v转成spi文件,v2lvs命令实现。gds进行merge,然后也抽取成spi格式。就可以把lvs.spigds.spi进行lvs比较了。这里要注意的规范就是,出网表的时候要包含dcapgdcap,如果有的话。排除普通fillergds merge的时候也要确保内容完整。

 

第二步:排除shortopenshort比较容易确认,可以在PR的数据当中就做好检查。当然,gds抽取成spi文件的时候也可以看到是否又shortCalibre会生成short.txt, 如果不好定位的话,可以把这个文件导入PR工具,会有marker标记,就可以定位到short了。首先排除short,防止由于short引入的大量电路不等价假问题造成的干扰。

 

第三步:设置blackbox,排除子模块的影响。如果design比较大,包含的子模块或者IP比较多,则需要分开debug。保证子模块先passtop only pass

 

第四步:定位具体的问题。可以通过lvs.rep 进行分析,也可以通过calibre安装目录先的calibre_innovus.tcl 导入到innovus工具中,在pr里直接定位。

 

这里就涉及集中常见分析方式。

 

1. 如果layout missing netSOURCE 有,很可能是short

 

2. 如果LAYOUT SOURCE net 多,很可能是open

 

3. 如果LAYOUT有电路管子,SOURCE没有,很可能是网表里缺instance,可以追溯出网表时候的option,是否遗漏了某类includecell

 

4. 如果LAYOUT没有管子,SOURCEinstance,很可能是网表里多了instance,也可以追溯出网表时候的option,是否遗漏了excludecell。同时可以checkplace,检查PR db里是否有unplaceoverlap等问题。

 

5. 可以单独跑某一个iplvs,确保ip本身没问题

 

6. 检查erc的报告,点击fail点去定位电路

 

7. 检查soft connect的点,确保没有soft connect

 

8. 如果一开始db问题太多,无从下手,可以先设virtual connectdebug,排除干扰。最终记得拿掉virtual connect再次检查

 

9. 最直接有效的就是通过innovus gui界面load calibrestarRVE,打开svdb,去定位fail

 

 

 

具体的技巧根据不同的情况可能有很多种,但是原理就是open short的排除。根据已有的线索推导可能存在的问题,进行有方向的debug,效率会高很多。

image.png


点赞

评论 (0 个评论)

facelist

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

  • 0

    周排名
  • 0

    月排名
  • 0

    总排名
  • 0

    关注
  • 190

    粉丝
  • 71

    好友
  • 320

    获赞
  • 77

    评论
  • 3619

    访问数
关闭

站长推荐 上一条 /1 下一条


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

GMT+8, 2025-9-22 19:24 , Processed in 0.012500 second(s), 8 queries , Gzip On, Redis On.

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