[转]使用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)。
(原文地址:http://blog.sina.com.cn/s/blog_7affefaf01011kyd.html)
[转]使用Cadence ADE + Spectre做Montel Carlo仿真的更多相关文章
- 手把手教你用C#做疫情传播仿真
手把手教你用C#做疫情传播仿真 在上篇文章中,我介绍了用C#做的疫情传播仿真程序的使用和配置,演示了其运行效果,但没有着重讲其中的代码. 今天我将抽丝剥茧,手把手分析程序的架构,以及妙趣横生的细节. ...
- Cadence 信号完整性(一)-- 仿真步骤3
(2)单击“Identify DC Nets”,弹出“Identify DC Nets”窗口,如图2-6 所示: 图 2-6 Identify DC Nets 窗口 (3)在“Net”列表中选择网络如 ...
- SOCV / POCV 模型 (3)
STA无疑是数字集成电路设计实现方法学中最『漂亮』的模型之一,但是随意着工艺进步,local varition 的随机性及重要性增加,传统STA 的局限性日渐突出.大概在十五年前,SSTA成了一个研究 ...
- cadence pcb 设计学习记录提纲
Cadence软件是一款"一站式"的电气EDA软件系统.因能力所限,此处仅涉及使用cadence软件绘制PCB.日后随着对软件使用程度的加深,自己打算学习使用cadence软件的原 ...
- 【转载】Cadence验证仿真工具IUS和IES
本博客转自: cadence验证仿真工具IUS和IES | 骏的世界http://www.lujun.org.cn/?p=3714 cadence验证仿真工具IUS和IES cadence,有两大验证 ...
- RedHat 6.7 下安装 Cadence IC617
操作系统:RedHat 6.7 搭建一个RedHat的本地源[1]: # mount -o /dev/cdrom1 /mnt # mkdir -p /opt/redhat/6.7 # cp -rv / ...
- 「雕爷学编程」Arduino动手做(13)——触摸开关模块
37款传感器和模块的提法,在网络上广泛流传,其实Arduino能够兼容的传感器模块肯定是不止37种的.鉴于本人手头积累了一些传感器与模块,依照实践出真知(动手试试)的理念,以学习和交流为目的,这里准备 ...
- matlab初学之strcat、num2str
文章出处: http://blog.sina.com.cn/s/blog_6fb8aa0d01019id5.html http://wenda.so.com/q/1439143662729624 ht ...
- Gate level Simulation(门级仿真)
1 什么是后仿真? 后仿真也成为时序仿真,门级仿真,在芯片布局布线后将时序文件SDF反标到网标文件上,针对带有时序信息的网标仿真称为后仿真. 2 后仿真是用来干嘛的? 检查电路中的timing vio ...
随机推荐
- 对VM挂载新加入的磁盘
在虚拟机配置中增加磁盘后,启动Linux,使用root登录. 首先查看未分区的磁盘,使用下面命令: ## 查看未使用的磁盘 fdisk -l 磁盘/dev/sdb后面没有任何分区,是新挂载的磁盘 输入 ...
- 说不尽的MVVM(1) – Why MVVM
最近学的一篇课文<说不尽的狗>竟让我有了写<说不尽的MVVM>这一想法,事非亵渎,实出无奈.我在刚学WPF不久时听说有MVVM这种东西,做了下尝试,发现他能给程序的设计带来很大 ...
- Java经典类库-Guava中的函数式编程讲解
如果我要新建一个java的项目,那么有两个类库是必备的,一个是junit,另一个是Guava.选择junit,因为我喜欢TDD,喜欢自动化测试.而是用Guava,是因为我喜欢简洁的API.Guava提 ...
- SharePoint API如何处理时区问题
使用SharePoint API,我们经常会有时区转换的问题,SharePoint API 本身如何处理时区问题的呢? 本文主要以Modified字段为例测试相关API的行为. CSOM API测试: ...
- atitit.组件化事件化的编程模型--服务端控件(1)---------服务端控件与标签的关系
atitit.组件化事件化的编程模型--服务端控件(1)---------服务端控件与标签的关系 1. 服务器控件是可被服务器理解的标签.有三种类型的服务器控件: 1 1.1. HTML 服务器控件 ...
- Atitit.guice3 ioc 最佳实践 o9o
Atitit.guice3 ioc 最佳实践 o9o 1. Guice的优点and跟个spring的比较 1 2. 两个部分:::绑定and注入@Inject 1 3. 绑定所有的方法总结 2 3. ...
- paip.uapi 获取网络url内容html 的方法java php ahk c++ python总结.
paip.uapi 获取网络url内容html 的方法java php ahk c++ python总结. 各种语言总结比较,脚本php.python果然是方便.简短,实用. uapi : get_w ...
- iOS开发——高级技术&GameCenter服务
GameCenter服务 Game Center是由苹果发布的在线多人游戏社交网络,通过它游戏玩家可以邀请好友进行多人游戏,它也会记录玩家的成绩并在排行榜中展示,同时玩家每经过一定 的阶段会获得不同的 ...
- Maven学习总结(五)——聚合与继承
一.聚合 如果我们想一次构建多个项目模块,那我们就需要对多个项目模块进行聚合 1.1.聚合配置代码 <modules> <module>模块一</module> & ...
- 了解 JavaScript (6)– 广告条(Banner)
在 Web 上冲浪时,常常会见到定期在图像之间切换的广告条.我们可以用 JavaScript 来实现,重复循环显示它们. 创建循环的广告条 RotatingBanner.html 页面中在循环的广告条 ...