在进行大型模拟后仿设计时,工程师们经常会遇到 Quantus Extracted View 网表生成速度过慢 的问题。特别是在顶层 Testbench 中调用 extracted view 时,每次仿真前的 Netlisting Phase 都可能耗费数分钟甚至更长时间,严重影响工作效率。
本文将介绍一种工业界常用的手动网表复用方法,并重点推荐 Cadence 官方的现代化解决方案 Smart View (Interactive DSPF)。
1. 问题背景
在使用 Quantus 进行寄生参数提取后,通常会生成一个 av_extracted 视图。当在顶层 Testbench 的 Spectre 仿真中调用这个视图时,会遇到以下性能瓶颈:
典型痛点
- 网表生成慢:ADE 需要遍历数百万个寄生参数的图形对象(shapes/instances),I/O 和 CPU 密集
- 内存占用高:海量图形实例导致 Virtuoso 和仿真器内存峰值飙升
- 重复解析:每次仿真都要重新生成网表,即使电路未修改
传统 av_extracted 的技术瓶颈
传统的 av_extracted 视图将每个寄生电阻、电容都存储为 OpenAccess 数据库中的独立图形对象。这种设计导致:
- ADE netlister 必须逐个遍历这些对象来构建网表
- 数据库 I/O 成为主要性能瓶颈
- 内存占用与寄生参数数量成正比
2. 应急方案:手动网表复用
2.1 流程概述
一种可行的应急方案是手动网表复用,具体步骤如下:
步骤 1:建立简单 Testbench 生成网表
- 创建一个简单的 Testbench(只包含该 extracted view 调用)
- 在 ADE 中Create Netlist,生成完整的 Spectre netlist
- 在仿真输出目录找到生成的网表文件(通常在
netlist/目录下)
步骤 2:清理网表文件
- 打开生成的网表(
.scs) - 去掉 corner 信息(如
.lib语句和工艺角定义) - 去掉尾部的 仿真配置(如
.tran,.dc,.options等) - 仅保留
.subckt定义部分及其相关的器件和寄生参数 - 保存为独立的 Spectre 网表文件(如
CellA.scs)
步骤 3:在顶层仿真中引入
- 在顶层 Testbench 的 ADE 设置中
- 右键 -> Set Cell View -> Specify SPICE Source File… 将
CellA.scs选中
2.2 优缺点分析
✅ 优点
- 立即见效:彻底跳过顶层仿真时的网表生成环节
- 显著提速:Netlisting phase 从几分钟缩短至几秒
- 实施简单:只需要文本编辑器和基本的 netlist 知识
- 零延迟:直接使用预生成网表,无任何系统开销
❌ 缺点
- 手动维护:底层 Cell 变更时需要重新执行全流程
- 容易出错:手动编辑网表可能引入语法错误或遗漏关键信息
- 缺乏联动:与设计数据库脱离,无法利用 Virtuoso 的自动化功能
- 不支持参数化:如果底层 Cell 有参数,需要为每种配置生成独立网表
3. Cadence 官方推荐方案:Smart View (Interactive DSPF)
针对大型后仿设计的网表性能问题,Cadence 推出了 Smart View 技术,并在 Virtuoso Studio 中以 Interactive DSPF (i-DSPF) 的形式实现。
3.1 什么是 Smart View?
Smart View 是 Quantus 的一种高级输出模式,旨在从根本上解决传统 av_extracted 的性能问题。
技术演进:
1
2
3
4
5
av_extracted (传统图形对象)
↓
Smart View (优化存储)
↓
Interactive DSPF (Smart View 的增强实现)
3.2 什么是 Interactive DSPF (i-DSPF)?
根据 Cadence 官方文档(Virtuoso Parasitic Aware Design User Guide):
“The Interactive DSPF view is an enhanced version of the Smart View, because it also allows user interaction along with the existing Smart View functionality.”
i-DSPF 由两部分组成:
- 标准 DSPF 文件:存储寄生参数的工业标准格式文本文件
- Interactive DSPF 视图:Virtuoso 中的可视化交互界面
核心理念:“数据在外部(DSPF),交互在内部(Virtuoso)”
3.3 为什么 i-DSPF 速度快?
官方文档明确说明了性能优势的根本原因:
“Provides direct inclusion of the DSPF file; no netlisting of parasitics is required.”
“This DSPF file is automatically saved under the Interactive DSPF view and included by Virtuoso ADE in the netlist for simulation. Therefore, a separate netlist generation process in Virtuoso ADE is not required.”
关键优势:
- 完全绕过寄生参数的 netlisting 过程:ADE 直接引用 DSPF 文件
- 无需遍历图形对象:避免了传统
av_extracted的 I/O 瓶颈 - 自动化集成:DSPF 文件自动保存并在仿真时被引用
3.4 Smart View/i-DSPF 的核心优势
| 特性 | av_extracted | Smart View/i-DSPF |
|---|---|---|
| 存储方式 | 数百万个 OA 图形对象 | 标准 DSPF 文本文件 + OA 索引 |
| Netlisting 过程 | 需要遍历所有图形对象 | 直接引用 DSPF,无需 netlisting |
| 内存占用 | 高(所有对象加载到内存) | 低(只加载索引) |
| 文件格式 | OA 数据库(私有) | DSPF(工业标准) |
| 跨工具兼容 | 差 | 优秀(标准格式) |
| 版本控制 | 差(二进制数据库) | 友好(纯文本 DSPF) |
| Virtuoso 可视化 | ✅ | ✅ (cross-probing, 热图等) |
3.5 如何使用 Smart View/i-DSPF
在 Quantus 中生成
在 Quantus Extraction 界面:
- 打开 QXP (Quantus QRC Extraction)
- 在 Output 设置中,将
Output Format设置为Smart View或Interactive DSPF - 执行提取,Quantus 会生成 i-DSPF 视图和对应的 DSPF 文件
在 ADE 中调用
使用方式与 av_extracted 完全相同:
- 在 Schematic 或 Config View 中选择对应 Cell 的 i-DSPF 视图
- ADE 会自动引用 DSPF 文件进行仿真
- 无需额外配置或手动干预
可视化交互
i-DSPF 保留了 av_extracted 的所有交互功能:
- Cross-probing:点击原理图可高亮版图
- 寄生参数查看:查看两点间的电阻、电容值
- 热图显示:可视化寄生参数分布
4. 方案对比与选择建议
4.1 两种方案对比
| 方案 | 实施难度 | 性能 | 维护成本 | 自动化 | 推荐场景 |
|---|---|---|---|---|---|
| 手动网表复用 | 低 | ⭐⭐⭐⭐⭐ | 高 | ❌ | 应急使用,项目临时加速 |
| Smart View/i-DSPF | 低 | ⭐⭐⭐⭐ | 极低 | ✅ | 长期使用,标准化流程 ⭐⭐⭐⭐⭐ |
4.2 性能分析
手动网表复用:
- ✅ 性能最优:零延迟,直接读取预生成网表
- ❌ 维护成本高:每次底层变更都需要手动操作
Smart View/i-DSPF:
- ✅ 接近最优性能:绕过寄生参数 netlisting,只有主电路需要 netlisting
- ✅ 自动化:底层变更后自动更新
- ✅ 标准格式:DSPF 可用于其他工具
- ✅ 可视化:保留 Virtuoso 交互功能
根据 Cadence 官方新闻稿(2019年6月)的描述,Smart View 相比传统 av_extracted 可提供:”up to 3X faster netlisting and up to 5X smaller netlist files”。但需要注意,这些数字来自营销材料,实际提升取决于设计规模和复杂度。
5. 实施建议
短期应急方案
如果项目已接近 Tapeout,时间紧迫:
- 使用手动网表复用方法快速解决问题
- 注意文档化每个 Cell 的网表版本和对应的设计 Tag
- 建立 Makefile 或脚本自动化网表清理过程
长期最佳实践
对于新项目或有时间优化的项目:
- 立即切换到 Smart View/i-DSPF:这是 Cadence 针对先进工艺的标准解决方案
- 建立 SOP:在 Quantus Extraction 标准流程中强制输出 i-DSPF
- 培训团队:确保所有设计师了解 i-DSPF 的优势和使用方法
- 性能验证:对比迁移前后的 Netlisting 和仿真速度,量化收益
其他优化技巧
即使使用 Smart View/i-DSPF,还可以结合以下技巧进一步优化:
AMS UNL Netlister
- 如果进行数模混合仿真,开启
AMS UNL网表生成器 - 性能远优于传统 netlister
Incremental Netlisting
- 在 ADE Explorer/Assembler 中:
Simulation -> Options -> Netlister - 确认开启了增量网表生成
- 对顶层 TB 有帮助
6. 参考资料
以下是 Cadence 官方关于 Smart View 和 Interactive DSPF 的权威文档:
-
Virtuoso Parasitic Aware Design User Guide - Interactive DSPF View ⭐
最权威的技术文档,详细说明了 i-DSPF 是 Smart View 的增强实现 -
IC23.1: Using Quantus Smart View in the Virtuoso Analog Design Environment ⭐
官方 RAK(Rapid Adoption Kit),详细的操作指南 -
Quantus Outputs - Extracted View Vs Smart View (Video)
官方对比视频,直观展示性能优势 -
Cadence Announces Next-Generation Quantus Extraction Solution
官方新闻稿,介绍 Smart View 技术
7. 总结
在现代模拟 IC 设计中,寄生参数提取和后仿性能优化是不可回避的挑战。
核心发现:
- ✅ 传统 av_extracted 的瓶颈:需要遍历数百万个图形对象来生成网表
- ✅ i-DSPF 的突破:完全绕过寄生参数的 netlisting 过程,直接引用标准 DSPF 文件
- ✅ 技术演进:i-DSPF 是 Smart View 在 Virtuoso Studio 中的增强实现
实施建议:
- ⚡ 应急方案:手动网表复用 - 性能最优,但需手动维护
- ⭐ 长期方案:Smart View/i-DSPF - 性能优秀 + 自动化 + 标准格式
Smart View/i-DSPF 不仅解决了网表生成速度问题,还提供了标准的 DSPF 格式便于跨工具协作,同时保留了 Virtuoso 的可视化交互能力。这是 Cadence 在先进工艺下的整体优化策略的核心部分,值得每个模拟设计团队深入了解和应用。