先进工艺中的Cut Metal与 Metal Extension技术

在先进工艺中,foundry使用cut metal来实现更小的end-of-line spacing,与cut metal技术相伴随的是metal extension。今天,小姐姐我希望能和大家一起学习下cut metal和metal extension,并分享一些debug相关问题的经验。

如图所示,使用了cut metal技术后(将完整的metal shape 刻蚀断开为独立的shape),可以实现更小的end-of-linespacing。

 ICC2 支持cut metal技术从P&R到signoff的实现。通常Layer 1 的cut metal只能插在固定的位置( preferred grid ),Layer 2cut metal无固定位置(请具体参照对应工艺)。下图为创建好的Layer1的track,track上的箭头(preferred grid)表示了cut metal可以存在的地方。因此,我们首先需要正确的创建好track。

在先进工艺中,通常对M1 Pin shape或者metal shape有minArea要求。当不满足minArea要求时,我们需要进行metal extension,来满足minArea要求。下图示意了需要进行metal extension的shape。

 在ICC2中,所有route相关的命令都可以自动判别哪些metal shape不满足minArea要求,并进行metal extension。例如clock_opt -from route_clock,route_auto/route_detail/route_opt/route_eco/route_group等。值得注意的是,M1 的PG shape 如果不满足minArea的要求,ICC2也会自动extension。

 

How to Debug

在小伙伴们的实际使用过程中,有些小伙伴们会遇到ICC2报了很多minAreaDRC后发现工具没有做metal extension的问题。首先可以明确的是,在所有输入正确的情况下ICC2一定可以正确的进行metal extension。如果没有,那一定是有哪里输入错误了。下面,我简单分享一下在实践中遇到过的metal extension出错的实例。

1.      全部net没有metal extension。首先,我们要检查是否正确创建了track,track上的preferred grid是否正确。值得注意的小tips,从第三方工具读入def时,preferred grid信息会丢失,因此,需要重新创建低层track。其次,我们要检查是否正确创建了routing guide。我们可以用下面这个命令根据boundary cell来自动创建routing guide : set_boundary_cell_rules -add_metal_cut_allowed

2.      全部PG没有metal extension,而signal 绕线有metal extension。这种情况下我们需要检查PG physical_status是否为don’t_touch或者is_fixed?

3.      部分cell的signal net没有metal extension。需要检查cell是否正确legalize,cellpin的color是否正确(与track的color一致)。

4.      部分PG没有metal extension。检查是否正确设置了set_app_option -name route.common.disable_net_type_blockage -value false。原因如下,standard cell内部的routing_blockage 的net_type为:analog_signal, clock , reset, scan ,signal。也就是说routing_blockage的net_type不包括PG mesh, 为何PG extension 被blockage了呢?route.common.disable_net_type_blockage 的default value 为false。当错误的设置为true后,routing_blockage将不再根据net_type来区分是否阻挡某种net,而是blockage所有net。因此将block住PG extension。

猜你喜欢

转载自www.cnblogs.com/lelin/p/12590309.html