在使用 Cadence Quantus QRC 进行寄生参数提取时,准确地定义提取哪些网络(Net)以及对它们执行何种类型的提取,是控制提取精度与运行时间的关键。本文整理了 extract 命令的用法、支持的网络选择模式、各模式的行为差异,以及常见问题与解答。


核心机制:extract 命令

Quantus 通过 CCL(Cadence Command Language)命令文件中的 extract 命令来控制提取行为。一个命令文件中可以包含任意数量的 extract 命令,从而对不同网络分别指定不同的提取策略。

基本语法如下:

1
2
3
extract \
    -selection <网络选择方式> \
    -type <提取类型>

[!IMPORTANT] 后声明覆盖前声明:若多个 extract 命令选中了同一张网络,后面的命令定义会覆盖前面的。因此,在编写多个 extract 命令时,务必注意顺序,确保关键网络被正确的提取类型覆盖。


提取类型(-type

提取类型 说明
rc_coupled RC 耦合提取(含电阻和耦合电容)
rc_decoupled RC 解耦提取(含电阻,电容去耦到地)
c_only_coupled 仅电容耦合提取(不含电阻)
c_only_decoupled 仅电容解耦提取
r_only 仅电阻提取
full 完整提取(根据工具配置决定)
none 不提取(用于排除特定网络)

典型用法示例

示例 1:全芯片 RC 耦合提取并排除特定网络

1
2
3
4
5
6
7
extract \
    -selection all \
    -type rc_coupled

extract \
    -selection nets_file "./netsfile" \
    -type none

第一条命令对所有网络执行 RC 耦合提取;第二条命令对 netsfile 中列出的网络指定 none,使其不参与任何提取——即使它们已被第一条命令选中。

示例 2:全芯片 C-Only 提取,对指定网络执行 RC 耦合提取

1
2
3
4
5
6
7
extract \
    -selection "all" \
    -type "c_only_coupled"

extract \
    -selection "nets_file ./quantus.nets" \
    -type "rc_coupled"

大多数网络仅提取电容,而 quantus.nets 中的关键网络则执行完整的 RC 耦合提取。

示例 3:使用通配符选择网络

-selection 中使用通配符时,需要在网络名或正则表达式前添加 ? 前缀,否则通配符不生效:

1
extract -selection "? XI0/signal_*" -type rc_decoupled

GUI 中的网络选择模式

Quantus GUI(Run Form)提供以下六种网络选择模式:

模式 说明
Full Chip, All Nets 提取全芯片所有网络
Full Chip, Selected Nets 全芯片规模提取,但仅输出指定网络的寄生参数
Selected Nets Proper 仅对指定网络集合进行提取
Excluded Nets 排除指定网络的电阻提取(但仍提取其电容)
Excluded Nets Proper 同时排除指定网络的电阻和电容提取
Selected Paths 对指定路径上的网络进行提取

[!NOTE] 详细的模式说明及限制,请参考 Quantus Extraction User Manual 中的 “Running Quantus > Parasitic Extraction > Selecting Nets to Extract” 章节。


常见问题解答

Q:Excluded NetsExcluded Nets Proper 有什么区别?

模式 电阻提取 电容提取
Excluded Nets ❌ 排除 ✅ 仍然提取
Excluded Nets Proper ❌ 排除 ❌ 排除

因此,若需要彻底排除某网络的电容信息(避免网表中出现对应的寄生电容),应使用 Excluded Nets Proper


Q:使用 Excluded Nets 排除了网络,为什么网表中仍有耦合电容?

Excluded Nets 仅排除电阻提取,电容(包括耦合电容)仍会被提取和输出。如需同时排除电容,请改用 Excluded Nets Proper


Q:在含有 Blackbox 的设计中使用 Selected Nets Proper 报错怎么办?

1
ERROR (RCXSPIC-28170): Only -type "full" and -type "excluded_nets" are valid under HRCX operation.

Hierarchical Quantus(HRCX)模式下不支持 Selected Nets Proper,仅支持 fullexcluded_nets 类型。需改用非层次化提取流程,或切换为支持的提取类型。


Q:使用 Selected Paths 时报错 RCXSPIC-28168

1
ERROR (RCXSPIC-28168): selected_paths not supported in HRCX/macroCell flow.

Selected Paths 不支持在 HRCX/macroCell 流程中使用。此外,parasitic_blocking_device_cells_file 选项与 Selected Paths 不兼容,移除该选项可解决问题。


Q:Selected Paths 使用 fixed_nets_file 选项时失败?

1
INFO (RCXSPIC-28172): -nets_file <netsfile> option must be used in conjunction with -type [...]

fixed_nets_file 选项已从 Selected Paths 中移除,不再支持。


Q:C-Only 提取 + Excluded Nets Proper,指定网络仍有耦合电容?

此问题通常是因为网络名称空间(Name Space)设置错误excluded_nets 在 Layout Name Space 中查找网络,若该网络在 Layout 层并不存在(例如仅存在于 Schematic 层),则排除不生效。解决方法是将 Name Space 从 Layout 切换为 Schematic。

[!NOTE] 若使用 av_extracted view 并希望通过 Excluded Nets Proper 排除耦合电容,上述问题已在 EXT 17.2 版本中修复。


Q:C-Only + Selected Nets Proper 时,网表中出现大量浮空网络寄生电容?

需要在 CCL 中显式指定 -exclude_floating_nets 选项,才能移除与浮空网络相关的电容。该选项在 Selected Nets Proper + C-Only 模式下不会自动启用。


Q:如何同时对部分网络做 RC 提取、另一部分只做 C 提取、剩余不提取?(Transistor DSPF 双 Pass 方案)

对于 Transistor DSPF 输出,可使用 -restart 两遍运行方案:

第一遍(base.ccl):

1
2
3
4
5
6
7
extract \
    -selection "all" \
    -type "rc_coupled"

extract \
    -selection nets_file "nets2.txt" \
    -type "c_only_coupled"

第二遍(restart.ccl):

1
2
3
4
5
6
7
8
9
10
11
extract \
    -selection "all" \
    -type "rc_coupled"

extract \
    -selection nets_file "nets2.txt" \
    -type "c_only_coupled"

extract \
    -selection nets_file "nets3.txt" \
    -type "none"

运行命令:

1
2
3
4
5
# 第一遍
qrc -restart -cmd base.ccl

# 第二遍
qrc -restart -cmd restart.ccl

[!IMPORTANT] 使用 -restart 方案时需注意:

  • restart.ccl 的网络选择范围必须是 base.ccl子集
  • 两个 CCL 文件的日志文件名输出文件名必须不同
  • 此方案仅适用于 Transistor DSPF 输出

Q:如何为网络选择指定 Name Space(Schematic 或 Layout)?

请参考 Cadence Support 相关文档:”How do I pick Schematic or Layout Name Space for Selected Nets in Quantus QRC?”。


参考资料

来源 说明
Cadence Support — How To (本文来源) 如何定义提取网络集合与提取类型
Quantus Extraction User Manual — Selecting Nets to Extract 各网络选择模式的详细说明及限制
Cadence Support — Wildcard not working in selective net extraction 通配符使用方法说明