global variation,local variation,mc(monte carlo),dcmatch,mismatch,corner的理解
最近对global variation,local variation,mc(monte carlo),mismatch,corner有一些新的理解,从业模拟IC数年,之前的理解一知半解。
看到论坛中对这些概念都是零零散散,并没有人对这些做总结,故总结如下:
1、montecarlo,dcmatch,acmatch是几种仿真变异的方法。这几种方法都能仿真global variation和local variation。
2、global variation是全局变异,corner中的ff,ss,fs,sf都属于global variation;
3、local variation是局部变异,mismatch属于global variation;analysis variation选项的process only,是属于global variation;mismatch only属于local variation;process and mismatch选项是在global variation的基础上叠加local variation,这样的仿真最接近实际量产结果。
4、analysisvariation选项的process only不同于corner的地方在于:process only变异是高斯分布,而corner是固定分布,例如RC变异:
ff - (-20%)C(-20%), fs - R(-20%)C(+20%)...而process only的mc仿真,R,C的值都是按正态分布来的,可能出现R(+11.2%)C(-12.1%)这样的组合。process only的mc仿真范围比corner仿真范围更大,但是更集中在tt附近。而process and mismatch,通常看到的mc_lib是在tt的基础上添加一个高斯分布的变异。
5、processonly(global variation)指的是不同die上的偏差,mismatch only(local variation)指的是同一个die上的器件失配。所以某些仿真不单是仿真了corner(global variation)或者mc(process only)就够了,有时需要仿真mc(process and mismatch)。
6、有些电路仿真速度很慢,而又很关心mismatch,那么可以用dcmatch仿真,或者有把握可通过手算,而不用仿真。例如一个SAR ADC的INL和DNL,通常只能通过手算,如果仿真,那么耗费的时间是相当长。
7、hspice的dcmatch仿真可看到具体某一对器件引起的失配大小,而montecarlo仿真不能(可能可以,没有找到相关option,还请大侠指点),只能看到最后总的变异大小。
dcmatch仿真结果:
monte carlo仿真结果:
8、dcmatch,acmatch必须写variation block,具体怎么写请看手册。手算必须找到变量的变异大小,可从mismatch report或者model中找到。例如Avth等。
以上欢迎补充和指正。
看看先。
good! 请问spectre 有没有ac match 和dc match的功能?
有dcmatch,没有acmatch,具体可看manual
顶一个
spectre 有DCmatch 和AC match
这个主要是需要mmsim和ic版本支持才行
目前我用的,mmsim141,ic616可以有
应该是的,感谢补充
good learning !
global variation,local variation,mc(monte carlo),dcmatch,mismatch,corner的理解
谢谢分享
mark 总结的很好
之前用GF的工艺做MC也遇到同样的问题要思考 ,小编总结得很好
第三条 3、local variation是局部变异,mismatch属于global variation;
Mismatch属于local的variation吧
thanks 不错
顶一个 学习一下
请问一下dcmatch仿真用的model和montecarlo一样吗?也是mc_lib?
请问一下dcmatch仿真用的model和montecarlo一样吗?也是mc_lib?
nice!
感謝分享!
mark
感谢分享
非常好又簡單的總結
是的,笔误,多谢更正
是的
monte carlo