公司新闻

不分颜色:无色与双色双重图形成型(Double Patterning,DP)设计的对比

作者:Mentor Graphics公司David Abercrombie、张淑雯

信不信由你,不用画两张图形就能进行双重图形IC设计!通常,DP是一个“双色”的流程,设计工程师从若干分解选择中选出一种,流片(tape out)两张光罩(以两种不同颜色区分)。但还有一种替代方案,被称为“无色”设计流程。无论选择何种设计流程都需要进行妥协,因此必须根据哪种流程对你的企业最有利、你的代工厂(foundry)会支持哪种流程来做出抉择。

图1是四种可能的DP设计流程。前3个流程是双色流程,对任何要进行双重图形成型的层,设计工程师都会提交两张分开的“彩色”版图(layout)。第4个流程是“无色”流程,设计工程师仅提交一张版图,由代工厂来执行分解为两层的工作。三种双色流程之间的差别,在于建立这些分解层所涉及的自动化程度的不同。

图1.不同双重图形成型分解方法流程图。

在人工分解流程,设计工程师手动绘制两张光罩层。分解的精确性是通过传统的设计规则检查(DRC)工具进行验证的,比如检查光罩间的间隔约束。但是,设计工程师必须人工确定如何在两张光罩中实现设计。手动分解版图会非常耗时和困难,而在大型区块上是不可行的。所以其他流程更为常见。

在自动化分解流程中,设计工程师绘制一个层即可。然后用一个专用EDA工具自动将该层分解为两张光罩,通过传统DRC操作进行检查。也可以运行专门的“奇数回路(odd cycle)”DP检查,帮助设计工程师更好地理解造成任何分解错误的整套多边形交互作用。

混合分解流程当然就是前两种流程的混合。设计工程师可以手动执行一部分分解,然后让专用EDA工具自动分解并检查剩余的设计。这种流程常用于设计工程师将一个已经分解的单元整合到一个未经分解的新的版图中的情况。

在无色流程中,设计工程师根本无需产生两个光罩层,而是通过对专用EDA工具的专项奇数回路检查,来确定无法以自动方式正确分解的位置。如发现问题就修改单个层,直至这些检查都没有问题为止。在流片后代工厂将该版图分解成两层。

虽然无色流程不要求设计工程师分解光罩层工程,但在版图中的一些特殊区域,设计工程师可能想要控制多边形的着色。比如,在特定光罩上放置电源和接地轨(ground rails)可能是很重要的,或者在模拟电路中,“匹配”的器件可能需要以相同的方式进行分解,以确保其性能匹配。在这些情况中,会采用“锚点”(anchor)标记,将这些特殊要求传达给代工厂所使用的分解工具。这些锚点通常被指定为放置在“网布”(fabric)多边形上的层标记,从而将它们分配给特定光罩层。然后专用EDA工具会分解未分配的、受到指定多边形影响的多边形。

当然,分解并非总是一帆风顺的。也可能在版图中有某些情形,如果不违反着色间隔约束,就无法分解。所使用的DP方法,影响着可以完成的错误检查的类型。图2显示在一个双色流程中无色检查和传统DRC检查都报告出的奇数回路违例情况。无色流程中使用的专用DP检查,显示了接触多边形的错误的“环”(rings)和组成奇数回路的分隔符。回路可通过在环中增加一个或更多分隔符来修正。换言之,一个奇数回路有多种可能的修正方法,设计工程师可以选择最容易实现的方法。

图2.由无色流程的专用奇数回路检查或双色流程的传统DRC检查所找出的DP错误。

在人工分解的实例中,设计工程师指定了多边形的着色。DRC检查可标记出任一特定的、同一光罩上两个多边形距离过近之处。设计工程师可增加指定的间距、或改变其中一个多边形的颜色,来修复错误。当然,改变颜色后,又可能在新着色的多边形和任一临近的、现在是相同颜色的多边形之间造成新的错误。

在双色流程里使用专用EDA工具来执行分解和检查,让设计工程师能使用环式错误标记来找出全部互相影响的多边形,并且更快、更高效地确定合法的着色选择。

最后,没有一个能解决所有问题的通用方案。每一设计团队都必须研究所有可用的选择,从而决定采用何种妥协方式去优化学习方式以及设计日程。建议设计公司团队针对这些选择与代工厂及EDA厂商进行对话,从而了解他们支持哪些流程和工具有哪些功能。