2. 填充单元类型:标准填充单元、去耦填充单元、阱连接填充单元、特殊功能填充单元

填充单元这玩意儿,说白了就是芯片里的「填空砖」。你想想看,标准单元库里的各种逻辑门,尺寸大小不一,摆在一起肯定会有缝隙。这些缝隙如果不填,DRC(设计规则检查)就会报错,制造时也会出问题。我刚开始做后端时,就吃过这个亏——有次流片回来,芯片功能全对,但良率上不去,查了半天,就是填充单元没放对地方。

不同类型的填充单元,干的活儿完全不一样。咱们一个一个说。

2.1 标准填充单元

这是最基础、最常用的填充单元。它的核心任务就一个:填满间隙,满足工艺规则。

具体来说,标准填充单元负责三件事:

  • 保持N阱连续性:避免阱区断裂导致的闩锁效应风险。
  • 满足最小密度要求:各层(尤其是扩散层和多晶硅层)的图形密度必须达标,否则CMP(化学机械抛光)会出问题。
  • 提供电源轨连接:确保VDD和VSS电源线在单元行内是连续的。

标准填充单元本身不包含任何有源逻辑,它就是个「空壳子」。但别小看它,选错尺寸或放错位置,照样会出问题。

我的习惯: 在项目早期,我会先确定标准填充单元的尺寸族。通常库会提供多种宽度(比如0.5μm、1.0μm、2.0μm等),我建议优先用最小宽度的,这样灵活性最大。实在填不满的缝隙,再用大尺寸的。

2.2 去耦填充单元

去耦填充单元,也叫DECAP单元。它比标准填充单元多了一个功能:提供片上去耦电容。

为什么要加电容?因为芯片在高速翻转时,瞬间电流很大,电源网络会产生压降(IR Drop)和噪声。去耦电容就像个小水库,能在电流需求尖峰时「放水」,在空闲时「蓄水」,从而稳定电源电压。

DECAP单元的结构,本质上是在VDD和VSS之间插了一个MOS电容。它的栅极接VDD,源漏接VSS,形成一个电容值较大的结构。

对比项 标准填充单元 去耦填充单元
主要功能 填缝隙、满足规则 填缝隙 + 提供去耦电容
电容值 几乎为零 较大(通常几fF到几十fF)
漏电流 极低 较高(栅漏电流)
面积开销 最小 比标准填充大
适用场景 所有需要填充的位置 高动态功耗区域、电源噪声敏感区域
我曾经踩过的坑: 有次为了追求极致的电源完整性,我在整个芯片里塞满了DECAP单元。结果呢?静态功耗飙升了15%,而且因为DECAP单元的漏电流太大,芯片在低功耗模式下根本关不掉。后来我学乖了——DECAP单元要「精准投放」,只在高频翻转区域和IR Drop严重的地方用。

2.3 阱连接填充单元

阱连接填充单元,也叫TAP单元或WELL TIE单元。它的作用是:为N阱和P衬底提供可靠的偏置连接。

你想想看,标准单元里的PMOS放在N阱里,NMOS放在P衬底上。如果阱或衬底的电位没接好,就会产生浮空效应,轻则电路性能变差,重则引发闩锁效应,直接把芯片烧掉。

阱连接填充单元内部,其实就是一组接触孔(Contact),把VDD接到N阱,VSS接到P衬底。它通常比标准填充单元大一些,因为需要留出空间放接触孔。

放置规则上,工艺厂一般会要求:每隔一定距离(比如20μm)必须放一个阱连接单元。这个距离叫「阱连接间距」,是硬性约束。

关键点: 阱连接填充单元不能省!我见过一个团队,为了省面积,把阱连接间距从20μm拉到了40μm。结果芯片在高温测试时,闩锁效应触发,电流直接飙到几安培,芯片瞬间报废。从那以后,我对这个规则再也不敢马虎。

2.4 特殊功能填充单元

除了上面三种,还有一些「特种兵」级别的填充单元。它们平时不显山露水,但在特定场景下必不可少。

  • 边界填充单元:放在芯片或宏模块的边界,用于隔离不同电压域或不同工艺角。比如,1.8V区域和3.3V区域之间,必须用边界填充单元做隔离,防止闩锁效应跨区域传播。
  • 天线效应填充单元:在长走线末端插入,用于释放等离子体刻蚀时积累的电荷,防止栅氧化层被击穿。我一般在顶层金属走线较长的地方,会主动加几个这种单元。
  • 温度传感器填充单元:集成温度检测电路,用于实时监控芯片温度。这种单元通常放在芯片热点区域附近,比如CPU核心或GPU旁边。
  • 测试填充单元:包含扫描链或边界扫描逻辑,用于芯片测试。它平时不工作,测试模式下才激活。

下面这张图,把四种填充单元的关系和适用场景梳理了一下:

填充单元类型与适用场景 填充单元 标准填充单元 去耦填充单元 阱连接填充单元 特殊功能填充单元 边界填充 天线效应填充 温度传感器填充 测试填充 说明:实际项目中,一个区域可能同时需要多种填充单元。 例如,高频模块内部既需要DECAP去耦,也需要阱连接防闩锁。

2.5 如何选择填充单元类型?

实际项目中,填充单元的选择不是拍脑袋决定的。我一般会按这个优先级来:

  1. 先满足工艺规则:阱连接间距、密度要求、边界隔离——这些是硬约束,不满足就流片不了。
  2. 再考虑电源完整性:在IR Drop严重或动态功耗高的区域,优先用DECAP单元。
  3. 最后优化面积和功耗:在非关键区域,尽量用标准填充单元,省面积、省漏电。
一个小技巧: 我习惯在floorplan阶段就规划好DECAP单元的「重灾区」。比如CPU核心、DDR接口、PLL周围——这些地方电流变化剧烈,提前多预留一些DECAP位置,后面就不用返工了。