第三十二课:DFM (Chip Finish)

内容总览

 

  

Chip finish即为DFM;

①在DFM阶段,我们需要fix所有的antenna violation,在route阶段也做了天线效应的修复,但是只fix了一次,可能还有未修复的,这一节全部fix完成;

②修正routing的pattern以使得布线更加强壮以抵抗defect缺陷;

③增加一些冗余的连接;

④执行金属填充并插入filler cell;

DFM/Chip Finish

状态检查

 

在进行DFM之前,我们需要对设计状态进行检查,如上图,logic DRC允许有一些violation存在,其他方面必须要满足;

Chip Finish Flow

 

在post-Route后,timing及DRC应该都是满足的,我们跟着flow进行就好;

这里的reduce critial area就是为了resistant defect;

Insert filler cell指的不是pad filler cell,pad filler cell在前面floorplan就已经完成了,这里指的是std cell filler cell;

在执行完上述一些步骤后,会使layout/placement/route发生一些变化,可能会对timing有影响,因此只要做一下timing opt;

Reduce critical area

随机散粒缺陷

 

芯片在制造时,难免会有些异物存在,这些异物可能是导电的,也可能是不导电的;如果是导电的,当位于两条metal直接时就会导致short;而不导电的颗粒落在某根net上,可能就会导致open出现;

Report critical area

  

我们在使用report_critical_area命令时,需要导入工艺厂商提供的颗粒分布函数,-particle_distr_func_file,然后设置金属层位置,错误类型;如上图;

根据工艺厂商提供的func_file可看出,缺陷的尺寸与出现的概率呈反相关,尺寸越小的缺陷出现的概率越大;

解决方案:Wire spreading + Wire Widening

 

解决方案,Wire spreading就是将wire推开到1/2pitch位置,Wire Widening就是增加线宽;

注意,在使用的时候,优先保时序, 只有当setup/hold slack超过0.05的路径才进行spreading & widening,如果时序没问题,那就不进行操作;

Wire Spresding

 

在进行wire spreading时,记住要设置timing preserve;

主要通过postroute function来解决shorts;会将signal wire往两侧移一点距离来避开defect,避免short;

注意,只能在参考方向上spread;同时会自动查找并修复引起的DRC问题;

控制最小Jog length

 

这里先解释一下Jog是什么意思,可以简单理解为先弯折后又回来,这需要一个前提条件,如上图,只有当最小的jog length达到要求是才会进行jog,默认是2 pitchs,我们可以人为修改;

 

通过postroute function来解决open;也会查找并修复引起的DRC问题;

修复天线效应--插入反向二极管

 

前面我们在CTS阶段也提到过一种修复天线效应的方法--Jump layer,因为天性效应主要和gate上直接连接的金属面积相关,我们通过Jump layer可以有效的降低gate直连金属面积;

此处介绍另外一种方法:通过在gate附近加一个反向二极管,用来做电压钳位clamp,其实这种方法和ESD clamp很相似,都是靠反向二极管的击穿来泄放电流;

一般这种插入反向二极管的方法是将前面Jump layer法没有修复的antenna violation进一步进行修复;如果这一步还是没有fix的话,那就只能手动去插入diode进行修复;

Filler cell Insertion

为什么要插入std cell filler cell?在半导体制造工艺中,要求版图上的density是均匀的,不能出现有些地方很密集,而有些地方很空旷,否则很容易导致曝光不均匀降低良率;为了提高良率,我们需要保持chip density统一,故需要在一些空的row上插入std cell filler cell;

插入std cell filler cell

 

命令如上所示,值得注意的是,我们要在std cell PG rail完成后再插入filler cell;

Incr. timing opt

 

前面提过,在经过reduce critical & 修复天线效应 & insert filler cell后,必然会使得layout/placement/route发生一些细微的变化,可能会对timing产生影响,如果有影响,我们就需要在进行优化,利用route_opt -incremental -size_only,这里的优化只改变cell size,从而改变驱动能力来优化时序,其他方面保持不变;

Redundant Vias

 

前面在routing阶段我们已经插入双倍via了,但是当时插入的也是有转换率的,在chip finish阶段,我们还需要再做一次,进一步增加双倍via转换率;使用的命令为:insert_zrt_redundant_vias;

插入双倍via-setup

这一步和前面routing中setup一致;

Via优先级设置

插入的双倍via也是有种类之分的,有的via有利于DFM,有的via有利于routing;因此我们可以设置via的优先级,工具在选择via时会根据优先级选择使用,如果优先级相同,会优先选择利于riuting的via;

利于DFM的via举例

 

如上图所示,对于DFM而言,VB>VG>V,而最差的双孔优于最好的单孔;我们可以按照这个顺序来进行替换;

插入via command

 

我们可以用insert_zrt_redundant_vias -effort med命令插入双倍via,为什么不用high effort呢?因为high effort虽然有更高的转换率,但有些via会被move,从而可能导致其他的DRC问题;

时序保持模式timing preservation mode

 

double via的插入对不同的path产生的影响是不一致的,对于short net,则会增大负载电容,从而降低时序;而对于Long net,则会降低电阻,从而加快时序;

对于timing preservation mode,考虑到double via的插入对不同的path影响不同,个人认为是为了在chip finish阶段保证关键路径的timing,不让工具在关键路径插入double via,从而不受via insertion的影响;

Double via 插入报告

 

我们可通过report_design -physical得到上图report,从中可以看到Double via 的转换比例,越高越好;

Reconnect PG and perform route clean-up

 

Insert metal fill

 

这个问题和我们前面所说的std cell density要保持均匀比较相似,在刻蚀metal时,我们也要保持metal wire的密度基本一致,否则对于密度较低的区域很容易导致过刻蚀的现象出现,如上图,左边的wire是规则的长方形,而右边则由于过刻蚀形成了梯形,这样的话整个wire的电容电阻特性都会改变,这是我们不希望的;

插入metal fill防止过刻蚀

 

我们可以通过ICC来插入metal fill,也可以通过ICV插入,≤45nm工艺推荐使用ICV;插入metal filler以保持metal wire的密度基本一致;

Metal fill推荐设置

 

当metal fill离关键路径过近时(包括同层及上下层),会影响关键路径的寄生参数,从而影响timing;因此,我们可以通过-timing_driven选项来告诉工具不要再关键路径附近插入metal fill,保证关键路径的时序;

对于非关键路径,也会设置正常wire与fill metal的最小间距,通常设置为2*minSpacing;

Summary--Chip finish

 

Summary;

Final Validation

 

做完DFM后,还有一些后续的验证需要进行:

①导出GDS2文件,利用ICV(Synthesis)或者Calibre(Mentor)进行DRC及LVS版图验证,一般Calibre用的多一些;

②导出netlist,进行形式验证;

③写出.spef file,进行STA静态时序分析,目前主流的做法是直接用StarRC抽取寄生参数,然后导入到PT中进行时序分析;

导出.SPEF file

 

用write_parasitics命令导出.SPEF file,然后给到PT工具;

当然,signoff也可以用StarRC extraction;

导出Netlist

 

根据目的不同,如果netlist用来进行STA分析,则不需要physical only cell的一些信息;而如果是用于LVS(layout VS schematic)验证,那么就需要所有的信息;

相应command如上图所示--write_verilog -no_corner_pad_cells;

导出GDSII

 

write_stream -cells DFM_clean xxxx.gdsii;

  

  • 2
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值