罗风 · 2021年04月26日

论P&R | 永庆告诉你

题记:14 年在某展结识了永庆,永庆一身书香气,如生在古代应是温润如玉的偏偏公子。最近老驴在追着萝卜夜以继日地拉磨,感谢永庆及时援助。

Floorplan:

要做好floorplan需要掌握哪些知识跟技能?

通常,遇到floorplan问题,大致的debug步骤跟方法有哪些?

如何衡量floorplan的QA?

要做出一个好的floorplan,需要了解芯片的封装,电源网络的供电方式,芯片的架构,芯片各个部分之间的信号交互状况,芯片clock结构,SI分析,ESD保护,Latch-up防护,需要对数字和模拟电路都有一定的理解,需要对工艺非常熟悉,了解工艺各种drc rule,充分发挥所选工艺的优势,以最小的代价做出最好的PPA.

Floorplan的debug:

  • timing: 是否有因为floorplan不当导致的插入大量buffer 造成的violated path
  • routing:是否存在因为资源分配不均匀导致的congestion, 比如narrow channel,long narrow floorplan。
  • power: 检查IR存在问题的点是否是因为距离source太远
  • area: 看design有没有比较多的面积浪费
  • drc: 尽早检查芯片的baselayer drc, 主要看IP、IO之间的drc, 这些地方一旦出问题就必须重头来。

一个好的floorplan首先要能实现芯片设计的各个指标,做到尽量好的PPA。在此基础上需要对后续的设计环节(比如CTS,route)友好,最小化成本,包括减小面积,减少芯片后续的附加成本,比如不带来额外的封装或者电路板成本,减少迭代次数,缩短研发周期。

Placement:

要做好placement需要掌握哪些知识跟技能?

通常,遇到placement问题,大致的debug步骤跟方法有哪些?

如何衡量placement的QA?

了解自己的design 特点;熟练运用PR tool place 相关的command 和option 。

placement debug:

  • timig: 看critical path上面是否有大量的buffer 插入,如果place 之后看到的critical path上插入了大量的buffer,则可以认为place的结果是有问题的。
  • overflow: 检查overflow分布。
  • module分布: 看同一module下的cell是否放在一起,主要的module有没有被打散。
  • density map: 检查place之后的design 是否存在density 过高或者过低的区域。
  • pin density map: 检查pindensity 的分布情况,对于判断congestion 有帮助。
  • 检查 register的分布情况
  • 检查place之后density变化,std cell增加是否合理

好的placement需要做到:

  • timing 收敛,并且为后续cts和route timing变坏留有margin
  • overflow小
  • density高
  • 对后续的步骤(cts,route)友好

CTS:

要做好CTS需要掌握哪些知识跟技能?

通常,遇到CTS问题,大致的debug步骤跟方法有哪些?

如何衡量CTS的QA?

只做过block level的cts,下面的内容只适用于block level cts。

熟悉SDC的语法和内容;熟悉design clock 结构;熟悉clock buffer 的特点;熟悉tool的cts 相关命令和设置。

CTS debug 的方法:

  • track clock tree.
  • 检查clock latency,global skew,clock net drv.
  • 检查setup/holdtiming的WNS&TNS.

好的CTS应该一下这些特点:

  • clock latency尽量短
  • global skew较小
  • clock buffer/inverter面积尽量小
  • clock buffer/inverter不能太集中,会导致dynamic IR变坏
  • 在timing critial的情况下,能够合理借用usful skew来收敛timing
  • 对routing友好

Route:

要做好Route需要掌握哪些知识跟技能?

通常,遇到Route问题,大致的debug步骤跟方法有哪些?

如何衡量Route的QA?

要对所选工艺比较了解,有多少metal 可以用,各层metal 的电阻,pitch 等等;需要知道所选的library 里哪些cell(包括memory和stdcell)对routing resource要求比较高;需要对自己的design 特点比较了解;需要评估design 用到的IP 对routing 的影响;需要对tool 的route 相关的功能比较了解。

