在进行大型模拟后仿设计时,工程师们经常会遇到 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 生成网表

  1. 创建一个简单的 Testbench(只包含该 extracted view 调用)
  2. 在 ADE 中Create Netlist,生成完整的 Spectre netlist
  3. 在仿真输出目录找到生成的网表文件(通常在 netlist/ 目录下)

步骤 2:清理网表文件

  1. 打开生成的网表(.scs
  2. 去掉 corner 信息(如 .lib 语句和工艺角定义)
  3. 去掉尾部的 仿真配置(如 .tran, .dc, .options 等)
  4. 仅保留 .subckt 定义部分及其相关的器件和寄生参数
  5. 保存为独立的 Spectre 网表文件(如 CellA.scs

步骤 3:在顶层仿真中引入

  1. 在顶层 Testbench 的 ADE 设置中
  2. 右键 -> 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 由两部分组成

  1. 标准 DSPF 文件:存储寄生参数的工业标准格式文本文件
  2. 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 界面:

  1. 打开 QXP (Quantus QRC Extraction)
  2. 在 Output 设置中,将 Output Format 设置为 Smart ViewInteractive DSPF
  3. 执行提取,Quantus 会生成 i-DSPF 视图和对应的 DSPF 文件

在 ADE 中调用

使用方式与 av_extracted 完全相同:

  1. 在 Schematic 或 Config View 中选择对应 Cell 的 i-DSPF 视图
  2. ADE 会自动引用 DSPF 文件进行仿真
  3. 无需额外配置或手动干预

可视化交互

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 或脚本自动化网表清理过程

长期最佳实践

对于新项目或有时间优化的项目:

  1. 立即切换到 Smart View/i-DSPF:这是 Cadence 针对先进工艺的标准解决方案
  2. 建立 SOP:在 Quantus Extraction 标准流程中强制输出 i-DSPF
  3. 培训团队:确保所有设计师了解 i-DSPF 的优势和使用方法
  4. 性能验证:对比迁移前后的 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 的权威文档:

  1. Virtuoso Parasitic Aware Design User Guide - Interactive DSPF View
    最权威的技术文档,详细说明了 i-DSPF 是 Smart View 的增强实现

  2. IC23.1: Using Quantus Smart View in the Virtuoso Analog Design Environment
    官方 RAK(Rapid Adoption Kit),详细的操作指南

  3. Quantus Outputs - Extracted View Vs Smart View (Video)
    官方对比视频,直观展示性能优势

  4. How to improve AMS Designer netlist and simulation performance with extracted view of large post layout design
    性能优化专题文章

  5. 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 在先进工艺下的整体优化策略的核心部分,值得每个模拟设计团队深入了解和应用。