在线咨询
eetop公众号 创芯大讲堂 创芯人才网
切换到宽版

EETOP 创芯网论坛 (原名:电子顶级开发网)

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 25637|回复: 60

[转贴] 使用Cadence ADE + Spectre做Monte Carlo仿真

[复制链接]
发表于 2013-11-1 13:07:18 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

x
本帖最后由 math123 于 2013-11-1 13:14 编辑

转帖,原文地址如下:

http://blog.sina.com.cn/s/blog_7affefaf01011kyd.html


7affefafgbf801aaa0ed5&690.jpg


1. 工艺模型的选择。以TSMC 180nm工艺为例,1.8V

Normal devices 有TT,SS,FF,SF,FS共5种工艺Corner及Montel Carlo(MC)共6种可选用工艺角。在每种Corner中每种类型的管子又有两种类型,比如NMOS有nch和nch_mis两种,其中第nch是用MODEL定义的,而nch_mis是用SUBCKT定义的。做一般仿真(比如DC,AC,TRAN等)的时候,两个模型都可以使用。在做Montel Carlo仿真的时候如选用nch_mis器件,且corner选用TT,SS,FF,SF,FS,则只进行Devive-to-Device的mismatch分析,若corner选择MC,则可同时进行Die-to-Die和Devive-to-Device的分析)。在做Montel Carlo仿真的时候如选用nch、pch器件,且corner选用TT,SS,FF,SF,FS,实际上不能进行任何mismatch分析,因为此时器件的参数都不含分布函数,若corner选择MC,则可进行Die-to-Die的分析。具体进行什么分析,由下面一条中的设置决定。




2.

Process,Mismatch和Process&Mismatch。Process仿真时在Analog Statistical Analysis中Analysis Variation可以有以上三种选项。选Process则Monte Carlo中每RUN一次的时候,Die to Die的一些模型参数会重新随即选取,而Mismatch关联的一些参数保留相同,也就是说同一次RUN的电路中的相同类型的器件的所有参数将完全相同。反之,选Mismatch则每次RUN则只改变那些参数的值,而Die to Die相关的那些参数则完全相同。如果选择Process & Mismatch,则每次RUN的时候两种情况下的参数都重新取值。





3.在对DC仿真进行Montel

Carlo分析的时候会发现一些想要看的DC信息无法PLOT出来。比如在对放大器的失调电压进行仿真的时候需要用到上图所示Testbench,而在ADE中选择DC仿真,设置Save DC Operation Point而不做任何Sweep。一般在DC仿真时只要选择Vout就可将Vout信号Plot出来。但是如果接着进行Montel Carlo仿真会发现这样选择的信号(图1中/Vout)在Analog Statistical Analysis中Data Type显示为wave,无法Plot出来。这时候需要现在ADE中调用Calculator选择DC后选VDC(或Sweep_DC后选vs),再在Schematic中选中Vout信号,这样在Calculator中将是VDC("/VOUT") (或VS("/VOUT")),这样在之后进行Montel Carlo分析时,在Analog Statistical Analysis中Data Type显示为scalar,可以Plot出此信号的Histogram图出来。






4. Montel Carlo分析需要相应的带Montel Carlo参数的模型支持,如1所述。如果Analysis Variation选择了Process,而所用器件的模型中没有定义Die to Die的相关参数,则无法进行。另外不同EDA工具对高斯函数的格式定义有区别的。比如在Simetrix中就用GAUSS(tol)表示一个平均值(Mean)为1,标准偏差(Standard Deviation)为tol/3的高斯过程,也就是说公差(Tolerance)为tol的3 Sigma的高斯分布(3 Sigma Gaussian distribution)。而在Hspice中则有GAUSS(nominal_cal,rel_variation,num_sigma)AGAUSS(nominal_cal, abs_variation,num_sigma)两个函数可用。Simetrix中的GAUSS(tol)=Hspice中的GAUSS(1,1*tol,3)=Hspice中的AGAUSS(1,tol,3)。


7affefafg798ccf8a2d1d&690.jpg

发表于 2013-11-1 21:52:09 | 显示全部楼层
正在用cadence,先留个爪,后头好好看看。
发表于 2013-12-5 11:58:38 | 显示全部楼层
学习了
发表于 2013-12-11 19:34:32 | 显示全部楼层
楼主好人。。。
发表于 2014-4-3 15:29:48 | 显示全部楼层
mark,不错
发表于 2014-4-18 15:54:20 | 显示全部楼层
duoxiele
发表于 2014-5-1 12:28:35 | 显示全部楼层
多谢分享!!
发表于 2014-7-28 00:34:02 | 显示全部楼层
感謝樓主的分享..
发表于 2014-9-24 16:14:08 | 显示全部楼层
who know it ?
发表于 2014-10-16 14:43:21 | 显示全部楼层
很好,顶楼主,好人一生幸福
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐 上一条 /2 下一条

小黑屋| 手机版| 关于我们| 联系我们| 在线咨询| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2024-9-22 09:29 , Processed in 0.026723 second(s), 9 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表