Calibre后仿和DSPF后仿

一、两种后仿区别

(1)CALIBREVIEW(CALIBREVIEW +Net Geometry):提出为“schematic+寄生参数”合成的结果,进行后仿。
提取寄生参数时,outputs输出format设置为calibre

(2)DSPF:只是提出寄生参数,输出的为“netlist”。进行后仿真时,需要“前仿的schematic+后仿的netlist”即可。
提取寄生参数时,outputs输出format设置为DSPF,生成xxx.pex.netlist文件;
后仿时,在set up里的simulation files里勾选xxx.pex.netlist文件进行后仿;
在simulation log中出现:"Subckt xxx defined in the file netlist will be replaced with subckt xxx specified in the DSPF file",说明成功调用 netlist文件,仿真结果即为后仿结果。
注:

1)CALIBREVIEW(CALIBREVIEW +Net Geometry)和DSPF提取的寄生参数是一致的,提参进行后仿结果对比,只是小数点后几位不同;

2)对于相对较大的模块在进行PEX提参时,CALIBREVIEW(CALIBREVIEW +Net Geometry)在提r+c+cc时,即使是过滤很小的r和c情况下,也许会需要2-3天;而DSPF即使在不需要过滤r和c情况下,会很快提出r+c+cc。即DSPF对于快速验证是否出现问题提供方便。

3)对于文档“定位后仿问题的方法”中“使用改网表跑仿真的方法”,CALIBREVIEW(CALIBREVIEW +Net Geometry)是“schematic+寄生参数”合为一体,在删除网表中的信息时会注意是否删错,而DSPF只是“寄生参数”,即DSPF对于快速定位问题所在,提供方便。

4)CALIBREVIEW(CALIBREVIEW +Net Geometry)在后仿时会出现仿真不收敛情况,结合文档“cadence ADE不收敛解决方案”部分可以解决,但有些情况后仿添加初态不容易,需要修改版图引线等;但DSPF是在schematic情况下,可以直接参考“cadence ADE不收敛解决方案”解决,即某种程度上,DSPF在解决后仿不收敛情况下相对方便些。

小注:“cadence ADE不收敛解决方案”文档中所提到的tran仿真第一点所加Cmin,后仿一定不能加,否则后仿节点无数个,会造成RC延时,结果会出错。

二、 calibre后仿流程

1)Setup-Environment Options-Switch View List,把calibre添加到schematic之前

从schematic启动explorer,在Setup-Environment Options-Switch View List,把calibre添加到schematic之前
calibre两种后仿方法
note:两种方法Setup-Environment Options-Switch View List界面不一样

2)config后仿

建立config后,在config中调用calibre进行后仿,注意此时的explorer实在config下启动的;
note:
Q1:为什么config后仿结果和前方一样?
A1:说明后仿不成功,可能是因为explorer或者ADE L还是schematic后缀的,可以在choose design中将view name类型改为config,即为从config启动的仿真器,才可以有效调用calibre。可以从仿真器的右下角判断为schematic或者config启动的explorer
在这里插入图片描述

三、 DSPF 后仿流程

1)直接在set up里的simulation files里勾选xxx.pex.netlist文件进行后仿

需要在schematic下启动explorer,然后调用pex.netlist

2)config后仿

建立config后,在config中调用dspfview进行后仿,注意此时的explorer实在config下启动的;
调用dspfview后仿时,set up simulation files中不能勾选pex.netlist,否则会报重复的错误

3)用dspfview方法在同一窗口跑前后仿的方法

sweep config方法

4)sweep 方法note:

1.DSPFview建立在所提取模块的library中,和schematic,layout等放在一块
2.如果pex.netlist中文本过长,则不能直接复制文本,可以将pex.netlist文件复制到相应library的目录下,并将pex.netlist文件重命名为design.dspf
3.直接复制文本或者复制文件后,都需要点击 extract button,但是注意不能勾选regenerate symbol,否则会将原本的symbol中的pin打乱重排
4.新建config后,testbench的view found为schematic,里面模块的view found 为symbol
5.explorer中没有global variables,需要跳转到assembler中,设置sweep config,就可以同时调用不同的dspf文件,和calibre文件,前仿则调用schematic,可以同时对比前后仿的区别或者说不同后仿方法的区别。
6.如果报错,需检查setup里是否重复勾选pex文件;或者说assembler是否是在config下启动的,因为sweep config必须在config下进行。

