数字IC设计后端实现前期预防IR Drop的方法汇总
文章右侧广告为官方硬广告,与吾爱IC社区无关,用户勿点。点击进去后出现任何损失与社区无关。
谈到数字 IC 后端实现中 IR drop,大家都知道,它是指电压降。IR Drop 的分析包含静态 IR Drop 和动态 IR Drop 分析。IR Drop 的分析在当今的芯片设计实现中越来越重要。现在很多芯片回来测试后发现频率跑不上去,甚至芯片无法正常工作。实践数据表明,这些现象很多都是和 IR Drop 太大有着直接的关系。
今天吾爱 IC 社区的小编将做一个关于 “数字 IC 后端实现中如何预防 IR Drop issue” 的专题分享。
推荐阅读: IR Drop 分析之 Redhawk 分析流程
静态 IR Drop 分析是基于平均电流来做分析的,而动态 IR Drop 分析则是基于最 worst 情况的最大 switch 电流做分析的。在实际项目中,一般跑动态 IR Drop 会跑两种类型:
- Vectorless ir drop analysis
Vectorless 模式的 ir drop 分析不需要读入 VCD 文件,即不需要仿真模型,不考虑测试 pattern。所以这个模式特别适用于前期的动态 IR drop 分析。
2.VCD based ir drop analysis
基于 VCD 的动态 ir drop 分析则是需要前端工程师根据仿真模型提供测试 pattern,比如基于 max power pattern 来产生一个 VCD 文件给数字后端工程师,从而利用 VCD 来做动态 IR Drop 分析。所以基于 VCD 的动态 ir drop 分析适合在项目后期来做,因为需要的东西比较多。
而且基于这个模式的动态 ir drop 分析,其分析结果的准确性完全依赖于前端工程师提供的 VCD 文件。如果 VCD 文件中所用的 test case 只指定了某些模块在翻转,那么可能会导致分析结果过于乐观,甚至是错误的结果。
在之前推荐的文章中写到,在项目后期如何通过 ECO 的方式来改善 IR Drop,大家可以前往查阅。
项目后期踩到这些坑,原来可以这么简单处理!(数字后端实现救火篇)
通过 ECO 的方式来补救 IR Drop 的方法毕竟有限,而且可能会影响 timing 和绕线。所以,我们希望在数字后端实现过程的前期就能够通过一些办法来预防 ir drop 过大的现象。下面吾爱 IC 社区小编简单做一个汇总。
预防 IR Drop 的方法
- 加密 MTCMOS
对于做 power domain 的设计,由于要加 power switch cell,而 switch cell 本身的电阻比较大,直接会导致 global VDD 经过 power switch cell 后就可能要掉了 3% 左右的电。因此,我们在项目前期评估时就要加入足够多的 MTCMOS。
【机密】从此没有难做的 floorplan(数字后端设计实现 floorplan 篇)
- 给 clock cell 预留 space
由于 clock tree 上的 cell 翻转率比较高,所以我们可以通过对 clock cell 进行 space 预留(cell pading),以及在 clock cell 四周包一圈 decap cell 的方法来改善 IR drop isssue。下图为对四个模块分别采取不同的方式进行 cell padding 的 IR drop 结果(图中纵向坐标为 IR Drop 有问题的 cell 数量)。
对 clock cell 进行 cell padding 可以通过如下命令实现(命令的 option 要学会 man,基本技能):
create_keepout_margin
set_clock_cell
- 对 high activity 的 bus 进行拆分
对于 high activity 的总线,如果按照下图所示,对 long net 进行等间距插入 buffer,则很有可能会出现 ir drop 的问题。
而如果我们对 high activity bus 进行处理,处理结果如下图所示,即每路 net 都是错开的。那么这样就大大降低了 IR drop 的风险。
想要实现这个目的,我们可以用 ICC/ICC2 中一个非常好用的命令:
Add_buffer_on_route 这个命令可以通过指定 first_distance,repeater_distance 以及 repeater_ratio 等选项来实现长线的切分。这个命令在修复 max transition 有着广泛的应用,小编几乎每个项目都要用到这个命令。
本文后半部分文章内容,请点击下方的 “阅读原文 “继续阅读,查看更多预防 IR drop 的方法。
好了,今天的内容分享就到这里。另外,因为公众号更改推送规则,小编分享的每篇干货不一定能及时推送给各位。为了避免错过精彩内容,请关注星标公众号,点击 “在看”,点赞并分享到朋友圈,让推送算法知道你是社区的老铁,这样就不会错过任何精彩内容了。
如果你想和小编有更进一步的沟通交流的机会,欢迎加入小编知识星球,让我们一起学习成长,共同进步。相信在这里能让你成就一个更完美的自己。
小编知识星球简介(如果你渴望进步,期望高薪,喜欢交流,欢迎加入 ****):
在这里,目前已经规划并正着手做的事情:
-
ICC/ICC2 lab 的编写
-
基于 ARM CPU 的后端实现流程
-
利用 ICC 中 CCD(Concurrent Clock Data)实现高性能模块的设计实现
-
基于 ARM 四核 CPU 数字后端 Hierarchical Flow 实现教程
-
时钟树结构分析
-
低功耗设计实现
-
定期将项目中碰到的问题以案例的形式做技术分享
-
基于 90nm 项目案例实现教程(ICC 和 Innovus 配套教程)
-
数字 IC 行业百科全书
吾爱 IC 社区知识星球星主为公众号” 吾爱 IC 社区” 号主,从事数字 ic 后端设计实现工作近八年,拥有55nm,40nm,28nm,22nm,14nm等先进工艺节点成功流片经验,成功tapeout 过三十多颗芯片。
这里是一个数字 IC 设计实现高度垂直细分领域的知识社群,是数字 IC 设计实现领域中最大,最高端的知识交流和分享的社区,这里聚集了无数数字 ic 前端设计,后端实现,模拟 layout 工程师们。
在这里大家可以多建立连接,多交流,多拓展人脉圈,甚至可以组织线下活动。在这里你可以就数字 ic 后端设计实现领域的相关问题进行提问,也可以就职业发展规划问题进行咨询,也可以把困扰你的问题拿出来一起讨论交流。对于提问的问题尽量做到有问必答,如遇到不懂的,也会通过查阅资料或者请教专家来解答问题。在这里鼓励大家积极发表主题,提问,从而促进整个知识社群的良性循环。每个月小编会针对活跃用户进行打赏。
最重要的是在这里,能够借助这个知识社群,短期内实现年薪百万的梦想!不管你信不信,反正已经进来的朋友肯定是相信的!相遇是一种缘分,相识更是一种难能可贵的情分!如若有缘你我一定会相遇相识!知识星球二维码如下,可以扫描或者长按识别二维码进入。目前已经有 858 位星球成员,感谢这858 位童鞋的支持!欢迎各位渴望进步,期望高薪的铁杆粉丝加入!终极目标是打造实现本知识星球全员年薪百万的宏伟目标。
欢迎关注 “吾爱 IC 社区”
微信号:ic-backend2018
点击下方 “阅读全文” 查看本文后续内容