微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 微波和射频技术 > RFIC设计学习交流 > smic工艺的蒙特卡罗分析

smic工艺的蒙特卡罗分析

时间:10-02 整理:3721RD 点击:
最近在学习monte carlo分析,碰见几个问题想问问大家
1.monte carlo分析中有mismatch和process两种选项,关于mismatch我的理解是由于器件的失配所引起的误差,但是关于process这项还是不太理解,这项指的是什么引起的误差?
2.smic所提供的MC文件中只有process选项的的参数,那我怎么做mismatch选项的monte carlo分析?

process 貌似是工艺角?就是MOS管的ss ff、电阻的fast slow之类的?
这么说来MC仿真的process和corner仿真是一样的东西么...

我看到一般管子失配的模型包括三项,一项是阈值电压失配,β的失配,还有管子间距离引起的失配。按我的理解工艺引起的偏差已经包括在阈值电压失配和β值的失配中了,所以就不是很明白mc分析中process选项的意义。
不知道我这样的理解对不对。

1.同问
2.没法做,除非你自己写个mismatch文件~

我看了下smic的lib文档
在section mc中是这样描述的(以n18为例):
section mc
parameters sigma = 0
statistics {
process {
vary sigma dist=gauss std=1/3
}
}
// *1.8V core NMOS
parameters dtox_n18 = 1.0e-10*sigma
parameters dxl_n18 = 1.0e-8*sigma
parameters dxw_n18 = -2.2e-8*sigma
parameters dvth_n18 = 0.045*sigma
parameters dcj_n18 = 4.84e-5*sigma
parameters dcjsw_n18 = 3.975e-12*sigma
parameters dcjswg_n18 = 2.09e-11*sigma
parameters dcgdo_n18 = -1.85e-11*sigma
parameters dcgso_n18 = -1.85e-11*sigma
parameters dpvth0_n18 = 3e-15*sigma
对于所给出的代码我的理解是每次仿真随机产生一个sigma,然后用随机产生的sigma来得到管子的一些参数进行计算。
但困惑我的地方在于:
1.对于process的误差如果这样计算的话,那就认为这些随机变量的相关系数为1,但这些参数里的一些参数我感觉因该是相互独立的随机过程(例如氧化层厚度和阈值电压),这样就不能使用同一个sigma值;
2.是否整个电路在做mc分析时所有的n18管子都使用同一个sigma呢,还是每个管子都各自产生相互独立的sigma;(我对于代码的理解倾向于前者)
另外我想问下,如果自己要加入mismatch的分析的话,是不是就应该根据smic所提供的mismatch文档里的参数来自己写模型呢?但是貌似根据mismatch文档只能得到管子直流电流的失配等关系,对于仿真完全没有用。个人感觉mismatch完全没办法做啊

sigma是满足高斯分布的。process我理解是指MOS管的各个参数吧。感觉应该差不多2者

你的理解是对的。实际上做mC真不能把所有的管子都变成随机变量仿真。但是要把关键的管子自己定义成随机变量。简单举例,差分对输入管子的model自己编写成随机变量形式。其他的不变。可以仿真输入对管产生的offset。以此类推,把关键期间的model自己编写一下就可以了。

恩 ,这个方法不错啊,但是失配的模型怎么加呢

关于process,我的理解是,比如说,正常情况下,tox为40nm,但是在某次流片中,tox偏移到了38nm,而在下一次流片的时候,可能就偏移到了42nm,而各个corner是工艺中可能出现的极限情况

"monte carlo分析中有mismatch和process两种选项"
process指的是global variation,类似于process corner;mismatch指的是local variation,是两个距离很近、但是图形相同且方向一致的器件的失配。
通常做运放等的offset分析只用到local variation,用monte carlo的方法。
global variation用于芯片成品率(yield)的分析,corner仿真是一个最坏情况分析,并不能得到成品率的概念。



那我可不可以这样理解:在做process的mc分析时,每次取一个sigma值时,用这个sigma得到参数的管子在平面上是分布在一起的;而在做corner时,同一个corner中的管子(例如n管和p管)不一定在平面上是分布在一起的。

对于SMIC给出的文件的用法,我不清楚怎么用。
你说的在平面上分布在一起是什么意思啊?

这只是我的一种猜测。
因为smiclib文件中在做process分析时,如果认为process中sigma的极限值就在3*sigma处,根据lib文件,当sigma取两个极限值时,所对应的正好是ff和ss两个corner。process是global variation引起的话,这样在process分析时,fs和sf两个corner是根本无法取到的,所以得到上面的猜测。

工艺的corner有取3*sigma的,也有取2.5*sigma的。
nmos和pmos分别取正负3*sigma,就组合出了ff,ss,fs,sf四种case,但这样的fs和sf其实是过于严苛的,好的model在fs和sf时会给出另外的参数,更符合实际一些。

为什么我的smic0.18的.lib文件里就没有section mc呢?

很棒的分析,受益良多,thank you very much!

学习了学习了

学习了

学习了

原来是这样,长姿势了~

process就是做一个整体的分析,mismath是做每个具体参数的适配性分析吧

那这个工艺对mismatch的分析是不是搞不了了,如果自己写文件的话怎么写?有没有哪位牛哥写好的,给我们学习一下噻

我用的工艺文件也没有mc的定义,要如何进行仿真呢?

谢谢小编了

果然知识都是讨论出来的,多谢各位。

mark一下

markmark

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top