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

本文详细介绍了CMOS工艺模型的选择方法,包括TSMC180nm工艺下不同Corner的选择及其对MontelCarlo分析的影响。探讨了如何在不同仿真条件下进行Die-to-Die和Device-to-Device的mismatch分析,并解决了DC仿真中信号无法正确Plot的问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

使用Cadence <wbr>ADE <wbr>+ <wbr>Spectre做Montel <wbr>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的时候两种情况下的参数都重新取值。使用Cadence <wbr>ADE <wbr>+ <wbr>Spectre做Montel <wbr>Carlo仿真

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

使用Cadence <wbr>ADE <wbr>+ <wbr>Spectre做Montel <wbr>Carlo仿真

 

(原文地址:http://blog.sina.com.cn/s/blog_7affefaf01011kyd.html)

### TSMC 18nm 工艺角仿真实例及教程 #### 使用TSMC 180nm PDK进行工艺角仿真设置 对于基于TSMC 180nm技术节点的电路设计,包含完整的PDK(Process Design Kit),这使得在各种极端条件下评估电路行为成为可能。当准备执行工艺角仿真时,应确保项目环境中已正确配置了所需的PDK文件[^1]。 #### 创建测试平台(Testbench) 利用提供的Testbench模板,可以根据具体需求调整输入信号和其他参数设定。此Testbench允许用户定义不同的操作场景并监控关键节点的行为变化。它还支持多种类型的波形查看和数据分析工具,有助于深入理解电路响应特性。 #### 配置环境变量与模型库 为了实现精确的过程角落分析,在启动任何仿真之前,需指定适当的标准单元库版本以及相应的corners文件。这些资源通常由代工厂提供,并且应当按照官方指导文档中的说明加载到仿真器中去。 #### 执行多物理场联合仿真案例研究 借助于像Hspice这样的高级仿真软件包,不仅可以单独考虑电气效应,还可以同步考察温度等因素的影响。例如,可以通过激活其内置的热建模选项来预测实际应用环境下可能出现的最大温升情况;同时结合电学指标一起考量,则能更全面地掌握整体表现趋势[^2]。 #### 存储器特性的自动化提取流程介绍 如果目标器件涉及到复杂的SRAM结构或其他形式的记忆体阵列部分的话,那么采用专门为此类组件定制的工作流将是十分必要的。OpenRAM所提供的解决方案正好满足这一要求——从自动生成用于驱动SPICE引擎工作的激励源直至最终产出可供后续综合使用的标准延迟格式(.lib)描述文件为止的一整套工序都被集成到了单一框架之下[^3]。 ```bash # 设置环境变量指向正确的PDK路径 export PDK_PATH=/path/to/tsmc180nm/pdk # 加载特定corner条件下的模型库 source $PDK_PATH/models/corner_conditions.tcl # 启动仿真前预处理命令 hspice -i input.sp -o output.log \ +define+CORNERS=SS,TT,FF \ +incdir+$PDK_PATH/libs/verilog \ -l transcript.txt ```
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值