网站加了两个小工具:Die 排布和模块屏蔽良率
一个看看 Die 怎么排更合适,一个看看坏模块关掉以后能救回多少芯片。简单聊聊怎么用,以及背后怎么算。
最近给网站加了两个计算器,都是看芯片时经常会碰到的问题,干脆做成工具,方便自己用,也放出来给大家试试。
一个是 Die 排布优化(OWE / MFU),另一个是 模块屏蔽良率 Demo。后者还在测试,先只保留制造缺陷的屏蔽收益计算,PVT 和频率达标率暂时不算。
同样的面积,长宽换一下会怎样?
比如一颗 100 mm² 的 Die,做成 10 × 10 mm,还是换个长宽比例,在晶圆上的排布、曝光场里的阵列都可能不一样。
排布计算器默认从 100 mm² 开始。填好晶圆直径、边缘排除、划片道和最大曝光场尺寸,就可以搜索候选方案;已经知道长宽的,也可以直接用固定尺寸模式。结果能看晶圆图,还能导出 PNG 和 CSV。
几个指标的口径是这样的:
| 指标 | 怎么算 |
|---|---|
| DPW | 一片晶圆上能放下的完整 Die 数量 |
| OWE | DPW × 单颗 Die 面积 ÷ 整片晶圆面积 |
| MFU | 单个曝光场内的 Die 数量 × 单颗 Die 面积 ÷ 最大曝光场面积 |
| MOWE | OWE × MFU,用来做综合排序 |
这里的 MFU 分母是曝光场面积,不是整块掩模版玻璃的面积;MOWE 也不是良率或制造成本。
计算时,面积模式会按 0.01 mm 的长宽网格枚举,再试不同的排布偏移。只有四角都落在有效圆内、且避开 Notch 禁布边界的完整 Die 才计数。曝光阵列还要满足场尺寸限制,划片道也会占位置。
页面上的 Litho shots,是这套布局下,每片晶圆、单张 reticle、单个光刻层的曝光次数。程序在选定的 Die 网格上调整阵列分组,比较覆盖全部完整 Die 需要多少次曝光。
所以别只盯一个最高分:DPW 多、MFU 高和曝光次数少,不一定是同一个方案。搜索也有采样精度限制,给的是当前搜索范围内的候选结果,不保证连续空间里的绝对最优。若允许面积浮动,记得看实际面积,别把 Die 缩小带来的数量增加,全算成长宽优化的收益。
有几个模块坏了,能不能关掉继续用?
第二个工具想算的是这个问题:如果 CPU 或 GPU 允许关闭一部分模块,原本要报废的芯片,有多少能被救回来?
输入芯片总面积、缺陷密度 D₀,然后给每组模块填名称、数量、单个面积和最多屏蔽数量。CPU、GPU 可以分别设一组,其余面积自动作为必须正常的共享区域。
共享面积 = 芯片总面积 − 各组「数量 × 单个模块面积」之和
例如 100 mm² 的芯片里,有 8 个可屏蔽核心,每核 2 mm²,那么可屏蔽面积是 16 mm²,剩下 84 mm² 都必须正常。
计算的思路是:先求每个模块发生致命缺陷的概率,再统计坏模块数量有没有超过该组的屏蔽上限,最后要求所有组都过关、共享区域也完好。
以 Poisson 模型为例,D₀ 的单位是缺陷/cm²,面积先从 mm² 除以 100 转成 cm²:
单模块正常概率 p = exp(−D₀ × 单模块面积)
一组允许最多坏 m 个:将恰好坏 0、1、…、m 个的概率相加
整片通过概率 = 共享区域正常概率 × 各组通过概率的乘积
组内用二项分布计数。多个缺陷落在同一个模块里,只算一个坏模块;CPU 的屏蔽名额也不能拿去抵 GPU 的坏模块。
Murphy 模式则让整颗芯片共享一个随机缺陷密度:按每个密度先算各组共同通过的概率,再做加权平均,而不是把各组各自的 Murphy 良率直接相乘。当前密度取 D₀ 的 0–2 倍,倍率服从峰值在 1 的三角分布。不允许屏蔽时,会回到 [(1 − exp(−A × D₀)) / (A × D₀)]² 的基准公式,这里的 A 是芯片总面积,单位为 cm²;D₀ 为 0 时缺陷良率为 100%。
上面这个 8 核例子,在 D₀ = 1、Murphy 模型、最多屏蔽 1 核时,缺陷良率约从 39.96% 提高到 45.36%,增加约 5.40 个百分点。不是把一个核心面积直接扣掉重算,而是允许任意一个坏核心被关闭。
这个工具目前明确标了 Demo(测试中)。它假设同组模块等面积、可互换,而且坏模块能可靠隔离;物理面积暂时近似缺陷敏感面积。Murphy 的模块屏蔽扩展也是这里选用的联合模型假设,还没有经过实际芯片数据校准。
先拿它比较一下“多留一个屏蔽名额,有没有明显收益”就好。结果是制造缺陷模型下的估算,不是最终成品良率,更不能直接当成量产承诺。
两个工具都放在网站的「工艺计算器」里了。有兴趣可以拿自己的尺寸和模块配置试试,发现不合理的地方也欢迎反馈。