route常见的问题是: short,detour,SI

  • short: 是debug route 面对的最主要的问题,也是PR 过程中非常重要的一个环节。debug short 首先要定位short 的位置,常见的有Macro 出pin 点附近,这种情况可能需要加一些placement constraint,或者是调整macro 的位置;如果short 发生在channel 里,很可能需要调整floorplan;如果是clock net route 利用resource 太多造成的short,可能需要改变cts 的策略,比如说降低NDR rule 使用的比率;如果是power mesh 太密引起的short,可能需要重新研究power plan 的策略;如果是design 局部density 太高造成的short,可能需要回到place,加一些constraint,限制local density; 如果是short集中在某些module,可能需要对这些module 加上padding;如果是某些类型的cell 容易造成大量的short,可能需要对这些cell 加padding,甚至要回到综合,减少甚至禁止这些cell; 如果是整个design density 过高造成的大面积的short,就需要增加面积;如果整个design density 不高,但是看到大面的short,在确定power plan 没问题的前提下,可能需要求助于前端设计工程师帮忙分析design 的特点,必要的时候可能要修改design,或者增加metal 层数。
  • detour 的问题不像short 那么明显,只有通过route 之后的timing report 才能发现,如果route 之后看到critical path 上面增加了大量buffer,或者有很大的transition,就要怀疑detour的可能性,解法和short 类似。
  • SI要等到routeOpt 之后才能从timing report 里看到,如果发现比较严重的SI,要看是clock net 上面还是data net 上面。如果是clock net 上面的,可能需要回到cts,使用NDR rule 来route clock net,必要的时候加上routing,如果是data net,可以适当调整对线长和max\_transition 的控制,或者通过调一些route 相关的option 来减轻SI 对data net 的影响。

好的route 结果:

  • 没有short和drc
  • 尽量少的detour
  • SI对timing的影响尽量小
  • design的utility不能太低,减少浪费

DRC:

要做好DRC需要掌握哪些知识跟技能?

通常,遇到DRC问题,大致的debug步骤跟方法有哪些?

如何衡量DRC的QA?

做DRC要对工艺非常熟悉,至少要了解芯片制造的基本步骤和原理,对常用的电路元器件的电路图和版图都要比较精通,还需要熟悉drc rule的语法以及内容,要能够熟练使用physical verification工具。

DRC的debug方法:

  • 在项目早期,要把fullchip 相关的一些rule 刷干净,比如ICOVL,clampcell 和tcd cell,各种IO 和IP 之间的base layer rule都要尽早clear,这些东西一旦需要改动就需要重头来,伤筋动骨。
  • 如果是新工艺,需要提早拿一个小的block反复刷drc,把各种没见过的drc都研究清楚,找到解决方案,尽量集成到flow里面去。
  • power mesh的drc也要尽早刷,要在项目早期就有一个比较clean的power plan solution.
  • 项目后期drc的主要bottleneck 在TOP,top drc 主要的思路是逐渐收敛,先把看到的drc分类,按照大类找到解决方案(比如power mesh相关的,dummy metal相关的,filler cell相关的),快速迭代,尽快收敛。这个过程中工程师需要想方设法加快迭代速度,因为随着IC制造工艺越来越先进,drc的runtime已经逐渐成为了TO之前的bottleneck.

TO之前,DRC基本上是需要clean的,没有太多商量的余地,所以对于做drc工程师来说,主要是尽早发现,尽快解决。


作者:陌上风骑驴
来源:https://mp.weixin.qq.com/s/PBLfxKjGWb9on3GT4ZpD0g
作者微信公众号
捕获.PNG

相关文章推荐

更多IC设计技术干货请关注IC设计技术专栏。
推荐阅读
关注数
19610
内容数
1303
主要交流IC以及SoC设计流程相关的技术和知识
目录
极术微信服务号
关注极术微信号
实时接收点赞提醒和评论通知
安谋科技学堂公众号
关注安谋科技学堂
实时获取安谋科技及 Arm 教学资源
安谋科技招聘公众号
关注安谋科技招聘
实时获取安谋科技中国职位信息