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

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)。

时间: 2024-10-10 04:57:39

[转]使用Cadence ADE + Spectre做Montel Carlo仿真的相关文章

手把手教你用C#做疫情传播仿真

原文:手把手教你用C#做疫情传播仿真 手把手教你用C#做疫情传播仿真 姐妹篇:手把手教你用C#做疫情传播仿真 产品经理版 在上篇文章中,我介绍了用C#做的疫情传播仿真程序的使用和配置,演示了其运行效果,但没有着重讲其中的代码. 今天我将抽丝剥茧,手把手分析程序的架构,以及妙趣横生的细节. 首先来回顾一下运行效果: 注意看,程序中的信息,包含信息统计.城市居民展示和医院展示三个部分,其中居民按状态的不同,显示为不同的颜色. 本文将先从程序员的角度,说说程序中的实现细节,细节中会聊一聊与与Java版

SOCV / POCV 模型

STA无疑是数字集成电路设计实现方法学中最『漂亮』的模型之一,但是随意着工艺进步,local varition 的随机性及重要性增加,传统STA 的局限性日渐突出.大概在十五年前,SSTA成了一个研究热点,相较于传统的STA,SSTA 不再是针对单一的timing 进行分析,它的分析结果是一个统计分布,通过这个统计分布结果,可得到电路处在某个timing 点的概率. "Statistical timing is a great approach," Keller said. "

cadence pcb 设计学习记录提纲

Cadence软件是一款"一站式"的电气EDA软件系统.因能力所限,此处仅涉及使用cadence软件绘制PCB.日后随着对软件使用程度的加深,自己打算学习使用cadence软件的原理图和PCB仿真相关内容. 总体上,cadence软件绘制PCB的工作主要包括两个大块的内容:原理图设计和PCB板绘制,本记录将上述两部分内容作为主体进行记录. 原理图的设计工作包含有:软件的基本配置.原理图所引用的元件符号设计.原理图的配置和默认库的引用.原理图DRC检查.原理图设计中的小技巧.上述这些知识

「雕爷学编程」Arduino动手做(13)——触摸开关模块

37款传感器和模块的提法,在网络上广泛流传,其实Arduino能够兼容的传感器模块肯定是不止37种的.鉴于本人手头积累了一些传感器与模块,依照实践出真知(动手试试)的理念,以学习和交流为目的,这里准备逐一做做实验,不管能否成功,都会记录下来---小小的进步或是搞不定的问题,希望能够抛砖引玉. [Arduino]66种传感器模块系列(专业资料+实验代码+图形仿真) 实验之十三:数字触摸开关传感器模块 触摸模块 1.工作电压:DC 3-5V 2.主要器件:运放,三极管 3.尺寸:长45mmX宽18m

Matlab心得及学习方法(不断更新)

Matlab心得及学习方法(不断更新) Matlab心得及学习方法(不断更新)P.S. 那些网上转载我的文章不写明出处的傻眼了吧?!老子更新了! 发现现在很多人(找工作的或者读博的)都想要学习或者正在学习Matlab,问我要怎么学习.其实我虽然写Matlab代码的经验还算丰富,但是还不能说是一个很好的Matlab编程人员,这里有一些心得,分享给大家希望对大家有所帮助.关于如何学习Matlab我的学习方法很简单:Matlab是练出来的,而不是看出来的.很多人问我有没有比较好的Matlab教材,我说

无关算法的动态规划

动态规划是一类算法,Leetcode上有39题挂上了DP的标签,还有很多也可以用DP求解:博客园有很多对动态规划的讲解,譬如五大常用算法之二:动态规划算法.不敢再写这个算法,随便写写我的2015总结. 研究生二年级,工科,做的多是数据链路层的处理,主要是信道纠错编码.刚刚连续看了两个退学的帖子,没有经历过也不好评价,但是大学四年真的能学到很多,一个词就是——心性. 这一年,我的研究生涯多是围绕项目展开的:研究生做项目,不同的人会有不同的体会吧.至于我,纠错编码这个东西,基本上所有通信系统都有涉及

《FPGA全程进阶---实战演练》第八章之程序架构格式说明

首先在书写程序时必须有的部分,就是模块module部分,整体的架构如图8.1所示. 图8.1 程序整体架构 首先要声明模块名,在module后面加上模块名,这里最好以所建立模块要实现的功能去命名此模块,因为这样在查阅时方便去寻找此模块的功能,一目了然.紧接着在方框内要列出所有的输入和输出信号,都要在方框中写出.作为一个整体的模块,凡事出现module的部分一定要加上endmodule才算完整,这是一个完整的模块. 在输入信号中,有两个信号是一定要加上去的,就是时钟信号和复位信号,要做到对整体设计

ab压力测试的用法

在阿帕奇服务器的套件中,有一个叫 做ab(ApacheBench)的工具.ApacheBench主要是用来测试阿帕奇服务器执行效率用的 ApacheBench 可以针对某个特定的 URL 仿真出连续的联机请求,同时还可以仿真出同时间点数个相同的联机请求,因此利用 ApacheBench 可帮助我们在网站开发期间仿真实际上线可能的情况,利用仿真出来的数据做为调整服务器设定或程序的依据. ApacheBench 的用法如下: Usage: /usr/local/apache/bin/ab [opti

基于加窗DFT的DSSS系统变换域窄带干扰抑制技术

转载 1.基于加窗DFT变换域处理算法 接收机接收到的信号由期望信号.信道噪声和窄带干扰信号3部分组成,可以写成数学表达式: r(t) = s(t) + g(t) + j(t)    (1) 其中,s(t)为数据序列经过伪随机码扩频之后,进行BPSK调制得到的发射信号,g(t)为零均值,双边功率谱密度为N0/2的加性高斯白噪声,j(t)为窄带干扰信号. 图1为基于加窗DFT窄带干扰抑制接收机原理图.首先对接收信号进行加窗,然后经过快速傅里叶变换,对变换后的谱线进行干扰检测,将存在干扰的谱线置零或