罗风 · 2021年04月25日

QRC最佳之:顾小胖话P&R

Floorplan:

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

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

如何衡量floorplan的QA?

Floorplan包含:

  • IO floorplan: 涉及板级设计、封装设计的交互,接口协议(timing相关),对一些高速接口需要做特殊考虑(如信号完整性等)。
  • Power plan:芯片的电源和低功耗设计方案、功耗及IR仿真。
  • Block floorplan:涉及设计结构,总线结构,时钟结构,数据流和timing。
  • Pin assignment:涉及data flow,timing,工艺。

Floorplan的问题主要有:

  • Large displacement相关的模块被摆放过远或逻辑detour,从而引入大量的buffering,进而导致area,routing和timing的问题。需要工程师对设计的数据流有一定的了解,将相关联的模块放在一起。
  • Congestion在局部区域有大量的走线经过,通常由于large displacement、local high density等原因导致。tool通常采用把集中的cell推开和绕线detour等方法解congestion。这样会对timing造成一定的影响。解决办法有:控制local density,给多扇入的cell加额外pading, reorder scan chain等。

个人认为floorplan的QA不是很好量化,通常通过timing, area, power和routing侧面反应出来。而且也是一个需要反复迭代,不断优化,折中的过程。



WeChat Image_20210425094226.jpg

Placement:

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

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

如何衡量placement的QA?

Placement和floorplan关系比较紧密,floorplan确定后,placement基本也定型了,后端能做的就是加一些 physical / timing constraint或一些option来指导工具布局。

在新工艺中,placement需要考虑base layer drc的问题,因此需要对工艺,desig rule有了解。还需要对EDA工具的行为有深入的了解,明白什么样的行为会导致怎样的结果。

Placement的QA通常通过PPA (Performance,Power和Area)来衡量:

  • 看timing是否满足,是否有综合工具考虑不到的情况出现。
  • 看绕线资源,是否有较大的overflow,评估往下走是否会有布线拥塞的风险并进行调整。
  • 看利用率变化情况,是否有density过高的情况,local density过高会导致后续步骤的设计存在不收敛的风险。
  • 看功耗,各种vt单元之间的比例,评估是否满足设计指标,后续步骤是否还有优化空间。

WeChat Image_20210425101246.jpg


CTS:

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

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

如何衡量CTS的QA?

做CTS需要了解芯片的时钟结构,STA,DFT,功耗分析等方面的知识。通常,时钟功耗在芯片功耗中占比很大,所以要尽量控制时钟树的功耗;clock skew 对 setup / hold 收敛至关重要,所以要利用并控制好clock skew。

CTS Debug:

  • 检查CTS sdc的正确性,是否存在漏做时钟、过约束设计;
  • 检查每个时钟的latency和级数是否在正常范围内,从物理上最远的时钟路径来看latency和级数是否合理,走线是否有detour,是否有大量的balance delay cell。通常在CTS之前,需要检查时钟单元的布局,及早发现detour的问题。
  • 检查每个corner下的clock skew是否符合预期,是否存在不同corner下,由于RC / std cell variation引起的不符合预期的skew变化。
  • 检查时钟单元是否有扎堆现象,较大的时钟单元容易引起IR问题。
  • 检查时钟绕线是否符合预期,新工艺下通常采用Non defaul routing rule来做时钟绕线。

通常通过clock latency, clock skew, clock inst count, total clock net cap, clock power和timing(setup是否能满足,hold timing TNS是否合理) 来衡量CTS的QA。

WeChat Image_20210425101339.jpg

Route:

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

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

如何衡量Route的QA?

要对EDA进行route有基本的了解,熟悉route的一些基本的步骤以及现阶段route的一些主流的算法,最好还要对所用工艺比较熟悉。熟悉DRC的check。

Route Debug:

  • DRC问题:看是否满足Design Rule Check,是否存在short 和metal layer drc,这方面需要对所用的工艺比较熟悉,要了解每一代工艺会出现哪些新的DRC,router需要对于新的工艺做哪些新的设置。
  • Timing问题:如果timing degrade 很多的话,需要看是否有detour,是否有很大的SI,也要检查trial route engine和real rc engine之间的correlation。
  • 检查DFM相关信息,比如wire spread,NDR route,DFM via 比例等。

Route QA:

  • DRC数目是否足够小,是否在可控制的范围之内。
  • post route 和 pre route的timing correlation。

多说一句:Innovusnanoroute对于advanced node的routing有很强的handle能力,nanoroute route出来的design DRC会比较少,而且nanoroute是timing Driven的routing。

WeChat Image_20210425101356.jpg

DRC:

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

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

如何衡量DRC的QA?

DRC与工艺、电器设计规则,版图知识密切相关,要对EDA tool、rule deck有深入了解,要清楚design 中用到的特殊器件,清楚设计中的供电情况。

DRC问题可以分为前段和后段:

  • 前段主要是base layer的检查,在floorplan和powerplan完成后,尽快做一版粗略的placement,供baselayer DRC检查。
  • 后段主要是metal layer的检查,通常EDA Tool 在routing时,所用的tech file能cover大部分metal layer的drc,存在的问题主要是density,还有和顶层模块拼接时出现的mis-match的问题。

一般简单的DRC问题可以根据design rule的描述进行修复,在debug复杂问题时:

  • 先从rule deck入手,保证rule 版本和配置的正确性,电源,PAD指定正确。
  • 确认input data是干净的,db在pr database里是clean的,IP中的特殊标识层是完备且正确的。
  • 先清PG short, text问题;再解latch up,esd的问题
  • 结合design rule说明文档,ERC报告等,具体分析。

衡量DRC QA:

  • LVS clean
  • Antenna clean
  • DRC/ERC不clean的地方经IP vender和foundry确认可以waive
作者:陌上风骑驴
来源:https://mp.weixin.qq.com/s/D\_4LqLGqWgbdoW1SAJMjMA
作者微信公众号
捕获.PNG

相关文章推荐

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