五、 后仿真保存内部节点电流方法

1)calibre后仿
2)DSPF后仿

<think>好的,我现在需要回答用户的问题:“Virtuoso的反相器前仿仿真为什么完全一样”。用户之前问过关于HCELLXCELL文件的问题,现在转向前仿仿真的结果差异,特别是为什么反相器的前后仿真结果可能完全一致。 首先,我需要回忆前仿仿真的基本概念。前仿真(Pre-layout simulation)是在电路设计完成后,基于原理图进行的仿真,不考虑物理布局的寄生参数。后仿真(Post-layout simulation)则是在版图设计完成后,提取了寄生参数(如RC延迟、耦合电容等)后的仿真,更接近实际芯片行为。 用户的问题指出,反相器的前仿仿真结果完全一样,这可能意味着后仿真没有正确考虑寄生参数的影响,或者某些设置导致寄生参数未被提取或应用。结合用户之前的问题,可能与HCELL/XCELL文件的配置有关,或者流程中的其他步骤存在疏漏。 接下来,我需要分析可能的原因: 1. **寄生参数未被正确提取**:如果版图设计完成后,没有正确运行寄生参数提取工具(如Calibre xRC),或者提取时配置错误(如未包含必要的层或参数),导致生成的寄生网表(如SPEF或DSPF)没有实际寄生信息,后仿真其实还是在用理想模型。 2. **后仿真流程未正确加载寄生参数**:即使提取了寄生参数,可能在Virtuoso中设置后仿真时没有正确加载生成的寄生文件,导致仿真仍然使用前仿真的理想模型。 3. **设计规模过小(如单个反相器)**:如果用户只是仿真单个反相器,其版图可能非常小,寄生参数的影响微乎其微(比如RC延迟在ps级别),在仿真结果中肉眼难以察觉,导致波形看起来一样。但这种情况应该有时间上的微小差异,除非仿真精度设置不够。 4. **HCELL/XCELL文件配置错误**:如果用户之前没有正确配置HCELL文件,可能导致提取工具递归解析单元,但如果是单个反相器,可能HCELL的配置不影响,或者XCELL错误排除了某些部分,导致寄生参数未被加入。 5. **仿真设置问题**:例如,仿真时间、步长、输入信号变化速度不够,无法体现出寄生参数带来的延迟或波形变化。比如输入信号变化太慢,导致RC延迟对上升/下降时间的影响不明显。 6. **工艺节点特性**:在较老的工艺节点(如微米级),寄生参数的影响相对较小,可能反相器的延迟主要受晶体管本身特性影响,而布线电容电阻的影响较小,导致前后仿真差异不大。但现代工艺(如纳米级)这种情况可能性较低。 7. **版图与原理图一致性(LVS)问题**:如果版图设计有误,未通过LVS检查,导致提取的网表与原理图不一致,但用户可能忽略了LVS错误,导致后仿真实际并未反映真实版图情况。 现在需要将这些可能的原因组织成结构清晰的回答,帮助用户逐步排查问题。同时需要确保回答符合用户之前提到的HCELL/XCELL相关知识,并给出验证建议。 需要注意用户可能对流程不熟悉,所以需要解释每一步的可能性检查方法。例如,如何确认寄生参数是否被正确提取加载,如何检查仿真设置等。 最后,可能需要总结常见原因,并建议用户按照步骤排查,比如检查提取流程、确认网表包含寄生参数、仿真设置是否正确等。</think>在Virtuoso设计流程中,反相器的前仿真(Pre-layout)仿真(Post-layout)结果完全一致,通常表明**后仿真未正确引入版图寄生参数**。以下是可能原因及详细分析: --- ### **1. 寄生参数未成功提取或加载** - **寄生提取流程缺失** 若未运行寄生参数提取工具(如Calibre xRC、Quantus等),后仿真网表仍基于理想原理图,无实际RC延迟或耦合电容。 **验证方法**:检查是否生成寄生文件(如`.spef`、`.dspf`),并通过文本工具查看文件中是否包含`R`(电阻)`C`(电容)定义。 - **寄生文件未关联到仿真** 即使提取了寄生参数,需在Virtuoso ADE中显式加载寄生网表。 **操作步骤**: ```tcl # 在ADE L→Setup→Environment→Switch View List中添加"av_extracted"或"calibre" # 通过"Tools→Analog Environment→Setup→Stimuli"加载寄生网表 ``` --- ### **2. 设计规模过小,寄生效应可忽略** - **单个反相器的寄生影响微弱** 反相器版图面积小,金属连线短,其寄生电阻/电容(如`R=0.1Ω`, `C=0.01fF`)导致的延迟可能仅为皮秒级,在仿真波形中难以肉眼分辨。 **改进方法**: - 增大输入信号频率(例如10GHz)以凸显延迟差异 - 使用高精度仿真器(如Spectre APS/XPS)并减小时间步长(`tstep=1ps`) --- ### **3. 版图与原理图未正确关联** - **LVS验证未通过** 若版图与原理图不匹配(LVS错误),提取的寄生网表可能基于错误拓扑结构,导致仿真结果异常。 **检查步骤**: 1. 运行Calibre LVS确认版图与原理图一致性 2. 检查LVS报告中“NETLIST COMPARISON”部分是否通过 - **层级映射错误** 若未正确定义HCELL文件,寄生提取工具可能递归展开单元层级,导致寄生参数重复计算或丢失。 **示例配置**: ```tcl # HCELL文件内容(保留反相器层级) PRIMARY_CELL { my_lib inv schematic } ``` --- ### **4. 仿真设置问题** - **输入信号斜率不足** 若输入信号上升/下降时间过长(例如`tr=1ns`),寄生RC导致的延迟会被掩盖。 **建议**:使用陡峭边沿信号(如`tr=1ps`)并观察输出波形的时序偏移。 - **仿真精度不足** 低精度仿真器(如Spectre Classic)可能忽略微小延迟。 **调整方法**: ```tcl simulatorOptions→aps→tolerance=conservative # 提高精度 ``` --- ### **5. 工艺特性影响** - **成熟工艺节点的寄生参数占比低** 在微米级工艺中,晶体管本征延迟(如`τ=RC`)占主导,金属寄生影响较小。但在纳米级工艺(如28nm以下),互连线RC延迟可能超过门延迟。 **判断依据**: 若工艺文档中金属层单位电阻/电容(如`R_sq=0.1Ω/□`, `C_metal=0.2fF/µm²`)较低,则寄生效应可能不显著。 --- ### **典型案例对比** | 场景 | 前仿真结果 | 后仿真结果(异常一致) | 根本原因 | |---------------------|---------------------|-------------------------|-----------------------| | 未提取寄生参数 | 理想波形 | 理想波形 | 寄生文件未生成/加载 | | 输入信号tr=10ns | 输出延迟1ps | 输出延迟1.2ps | 差异被信号斜率掩盖 | | 版图LVS错误 | 正常功能 | 异常功能或无变化 | 网表未反映真实版图 | --- ### **排查流程建议** 1. **确认寄生参数提取** 检查是否运行提取工具并生成包含RC的网表文件。 2. **验证网表加载** 在ADE L中确认仿真视图已切换至`av_extracted`或`calibre`。 3. **调整仿真参数** 缩短输入信号边沿、提高仿真精度、延长观察时间窗。 4. **检查LVS与HCELL/XCELL** 确保版图与原理图一致,且层级控制文件正确定义。 --- 若以上步骤均无误,但结果仍一致,可能是设计本身对寄生不敏感(如低频应用)。此时可尝试: - 在反相器输出端添加长互连线(例如1mm)以人为增加寄生效应 - 对比输入/输出的瞬态电流(如`ITRAN`)波形,观察驱动能力变化。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值