---
# System prepended metadata

title: 基于 DRC 的良率预测

---

# 基于 DRC 的良率预测

## 1. 背景介绍
该项目旨在通过对于设计中的设计规则及相关可制造性特征的提取，利用机器学习（如：深度卷积神经网络）对产品的良率进行预测。从而使得 DFM 工程师提早定位良率问题，缩短芯片制造的周期。

## 2. 模型介绍

**基于DRC的良率预测模型**：
- 输入：基于 Calibre 导出晶圆的 design rule violation 统计信息，使用 read\_csv.py 导出产品的特征张量 DESIGN\_NAME.npy。我们选取不同的design rule类别进行提取并映射到对应的张量通道上。

- 模型架构：VGG 卷积神经网络，该网络由多层卷积层，池化层及全连接层组成。train.py 为模型的训练部分。下图为模型结构，conv代表卷积层，pool代表池化层以及fc代表线性层。

![](https://i.imgur.com/YNJosEw.png)

- 优化目标及输出：产品在某一时间段的良率值为优化目标，使用均方误差损失函数及 SGD 优化器通过梯度下降的方式训练模型。在推理阶段，执行 run.py 文件进行模型推理。

**基于历史良率特征的良率预测模型**：
- 模型架构：train\_rnn.py \ train_rnn_txt.py 现阶段采用linear regression作为良率预测的训练与推理模型。

- 算法介绍：linear regression, 利用线性回归方程的最小二乘函数对一个或多个自变量和因变量之间关系进行建模的一种回归分析。在该模型中，我们采用时间序列<T, Yields>作为输入,其中T代表一段时间， Yields代表对应时间的良率。

- 输入参数：yields:过往时间段的良率数据，forecast_num:预测未来时间段良率的数量。

- 输出：未来一段时间的良率数据。特别的，该模型支持非连续的序列输入以满足现实场景。

**模型预留参数代码路径及变量使用说明**：
- 模型预留参数代码路径：/tmpdata/HIS_CUHK_JML/DFM_Yield/code

- 参数及使用说明详见根目录：README.md文件

## 3. 实验结果
- 我们使用了两个真实数据：N7\_SD5807 和 N7\_SD6222。下表列出了真实的良率和我们的良率预测模型的结果。我们的预测模型可以达到7.5%的平均绝对百分比误差。

|  bench | 真实良率  | 预测量率   | 
|---|---|---|
|  N7\_SD5807  | 0.558  |  0.515  |
|  N7\_SD6222  | 0.466  |  0.500  | 
| 平均绝对百分比误差 (MAPE) | -- | 7.5%  |

- 基于良率时序预测下一阶段时序良率的结果（最新一个时间节点的良率）

|  bench | 真实良率  | 预测量率   | 
|---|---|---|
|  SD6186  | 0.482  |  0.487  |
|  SD6186L | 0.484  |  0.532  |
|  SD6221  | 0.616  |  0.630  |
|  Hi1620  | 0.697  |  0.666  |
|  Hi1383  | 0.621  |  0.635  |
|  SD5895  | 0.434  |  0.452  |
|  SD8061  | 0.714  |  0.709  |
|  SD5991  | 0.108  |  0.167  |
|  SD5807  | 0.512  |  0.527  |
|  SD5887  | 0.191  |  0.167  |
|  SD5901  | 0.848  |  0.829  |
| 平均绝对百分比误差 (MAPE) | -- | 2.3% |



## 4. 结论和目前存在的风险

- 我们在现有的数据上验证了模型的有效性并完成了对应需求。

- 模型结果依赖统计数据，数据样本较少，缺少业务端验证及数据支撑。

- 可能在之后的阶段需要 GPU 计算资源。

## 5. 解决方案

- 增加产品良率数据，多轮迭代提高模型的准确度。关键词：迁移学习

- 算法端: 采用集成学习 (ensemble learning) 修正模型误差（工艺变化，drc 差异等等）。关键词：集成学习，贝叶斯

