前言
Monte Carlo (蒙特卡洛)分析是一种器件参数变化分析,使用随机抽样统计来估算数学函数的计算方法。
Monte Carlo 分析需要一个良好的随机数源。这种方法往往包含一些误差,但是随着随机抽取样本数量的增加,结果也会越来越精确。
Monte Carlo 的意义
问题: 已经跑了 TT\FF\SS\FS\SF 完整工艺角,为啥还需要跑 Monte Carlo ?
以下图为例说明:
TT\FF\SS\FS\SF 完整工艺角分别占据五个端角对应的位置,但并不是完备的全覆盖实际的工艺变化范围。
灰色的覆盖位置是 Monte Carlo 分析覆盖的工艺角范围,可完备分析到所有的工艺偏差,因此可得到电路的良率。
Monte Carlo 分析前准备
工艺库
Monte Carlo 分析是基于统计分析,需要 Foundry 提供关于工艺变化分布概率,因此首先需要检查工艺文件是否支持Monte Carlo分析。
仿真前,更改对应的器件模型section:
SMIC 工艺的 MOS 管的 section 为 mos_mc。
GF 工艺的 MOS 管的 section 为 fet_statistical。
……
Monte Carlo 仿真流程
仿真环境设置
step1:
Launch ADE XL
Click to add test 中添加一个仿真环境 ADE L 并设置好基本的 Model file 和 section, 如图中所示
step2:
在 adexl 环境中设置:
1 | 设置为 No Parasitics/LDE |
step3:
在 adexl 环境中设置 Monte Carlo Sampling
1 | Statistical Variation 选择 ALL, 就是两种偏差同时考虑 |
结果分析
1 | 打开 adexl 的 Results 一栏 |
以上,就是 Monte-Carlo 的关键仿真步骤,有些及其基础的操作没放图~
如有疑问,可留言交流~