ARTICLE DETAIL

资讯详情

深耕网站视觉设计与运营推广的一线实战洞察。

芯片设计中的天线效应:原理、预防与先进工艺下的应对策略

芯片设计中的天线效应:原理、预防与先进工艺下的应对策略 1. 项目概述从“天线效应”说起为什么它不再是芯片设计的“小透明”在芯片设计的漫长流程里可靠性设计Reliability Design一直是个既基础又容易被忽视的领域。它不像前端架构那样充满想象力也不像后端物理实现那样直接决定芯片的PPA性能、功耗、面积但它的好坏直接决定了芯片在用户手里是稳定服役还是“英年早逝”。今天要聊的“天线效应”Antenna Effect就是可靠性设计中一个非常经典、且在现代先进工艺下愈发凸显的“隐形杀手”。简单来说天线效应指的是在芯片制造的光刻和刻蚀过程中那些连接到MOS管栅极的、面积或长度过大的金属或多晶硅互连线会像一根根微型天线一样收集刻蚀工艺中产生的等离子体电荷。当这些电荷累积到一定程度就会通过栅氧层放电造成栅氧击穿或性能退化导致晶体管失效。这听起来有点像静电放电ESD但它的发生场景是在晶圆厂的生产线上是制造过程中的“内伤”而非产品使用中的“外伤”。为什么现在要特别关注它因为随着工艺节点从28nm、16nm一路演进到7nm、5nm甚至更先进栅氧厚度Tox越来越薄击穿电压急剧下降。与此同时金属互连层数越来越多布线密度越来越高一根看似普通的走线其等效“天线面积”很容易就超标。过去在微米级工艺下可能无伤大雅的设计到了纳米级就成了致命缺陷。我经历过不止一个项目在流片后的失效分析FA中发现某些特定功能的单元批量失效根因追溯到最后往往就是天线效应在作祟。它不再是后端工程师可以“顺便检查一下”的次要项目而是必须从设计初期就纳入考量的核心约束之一。2. 天线效应的物理机制与量化模型拆解要有效防治必须先透彻理解。天线效应不是玄学其背后有清晰的物理过程和量化模型。2.1 电荷收集与泄放一场动态的“蓄洪”与“泄洪”整个机制可以类比为一个小型水库系统。在干法刻蚀如RIE反应离子刻蚀或化学机械抛光CMP等工艺步骤中工艺腔体内会产生大量的高能等离子体。那些暴露在等离子体环境中的导体金属、多晶硅、接触孔/通孔就像一根根天线会持续收集这些带电粒子主要是电子。电荷累积的速度取决于导体的“有效面积”——即在该工艺步骤中暴露在等离子体中的导体表面积。关键点在于这些导体最终会通过接触孔Contact或通孔Via连接到晶体管的栅极。栅极下方是极其薄几个原子层厚度的栅氧化层Gate Oxide它是绝缘体。在制造过程中当连接到栅极的导体网络还在被刻蚀、尚未形成完整的、连接到扩散区有源区或衬底的泄放路径时收集到的电荷无处可去只能存储在栅极这个“孤岛”上。电荷持续累积栅极电压不断升高直到超过栅氧的击穿场强通常在10-15 MV/cm量级就会发生F-N隧穿Fowler-Nordheim Tunneling或直接击穿对栅氧造成不可逆的损伤。泄放路径的形成是动态的。例如在制作第一层金属M1时多晶硅栅已经做好但连接栅极到源/漏扩散区的接触孔可能还未刻蚀。此时多晶硅走线就是“天线”电荷只能困在栅极。直到后续工艺步骤完成了接触孔的制作电荷才可能通过扩散区泄放到衬底。因此“天线比率”Antenna Ratio的计算必须针对特定的工艺层和制造步骤。2.2 核心参数天线比率Antenna Ratio的计算与工艺文件解读天线效应的严重程度通常用天线比率AR来量化。其基本定义是天线比率 (AR) 收集电荷的导体面积 / 连接到该导体的栅氧面积更工程化的表达是AR (导体侧壁面积 导体顶部面积) / (所连接所有晶体管栅极的栅氧面积)这里有几个细节需要掰开讲导体面积不是简单的版图形状面积。在刻蚀过程中导体的侧壁面积是电荷收集的主要来源。对于一条长走线其侧壁面积 走线长度 × 走线高度 × 2两侧。因此长而细的走线比短而宽的走线更容易产生天线效应因为它的周长/面积比更大。栅氧面积这是泄放能力的体现。栅氧面积越大能承受的电荷总量通常也越大因为电容更大分摊电压。所以连接一个大尺寸驱动器的走线其天线比率容忍度会比连接一个最小尺寸反相器的走线高得多。分层计算与累积效应现代工艺有十几层金属。天线比率需要分层、分步骤计算。例如一根M2走线连接到栅极它的天线比率要累加上它下面所有通孔V1的侧壁面积以及它所连接的M1走线的面积如果这些M1在之前的工艺步骤中也作为“天线”收集了电荷。EDA工具如IC Compiler II, Innovus正是基于工艺厂提供的、包含各层厚度、刻蚀顺序等信息的工艺天线规则文件如tf文件中的antenna部分或单独的antenna rule file来进行精确计算的。工艺文件会定义每一层、每一种情况下的天线比率上限。通常会有多个规则例如diffusion_antenna_ratio: 连接到扩散区有源区的导体AR限值。因为电荷可以泄放到衬底这个值通常较大如800:1。gate_antenna_ratio: 仅连接到栅极无泄放路径的导体AR限值。这个值非常严格如50:1。cumulative_antenna_ratio: 累积天线比率限值考虑多层的电荷贡献。实操心得拿到一个新工艺的PDK工艺设计套件后第一件事就是去翻看天线规则文件。不要只看数字要理解规则生效的层和条件。有些规则只在“部分刻蚀”阶段生效有些则考虑“金属残留”。我曾遇到过工具报告违例但检查规则发现该规则仅针对“金属浮空”情况而我们的设计中有跳线层实际不违例。盲目修复反而会浪费面积、影响时序。3. 设计阶段的主动预防策略与设计规则最好的修复是在问题发生之前。在RTL编码和物理实现规划阶段就有许多策略可以大幅降低天线效应的风险。3.1 架构与RTL层级的考量虽然天线效应主要在后端物理设计阶段显现但前端设计的选择会为其定下基调模块划分与层次化设计合理的层次化Hierarchical设计可以将天线效应问题局部化。如果一个模块内部信号线很长尽量让它在模块内部开始和结束避免用超长的顶层互连线去连接两个距离很远的模块。这相当于把“长天线”拆成了许多较短的“本地天线”每个本地天线连接到其本地逻辑门的栅极AR更容易满足。总线编码与信号活动性对于高扇出、长距离的总线考虑使用格雷码Gray Code或其他低翻转活动性的编码方式。虽然天线效应是制造问题与信号活动性无关但低活动性设计往往伴随着更平衡的驱动结构可能间接影响布线资源和线长对后端优化有好处。时钟树与复位树设计时钟和复位网络通常遍布全芯片线网极长。必须确保时钟/复位驱动器Clock Buffer, Reset Buffer的尺寸足够大以提供低的AR值。在综合Synthesis阶段就可以对时钟树设置更大的驱动强度或更严格的max_transition约束为后端预留设计余量。3.2 物理实现中的黄金法则跳线Jumper与二极管插入当长走线不可避免时后端工程师有两把“尚方宝剑”跳线和保护二极管。跳线法Layer Hopping这是最常用、最有效的解决方法。原理是打断长的“天线”将其分成多段并通过上层金属进行“搭桥”。操作假设一根M2走线过长导致AR违例。我们可以在走线中间某个点将其切断然后通过一个通孔Via连接到M3在M3上走一小段再通过另一个通孔回到M2继续前进。这样对于M2的刻蚀工艺而言原来的一根长天线变成了两根较短的天线AR值自然下降。关键点跳线点的选择。不能随意打断必须考虑时序影响通孔会引入额外的寄生电阻和电容可能影响关键路径的时序。需要在修复天线违例和满足时序之间权衡。布线拥堵跳线会占用上层金属资源在布线密集区域可能加剧拥堵。工具自动化现代EDA工具如ICC2的antenna_fix_design可以自动插入跳线。但工程师需要设置正确的策略比如指定用于跳线的金属层通常用最高一两层因为它们的线长通常较短、设置跳线后允许的最大AR值、以及是否允许在时序关键路径上插入跳线。二极管插入法Diode Insertion在信号线上并联一个反向偏置的二极管通常是工艺库中提供的“天线二极管”或利用MOS管栅漏短接形成的二极管到VSS或VDD。原理在制造过程中当栅极电压因电荷累积而升高时如果超过了二极管的正向导通压降约0.7V电荷就可以通过二极管泄放到电源或地网络从而保护栅氧。优缺点优点不改变走线路径对时序和布线影响小。尤其适用于顶层时钟网络等不能轻易打断的走线。缺点会引入额外的漏电流静态功耗占用面积并增加寄生电容可能对高速信号完整性有轻微影响。实操要点二极管不能随便加。需要遵循设计规则比如二极管离保护栅极的最大距离、二极管的尺寸选择通常有最小尺寸单元。工具可以自动插入但需要检查插入后是否引入了新的DRC设计规则检查问题如二极管与周围器件的间距。注意事项“先跳线后二极管”是一个普遍原则。因为跳线不增加功耗和面积应优先使用。只有当跳线无法实施如顶层全局信号、布线资源极度紧张或跳线后AR仍轻微超标时才考虑插入二极管。另外对于模拟电路或射频电路二极管的寄生参数影响需要额外评估。4. 签核验证与工具流程实战设计完成后的验证环节至关重要必须确保芯片在交付制造前所有天线违例都被清除。4.1 静态天线检查Antenna Check流程详解天线检查是物理验证Physical Verification的一部分通常在布线完成、进行设计规则检查DRC和版图与电路图一致性检查LVS的同时或之后进行。输入准备设计数据库DEF/LEF, OA DB包含完整的布局布线信息。工艺天线规则文件由晶圆厂提供是检查的“法律准绳”。寄生参数提取文件SPEF或DSPF可选但推荐。更精确的RC提取数据可以帮助工具更准确地计算栅氧电容从而得到更准确的AR值。对于先进工艺这能避免过度修复。工具运行与报告解读 运行工具如Calibre PERC, ICV, Pegasus的天线检查命令。工具会输出一个详细的违例报告。报告通常包含违例位置具体的金属层、坐标、网络名。违例类型是gate_antenna还是cumulative_antenna计算出的AR值和规则限值。相关的栅极信息是哪个晶体管门的栅极受到了威胁。电荷收集路径详细列出贡献电荷的每一段导体哪一层多长多宽。分析违例的优先级 不是所有违例都同样紧急。需要分类处理关键违例AR值远超限值例如限值50实际值200且连接到关键路径上的栅极或大量栅极。必须优先修复。轻微违例AR值略超限值如限值50实际值55。可能是计算保守性或工艺余量所致。需要与工艺厂确认规则的安全裕度有时可以申请 waiver豁免。伪违例工具误报例如工具未能识别出设计中已有的泄放路径如通过衬底接触。规则理解偏差如前所述某些规则可能不适用于当前设计上下文。对未使用的逻辑单元连接到完全未使用的、已关闭的模块的输入端口。4.2 修复迭代与收敛根据违例报告返回物理实现工具进行修复这是一个迭代过程自动修复在布局布线工具中加载天线违例报告运行自动修复命令。工具会尝试插入跳线或二极管。手动修复对于自动修复失败或引入新问题如严重时序违例的地方需要手动干预。这可能包括手动调整布线缩短某段金属线。在特定位置手动例化instantiate一个天线二极管单元。微调单元布局让驱动门更靠近信号源减少互连线长度。重新验证修复后必须重新运行完整的DRC、LVS和天线检查确保违例被清除且没有引入新的违例或设计错误。最终签核在交付GDSII流片数据之前需要获得一份干净的天线检查报告作为签核Sign-off依据之一。5. 先进工艺下的新挑战与应对技巧进入FinFET和更先进工艺后天线效应呈现出新的特点老方法可能需要调整。5.1 FinFET工艺带来的变化在平面工艺中栅氧面积就是栅长×栅宽。但在FinFET中栅极是三面包裹鳍片Fin的其有效栅氧面积是2 * Fin高度 * 栅长 Fin宽度 * 栅长假设单Fin。由于Fin高度是固定的工艺参数晶体管的驱动能力宽度是通过增加并行的Fin数量来实现的而不是单纯增加栅宽。这意味着计算更复杂连接到同一个栅极的互连线其AR计算中的“栅氧面积”需要根据Fin的数量和工艺参数精确计算。EDA工具和工艺规则文件必须支持这种三维结构模型。修复策略影响插入二极管时需要关注二极管单元本身是否也是FinFET结构其寄生参数模型是否准确。5.2 低功耗设计与天线效应的冲突现代芯片普遍采用多电压域Multi-Voltage Domain和电源门控Power Gating。当一个电源域被关断Power Down时其内部的逻辑单元与电源/地网络断开。问题传统的天线二极管是接到固定的VSS或VDD。如果一个信号线穿越了关断域和常开域在关断域内的部分收集的电荷无法通过域内的二极管泄放因为电源关了而电荷可能通过信号路径影响到常开域的栅极。解决方案使用常开电源域的二极管确保保护二极管是连接到永远不会关断的电源域如Always-On Domain。隔离单元Isolation Cell的额外作用在电源关断域的输出端插入的隔离单元除了保证输出为确定值外其内部结构有时也能提供一定的电荷泄放路径。层次化天线检查需要对每个电压域单独进行天线检查并特别关注跨电压域的信号线。5.3 封装与3D IC中的天线效应考虑对于采用复杂封装如2.5D/3D IC硅中介层的芯片天线效应可能出现在封装基板Substrate的再分布层RDL或硅通孔TSV上。RDL走线封装层面的金属走线可能很长且其制造工艺如电镀也可能涉及等离子体过程。需要与封装厂确认其设计规则是否包含天线效应检查。TSVTSV本身是一个深宽比很大的导体结构侧壁面积巨大是潜在的天线。通常TSV制造工艺会包含特定的电荷泄放设计但芯片-封装协同设计Co-Design时仍需将其纳入考量。6. 调试实录常见问题与排查技巧在实际项目中天线问题的排查往往需要结合多种工具和工程师的经验。问题1工具报告了大量违例但很多看起来是伪违例如何快速筛选排查思路检查泄放路径首先聚焦于gate_antenna违例。用版图查看工具如Virtuoso, ICV高亮违例网络仔细检查该网络是否真的只连接到栅极。很多时候它可能通过一个不起眼的接触孔连接到了扩散区有源区但工具提取网表时可能因为层标识问题漏掉了。手动检查或修正LVS识别层。检查单元模型确认标准单元库的LEF/抽象视图Abstract View是否正确标注了单元的引脚类型是PIN还是OBS。有些单元的衬底连接可能被错误定义导致工具认为栅极是孤立的。分层检查如果设计是层次化的尝试在顶层Top Level和模块层Block Level分别运行检查。有时顶层的互连线连接到模块的输入端口而该端口在模块内部是连接到扩散区的这种跨层次的天线路径需要工具支持层次化分析才能正确判断。问题2自动插入跳线后时序出现了严重违例Setup/Hold Time Violation。排查与解决定位关键路径使用时序分析工具如PrimeTime找出因跳线引入额外延迟而导致违例的路径。分析跳线位置查看跳线是否插在了时序路径的敏感位置如高扇出网络、时钟路径上。自动工具可能只考虑AR值未充分考虑时序。手动优化调整跳线位置将跳线从关键路径的中间段移动到靠近驱动端或负载端。驱动端通常对额外电阻不敏感负载端则可能已接近时序终点影响可控。更换跳线层尝试使用更高层的金属如Mx1代替Mx进行跳线因为高层金属通常单位长度电阻更小。结合缓冲器插入如果跳线不可避免且延迟影响大可以考虑在跳线点附近插入一个小的缓冲器Buffer。这虽然增加了面积和功耗但能恢复驱动能力改善时序。这需要权衡。约束引导修复在运行天线修复工具时提供时序约束文件SDC并启用时序驱动Timing-Driven的修复模式。工具会尝试在修复天线违例的同时尽量减少对时序的影响。问题3在芯片测试Test或老化Burn-in阶段发现了与天线效应相关的早期失效。事后分析与预防失效分析FA通过聚焦离子束FIB、透射电子显微镜TEM等手段定位到失效的晶体管确认栅氧是否有击穿点。回溯设计根据失效位置找到对应的版图和天线检查报告。检查流片前的最终版图是否真的清除了该区域的天线违例有时在最后时刻的工程变更命令ECO可能引入了新的走线但未重新运行完整的天线检查。规则复审与工艺厂讨论是否给定的天线规则在极端工艺角Corner下不够保守特别是在高压、高温的测试条件下栅氧更脆弱。未来项目可能需要采用更严格的、基于芯片可靠性目标如FIT率反推得出的设计规则。加强签核在未来的项目中除了标准的室温、典型工艺角检查考虑在高温、高压等恶劣工艺角下也进行天线检查的仿真或评估。虽然工具可能不支持直接仿真但可以通过调整规则的安全系数来模拟。天线效应是连接芯片设计与制造的一座关键桥梁上的一个暗礁。忽视它再精妙的设计也可能在量产中触礁沉没。作为设计者我们需要从恐惧它、被动修复它转变为理解它、主动管理它。将天线检查融入标准设计流程像对待时序和功耗一样去对待它才能确保我们的芯片设计不仅在纸面上完美更能在硅晶圆上稳健地运行。这个过程没有太多炫技的空间更多的是对细节的执着和对规则的敬畏而这正是可靠性设计的精髓所在。
返回列表