
如果手头有一颗先进封装芯片你把外壳去掉、放在显微镜下看看到的根本不是一片平地而是一座立体的微缩城市底层是纵横交错的地铁隧道硅通孔 TSV中层是密密麻麻的“高架立交”重布线层上层则是毛细血管一样的微凸点矩阵。做半导体封装的人都知道2.5D/3D 封装最折磨人的地方就是所有关键结构都藏在毫米级的芯片内部开方案评审会的时候甲方看着 PPT 上的剖面示意图永远是似懂非懂。我做“用动画解码2.5D/3D半导体封装”这个项目目标就是给这座立体城市做一部能随手指点、逐层拆解的“全景演示”——把硅中介层、Chiplet、HBM 堆叠、TSV、微凸点这些概念从设计图纸到封装完成的每一步全部用三维动画和交互视图摊开讲清楚。这篇文章会把我从科普脚本拆分、Blender 建模、渲染输出到用 Web 端做交互全景展示的完整做法都整理出来适合半导体行业产品经理、封装工程师、科普作者以及所有想把“看不见的工艺”讲给外行人听的人。1. 项目定位与内容拆解先弄清楚动画到底要讲什么1.1 2.5D/3D 封装到底抽象在哪里开做之前我先花了整整三天去梳理“为什么大多数人看不懂封装”。这里面有个很现实的问题芯片内部的物理尺寸和人的直觉完全不在一个尺度。一颗普通逻辑芯片的面积动辄几百平方毫米但芯片里的晶体管、连线、微凸点全部是微米甚至纳米级。2.5D/3D 封装更是如此——硅中介层上动辄排列上千个 TSV直径只有几微米深度却有几十到上百微米这个“深宽比”非常反直觉。你画在 PPT 上的两根短线实际对应的是一根贯穿硅片的长隧道。用静态二维剖面图去表达看图的人很难建立“垂直互连”的空间感。另一个痛点在于封装流程本身是高度并行的。从晶圆制造结束到成品芯片中间要经历凸点制备、临时键合、减薄、TSV 刻蚀、电镀填充、倒装贴片、底部填充、塑封、植球、切割等十几道工序。对初学者来说这些工序不是一条清晰的流水线而是一堆互相关联又互相嵌套的环节。比如“先有芯片还是先有中介层”“TSV 是打在芯片里还是打在基板里”很多人听完一堆术语后依然是懵的。所以我给自己定下一个话术主心骨把封装体看成一座“多层立交桥”用城市交通的比喻覆盖所有抽象概念。2.5D 封装是“多条道路在同一个平面上规划好再用桥墩TSV把上下层连接起来”3D 封装则是“楼房一层一层往上盖每层的住户直接通过上下楼电梯沟通”。动画的任务不是炫技而是把这座桥和电梯的建造过程用拆解视图和装配视图两种方式完整演示出来。1.2 把工艺链条拆成一张“叙事地图”有了这个主心骨后我开始拆分故事线。单纯按照“工艺流程顺一遍”是不可行的观众会在第 3 个工序就流失。所以我把整个科普内容拆成了五个叙事节点每个节点控制在 20 到 40 秒的动画时长设计意图为什么需要 2.5D/3D 封装摩尔定律放缓、内存墙、异构集成这里只用一句话带过。中介层的制造硅转接板interposer从晶圆变成“可走线、可打洞”的基座这一步重点演示 TSV 的形成。芯片的互连结构逻辑芯片、HBM 存储芯片上的微凸点怎么长出来倒装键合时芯片是怎么“翻面”贴到中介层上的。整体装配中介层 多颗芯片 封装基板的逐层堆叠最终植球形成 BGA 焊球阵列。截面解剖用剖面切掉四分之一把整座“立交桥”的内部结构完整展示。我会把 HBM 单独拎出来讲 3D 堆叠。因为 HBM 是最典型的 3D 封装案例——多层 DRAM 垂直堆叠通过 TSV 穿透每一层晶圆再通过微凸点把层与层连接起来。它和 2.5D 的“平面展开”思路完全不同这种对比恰好是动画最适合表达的地方。分镜脚本写清楚之后我再去选择和打磨工具目标非常明确不要做一个“只能看不能动”的演示视频而是做成一个可以在浏览器里任意旋转、放大、点击高亮的互动全景视图。2. 工具链选型为什么我选了 Blender 建模 Three.js 做交互2.1 三维资产生产Blender 几何节点批量“种点”工欲善其事必先利其器。做半导体封装动画最大的技术难点不是渲染器不够强而是这类结构有极强的重复性——TSV 是重复阵列、微凸点是重复阵列、HBM 堆叠也是重复层。如果靠手动复制粘贴来建模十万个微凸点能让人干到怀疑人生。我最终选了 Blender因为它的几何节点Geometry Nodes和阵列修改器特别适合做这种“批量重复”的模型生产。GPU 渲染我用了 Blender 内置的 Eevee 引擎。理由很简单这个项目最终要在网页端做交互展示模型需要在浏览器里实时渲染而 Eevee 的材质体系和 glTF 导出规范天然兼容。如果一开始就用 Cycles 做照片级路径追踪后面转到 WebGL 时材质还得全部重建等于白忙。用 Eevee 加受控的屏幕空间反射和体积光足以表现芯片的光泽绝缘层、铜柱的金属质感和底部填充层的半透明效果帧率还稳定。微凸点的批量生成我是这么做的先在 Blender 里创建一个小球和一个圆柱铜柱凸点然后用几何节点在指定平面布局上做“点分布”。注意这里不能直接用点云做随机撒点因为芯片凸点阵列是严格的笛卡尔网格排布间距在不同工艺节点里是固定值。我会设定好间距参数用一个节点把网格的 XYZ 坐标输出来实例化小球这样改一个参数就能同步调整间距和数量。阵列修改器也一样TSV 的过孔阵列我用两个互相垂直的线性阵列修改器交叉复制最后用布尔修改器把孔洞“烧”进硅中介层的模型里。2.2 从模型到浏览器的最后一公里glTF 压缩与优化模型建到一半我就意识到一个硬问题Blender 文件里的“精美”模型直接拖进网页根本跑不动。所以从第二步开始我就强制自己按照 Web 端标准来生产资产。主文件统一用 .glb 格式输出材质只保留 PBR 的 baseColor、metallic、roughness、emissive 四个通道凡是需要透明效果的材质都单独分槽处理。模型面数控制上我给自己定了硬指标单个裸片模型控制在 5000 面以内中介层控制在 1 万面以内整个封装体在未拼装前不超过 3 万面。微凸点这类超重复结构前端用 InstancedMesh 实例化渲染一个 draw call 搞定几千个凸点而不是真的在场景里放几千个独立 Mesh。导出时再用 gltf-transform 跑一遍网格压缩和 draco 压缩文件体积能压掉一半以上。如果你完全没接触过这套流程我可以直接告诉你结论Blender 建模阶段就把优化刻在脑子里否则后面网页端调试会花掉你两倍的时间。3. 核心工艺的动画化表达从设计到封装的每个关键镜头3.1 先做“拆解镜头”把 2.5D 中介层讲明白讲解 2.5D 封装动画价值最大的地方就是硅中介层的拆解结构。传统示意图上interposer 通常被画成一个简单的白方块观众根本看不出它和普通基板有什么区别。我在动画里做了三层拆解第一层是完整中介层表面干净得像一面镜子第二层是半透明模式让观众透过去看到内部横竖行走的铜连线第三层是剖面动画沿着中线切掉一半露出从顶面贯通到底面的 TSV 圆柱。这种拆解用来解释“中介层和 PCB 基板到底有什么不同”非常有效。动画里可以直观看到PCB 基板里的走线水平分布在多层板上层与层之间靠过孔连接而 2.5D 中介层则是在一块厚度极小的高密度硅片上直接刻出微米级线宽再通过 TSV 从顶面穿透到底面。为了让观众记住这个差异我把 PCB 基板的过孔尺寸画成“粗水管”把 TSV 画成“头发丝”并把中介层单独放大三倍后再做对比。整个过程不需要一句讲解词所有人看到那个尺度对比就明白了。制作上还有一个细节透明材质在 Eevee 里默认按物体中心排序会出现透明穿帮。我的解决办法是把中介层拆成几个独立的材质槽并用 Blender 的材质节点给需要半透明的部分单独设置“深度写入”属性。网上的教程里普遍只说“打开材质属性里的 Blending Mode”但实际项目中你必须为每个透明体设置合理的排序偏移否则剖切动画一旋转就穿帮。3.2 TSV、微凸点、混合键合别用“线框”糊弄人TSV 是这个项目里最需要较真的结构。我会在模型里严格区分两种 TSV一种是“无源 TSV”只用来导电贯穿整个硅中介层两端连接上下表面金属层另一种是“有源 TSV”在 3D 堆叠里直接穿透器件层用于芯片到芯片的垂直互连。动画里我用两种颜色区分——无源 TSV 用铜色金属材质有源 TSV 用蓝色半透明材质包一层绝缘层让观众明显看出电流流向的路径差异。微凸点microbump则做了三种典型结构传统焊料微凸点、铜柱微凸点copper pillar bump、以及当前最热门的混合键合hybrid bonding。铜柱微凸点的动画表现很简单在裸片表面的电极位置“长出”一根极短的铜柱顶上刷一层焊料然后两片芯片面对面贴合焊料受热熔化后把两个铜柱融合在一起。这个过程我配合了一个渐变颜色变化温度高的区域微微泛红冷却后恢复金属色观众再看不懂真的说不过去。混合键合则更微妙它不需要焊料纯粹依靠铜对铜的热压扩散连接。为了让动画准确传达我设计了一个微观放大镜头环境温度升高铜表面原子开始互扩散原本清晰的两层金属界面逐渐模糊成一体最后完全消失。这个动画做起来比较耗时但它带来的理解效果远超静态图片。做这组镜头时我的经验是不要直接放一个整体芯片模型然后靠缩放敷衍一定要单独做一个“等比放大的局部截面”分镜观众才会真正看清结构。3.3 3D 堆叠让芯片一层一层“长”起来3D 封装要解释的核心概念是“垂直复用”。我以 HBM 为案例设计了一个生长动画开始时只有最底部的逻辑控制逻辑层base die然后一层 DRAM 晶圆从上方落下通过微凸点和对准标记精确落在前一层上接着第二层、第三层以此类推每落一层动画就做一次横切面放大显示垂直贯通的 TSV 如何把每一层的 IO 引到最下方再通过硅中介层统一扇出到控制器。为了实现这种“一层一层长出来”的效果我在 Blender 里给了每一层独立的空物体Empty作为动画父级用关键帧控制每一层从初始的“悬空状态”逐步移动到“贴合状态”。关键技巧是让每一层在接触时有一个轻微的回弹虽然现实中热压键合几乎是刚性的但这里加一点软性逐帧运动反而能让观众意识到“键合”是一个瞬时事件而不是静态摆放。这个原理和视频剪辑里的“缓动曲线”一样技术仿真可以严谨但说明性动画需要一点艺术化加工来引导注意力。这个场景做完之后我又把视点拉远将 HBM 堆叠体和旁边的裸片并排放置在同一块中介层上镜头围绕封装体旋转一圈。此时观众看到的就是一个完整的 2.5D 封装的“全家福”一颗逻辑芯片和数颗 HBM 堆叠体全部站在同一个硅中介层上再通过中介层底部的 C4 凸点连接到封装基板。这一段落其实是在帮观众建立“层次感”裸片→微凸点→中介层→C4 凸点→封装基板→BGA 焊球。这个层次模型是整个科普动画的“脊柱”。4. 全景展示的交互层从“看完就忘”到“点哪讲哪”4.1 交互导航与分段播控做“全景展示”不只是做一条视频而是让人能动手探索。我在 Three.js 场景里把所有模型按“封装层级”分组裸片、interposer、基板、BGA 群、散热盖每个组都设置了一层透明的 Mesh 作为点击热区。鼠标点击时用 Raycaster 检测命中的区域命中的组件会发出一条短暂的高亮光效同时弹出文字标签和一段带语音旁白的说明。分段播控我也做了特殊设计。很多网页 3D 展示要么只能手动旋转要么一播到底用户很难把注意力留在某个特定工艺节点上。我加了一个可拖拽的进度条把整个动画拆成了六个工艺步骤贴装裸片、回流焊料、底部填充、塑封、植球、翻转检查。用户拖到什么位置动画时间轴就停在哪旁边的说明卡片会跟着当前过程切换。实际测试下来观众停留时长普遍比看普通视频长一倍因为不用跟着视频节奏走想看哪里点哪里就行。交互层最花心思的其实是相机控制。我预设了四个机位全局俯视图、中介层剖面图、裸片局部放大图、BGA 底部仰视图。用户按数字键 1-4 可以在四个机位间快捷切换同时保留轨道控制器的自由旋转能力。这个看似简单的功能在代码层面需要处理相机夹取clamp和缩放灵敏度的问题否则用户很容易钻到模型内部或者一下拉出天际线。做交互展示时我的原则是“先锁定视角范围再开放自由探索”既避免初级用户迷路又给高级用户留有操作空间。4.2 性能开销与移动端适配我在这项目里吃了不少性能的亏最痛的一次是在手机上展示时掉到了 15 帧。问题出在两处一是场景里每个微凸点都用了独立材质导致绘制调用数量爆炸二是超大纹理把 GPU 显存吃满了。优化方案是合并材质把相同属性的金属材质合成一个材质实例再用顶点色或第二套 UV 做颜色区分把每帧渲染所需的材质状态切换压到最小。移动端还做了动态像素比限制超过 2 倍 DPR 的设备刻意降采样因为肉眼在手机上看不出 2 倍以上 DPR 的区别。阴影和抗锯齿全部换到低开销挡位TSV 剖面场景用“平面阴影 屏幕空间环境光遮蔽”来模拟体积感效果接近实时全局光照但帧率能稳定在 60 帧。老实说半导体封装的科普展示不需要像游戏大作那样全开特效干净、流畅、指哪打哪才是第一优先级。5. 实操记录与避坑清单5.1 我在项目里踩过的几个坑这个项目做完我整理了几个特别值得说的坑。法线翻转问题。用布尔修改器把 TSV 孔洞“烧”进中介层后模型内部表面经常出现黑色块原因是有几个孔的面向内翻转了。排查时我直接在 Blender 里开启“面朝向”可视化把红紫色的反转面全部反转回来。凡是做过硬表面建模的人都懂这个检查动作不能等到渲染后才发现否则返工成本极高。透明排序穿帮。在中介层的半透明模式里我曾看到 TSV 铜柱在旋转时忽隐忽现决定修改 Blender 的透明物体排序方式以及 Three.js 里把透明材质设置 depthWrite: false并根据相机距离对透明对象做 renderOrder 排序。这个问题的本质是“透明体要从远到近逐个绘制”日志调参很难靠肉眼一眼定位建议直接先隔离单个物体逐项检查。动画导出曲线抖动。Blender 里用关键帧做了 HBM 逐层落下后导出到 glTF 在浏览器里播放时发现中间几层芯片的位置出现轻微往复抖动。原因是 Blender 的 Bézier 插值曲线在导出后转换为线性采样控制点被强行拉直导致过冲。解决方法是把关键帧的插值方式改成“线性”并给每一层单独烘焙一段高精度的采样曲线确保导出后的动画数据是逐帧均匀步进的。5.2 工艺准确性怎么较真做科普内容最怕“讲得头头是道实际精细处全错”。我在技术上能搞定动画但工艺细节必须向数据和文献低头。比如 TSV 直径在典型 2.5D 中介层工艺里大概是 5-10μm深度 50-150μm电镀填充材料是铜扩散阻挡层是钽和氮化钽。动画里为了视觉效果会把这些尺寸放大几千倍但比例关系绝不能随意拉大——我会把关键尺寸的示意比例固定成一个“模型内尺度”并在 UI 角标上注明“本图为示意比例实际尺寸请参考工艺节点”。微凸点的间距也很有讲究常见的硅中介层微凸点间距从 40μm 到 10μm 不等而混合键合可以进一步做到 10μm 以下。我让设计师按“前道工艺尺度要小、后道封装尺度逐渐变大”的原则建模避免把凸点做成大小一致的“豆豆”。如果你也想做封装科普动画我建议先去读几篇公开技术论文和封装厂商的白皮书核对“TSV 刻蚀电镀”“铜柱凸点”“混合键合”三处的典型参数再把数据写进分镜脚本。宁可放弃一个炫酷镜头也不能因为好看而把工艺结构画错。5.3 常见问题速查表问题现象可能原因我的处理办法网页端模型加载后闪黑法线翻转或材质未指定Blender 开启面朝向检查统一反转法线透明材质出现遮挡错误Eevee/WebGL 透明排序问题单独材质槽renderOrder 排序depthWrite 关闭处理微凸点一多就卡顿重复对象未实例化用 InstancedMesh / 几何节点实例化合并材质动画在浏览器里抖动曲线插值问题关键帧改为线性烘焙逐帧采样动画双击缩放时视角乱飞相机控制器没有限制设置最小/最大距离、限制 polar angle 范围导出后表面粗糙度不对PBR 材质通道丢失完整导出 roughness/metallic不要使用程序化纹理展开结尾最后说一点个人的真实体会。做这个项目的过程中我最深的感受是技术科普动画的价值不是“把简单的东西变复杂”而是把复杂的东西变容易接近。两年前我向客户解释什么是“硅通孔”的时候只能画一张侧面示意图手指在纸面上反复画圈对方还是半信半疑。现在我用动画把 TSV 从孔洞里拉出来再让铜填充进去所有人都能一眼看出“电流是从芯片背面穿到正面的”。后续我还打算把模型库进一步扩展加入扇出型封装Fan-out和玻璃基板两个新场景每个场景复用同一套交互框架和拆解模式。对我来说最难的不是软件技术而是怎样持续把“工艺逻辑”转译成“视觉逻辑”。如果你也在做类似的可视化项目建议先花一半时间定好科普叙事线再动手建模型——比例、流程、演示级别这三件事想清楚了剩下的只是时间问题。