第四章:材料本构模型——硅、铜、锡银焊料、Underfill
各位工程师,大家好。这一章我们聊聊材料本构模型。说实话,这是整个TCB仿真里最“磨人”的部分。为什么?因为材料参数设不对,后面所有结果都是错的。我在项目里吃过这个亏,所以今天把经验掰开揉碎了讲。
4.1 硅(Silicon)——各向异性弹性体
硅是衬底材料,也是芯片的主体。它很硬,但也很脆。我个人习惯把硅当作各向异性弹性体来处理。什么意思?就是它在不同方向上的弹性模量不一样。
关键参数(室温下):
- 弹性模量 E:130~170 GPa(取决于晶向,<100>方向约130 GPa,<110>方向约169 GPa)
- 泊松比 ν:0.28
- 密度 ρ:2330 kg/m³
- 热膨胀系数 CTE:2.6 ppm/℃
我记得有一次,一个同事把硅设成了各向同性,结果仿真出来的键合压力分布完全不对。后来一查,是忽略了晶向的影响。所以,如果你用的是单晶硅,务必查清楚晶向。
我的习惯:在Abaqus里用Engineering Constants定义正交各向异性。如果实在没有数据,用各向同性近似也行,但误差可能在5%~10%之间。
4.2 铜(Copper)——弹塑性+温度相关
铜是凸点(Bump)和重布线层(RDL)的主要材料。它不像硅那么“老实”,在高温下会软化,而且有塑性变形。
铜的本构模型,我建议用双线性弹塑性模型。说白了,就是弹性段+塑性段,中间一个屈服点。
铜的材料参数(室温):
| 参数 | 数值 |
|---|---|
| 弹性模量 E | 110 GPa |
| 泊松比 ν | 0.34 |
| 屈服强度 σ_y | 200~300 MPa(取决于退火状态) |
| 切线模量 E_t | 1~2 GPa |
| CTE | 17 ppm/℃ |
这里有个坑:铜的屈服强度对温度非常敏感。我曾经做过一组对比,200℃时屈服强度能降到室温的60%左右。所以,如果你做的是热压键合仿真,一定要把温度相关属性加上。
避坑指南:我曾经在仿真里用了室温下的铜参数去算250℃的键合过程,结果压力分布偏差了30%以上。后来老老实实加了温度场耦合,才把结果拉回来。
4.3 锡银焊料(SAC305)——粘塑性+蠕变
焊料是TCB键合的核心。它要熔化、凝固、再承受压力。所以,它的本构模型最复杂。
我个人推荐用Anand模型或者双线性粘塑性模型。为什么?因为焊料在高温下会蠕变,也就是在恒定应力下持续变形。你想想看,键合头压下来那几秒钟,焊料其实一直在“流动”。
SAC305焊料参数(参考值):
| 参数 | 数值 |
|---|---|
| 弹性模量 E(25℃) | 50 GPa |
| 弹性模量 E(200℃) | 5 GPa |
| 泊松比 ν | 0.36 |
| 屈服强度 σ_y(25℃) | 40 MPa |
| 屈服强度 σ_y(200℃) | 8 MPa |
| 蠕变指数 n | 5~7 |
嗯,这里要注意:焊料的弹性模量随温度变化非常大。从室温到200℃,能差一个数量级。所以,如果你只设了一个固定值,那仿真结果基本是废的。
我的做法:在Abaqus里用*Elastic, Dependence on Temperature定义温度相关的弹性模量。蠕变部分用*Creep, Law=Time Hardening。这样算出来的压力分布才靠谱。
4.4 Underfill——粘弹性材料
Underfill是填充在芯片和基板之间的环氧树脂。它的作用是分散应力、保护焊点。但它的力学行为很“诡异”——既像固体又像液体,也就是粘弹性。
对于Underfill,我建议用Prony级数来描述它的松弛行为。说白了,就是它受力后会慢慢“泄力”,而不是一直硬扛着。
Underfill典型参数:
- 弹性模量 E:5~10 GPa(室温)
- 泊松比 ν:0.35
- CTE:25~40 ppm/℃(低于Tg),80~120 ppm/℃(高于Tg)
- 玻璃化转变温度 Tg:120~160℃
- 松弛时间 τ:0.1~10 s(取决于配方)
我记得有一次,一个项目里Underfill的Tg设错了,结果仿真显示焊点应力很小,但实际测试时焊点全裂了。后来一查,是Tg设低了20℃,导致Underfill在键合温度下太软,没起到支撑作用。
避坑指南:Underfill的Tg一定要实测,不要用供应商给的典型值。因为不同批次的Tg可能差10~15℃。我曾经吃过这个亏,后来每次做仿真前都先做DSC测试。
4.5 弹塑性模型设置要点
好了,四种材料都讲完了。现在说说怎么在软件里设置弹塑性模型。
我个人习惯用Mises屈服准则,配合随动硬化或各向同性硬化。对于铜和焊料,我一般用各向同性硬化,因为它们在键合过程中经历的是单调加载,不是循环加载。
设置步骤(以Abaqus为例):
- 定义弹性属性:E, ν, CTE(温度相关)
- 定义塑性属性:屈服强度σ_y, 切线模量E_t(温度相关)
- 定义蠕变属性(焊料):C1, C2, C3(Anand模型参数)
- 定义粘弹性属性(Underfill):Prony级数参数
- 检查单位一致性:应力用MPa,长度用mm,时间用s
我的小技巧:在设置温度相关属性时,至少取3个温度点(室温、中间温度、最高温度)。如果只取两个点,线性插值可能不准。我一般取25℃、150℃、250℃三个点。
4.6 知识体系图
下面这张图总结了四种材料的本构模型选择逻辑。你可以把它当作一个快速参考。
这张图的核心逻辑是:硅用弹性,铜用弹塑性,焊料用粘塑性,Underfill用粘弹性。每个材料都要考虑温度影响,尤其是焊料和Underfill。
4.7 实战经验总结
最后,分享几个我在项目中踩过的坑,希望能帮你少走弯路:
- 参数来源要可靠:不要直接从文献里抄参数。不同工艺条件下,材料参数可能差很多。我一般会自己做拉伸测试或者DMA测试。
- 温度场要耦合:TCB键合是热-力耦合过程。如果你只做力学仿真,忽略了温度场,那结果基本是错的。
- 网格密度要合适:焊料区域网格要加密,因为应力集中在这里。我一般把焊料网格尺寸控制在5~10μm。
- 收敛性问题:粘塑性和粘弹性模型容易不收敛。我的经验是:先用弹性模型跑一遍,确认边界条件没问题,再换成弹塑性模型。
一句话总结:材料本构模型是TCB仿真的“地基”。地基没打好,上面盖的房子再漂亮也是危房。花时间把材料参数搞准,后面会省很多事。