Logo兔二思
  • 价格
  • 博客
  • 关于
2025/03/31

Virtuoso 电压规则(VDR)工具操作指南——自动生成电压标签

介绍 Virtuoso VDR 工具如何自动生成电压标签,辅助完成 Voltage-dependent Spacing DRC 检查,并结合仿真驱动流程说明 techfile 配置、数据生成与规则验证方法。

小红书小红书公众号公众号微信微信

在 IC 设计的世界里,工艺设计规则就像是工程师必须遵守的“交通规则”。其中有一类规则和金属线的电位大小相关,它就是 Voltage-dependent Spacing Rule。这个规则要求处于不同电位的金属层必须保持足够的安全距离。这是因为当不同电压的金属导体过于接近时,它们之间的电场强度会显著增加,随着时间推移,可能导致绝缘介质逐渐退化并最终击穿。

📑Voltage-dependent Spacing Rule

Rule numberDescriptionOperationDesign ValueUnit
M1.1Space between two M1s (maximum delta Voltage > 2.75V)≥0.07μm
M1.2Space between two M1s (maximum delta Voltage > 3.63V)≥0.11μm
M1.3Space between two M1s (maximum delta Voltage > 5.5V)≥0.165μm

那么实际验证过程中,DRC 检查工具是如何知道哪些金属线需要更大的间距呢?

答案在于“Voltage Marker Layer/电压标签”。

想象每条信号线都带有一个“身份证” — MinV 和 MaxV 标签,标明了它承载的最低和最高电压。检查工具通过读取相邻信号线的标签,计算出两条线之间的最大电压差,然后根据这个电压差对照规则间距确定它们需要保持的最小安全距离。

这套验证机制在理论上很完美,但也存在一个显著的“盲点”:它完全依赖于设计人员正确标记的电压信息。如果某些信号线“没带身份证”,DRC 工具就会视而不见,无法检查出潜在的安全距离问题。

在一个复杂的 SoC 设计中,可能存在成千上万条信号线,手动确保每条线都有正确的电压标签是极其困难的。特别是在多电源域设计中,电压关系变得更加复杂。

所以🤔,我们如何解决手动标记电压标签的问题呢?

Virtuoso 平台中的 Voltage-Dependent Rules (VDR) 工具提供了电压标签层的自动生成功能,省去了手动标记的繁琐和错误风险。

( VLS >> Tools - Voltage Dependent Rules )

VDR 工具支持三种不同的实现流程,可适应不同的设计需求。

仿真驱动的 VDR 流程 - 让数据说话

这是我个人最推荐的方法,因为它基于实际的电路行为,而不是理论假设。

具体操作起来相当直观:首先在 ADE 中运行电路仿真,让工具捕获每个节点的实际电压摆幅。这些真实的最小值(MinV)和最大值(MaxV)会被存储在 Datasets 数据集中。然后在 Virtuoso Layout 中使用工具命令(Tools > Voltage Dependent Rules > Create Labels From Simulation Voltages…)自动在版图中创建电压标签。

版图设计师不需要再手动猜测或标记这些电压信息,一切都基于电路的实际行为。

原理图驱动的 VDR 流程 - 设计师的直觉

在这种流程中,电路设计人员使用 VSE 工具中的 Navigator / Property Editor Assistant,直接在原理图设计阶段为每个节点标记上最小(MinV)和最大(MaxV)电压属性。

这些关键信息会在 Layout XL 生成过程中自动从原理图传递到版图,版图设计师只需在版图环境中执行命令(Tools > Voltage Dependent Rules > Create Labels From Net Voltages…),就能基于这些预定义的属性自动生成所有电压标签。

版图驱动的 VDR 流程 - 灵活应对

正如以上介绍的两种流程,电压可以从原理图或仿真传递到版图。版图设计师也可以直接在版图的信号线上指定电压属性,无需依赖前期原理图或仿真信息。虽然这种方法看起来有点“老派”,但它提供了最大的灵活性,特别适合处理特殊情况或局部修改。

通过三种 VDR 流程的比较分析,大家在实际项目中可以根据团队工作流程和使用场景,灵活使用这三种方法。

技术文件配置

我们已经了解了 VDR 的三种流程,现在开始详细介绍「仿真驱动」的实施流程。

Virtuoso 的许多高级功能都依赖于技术文件 (techfile.tf) 的正确配置,就像建房子需要先打好地基一样,使用 VDR 工具前,我们需要先确保 techfile 的配置正确。这是整个流程能否顺利进行的关键!

电压标签配置要求

要让 VDR 工具正确创建电压标签,你的 techfile.tf 必须满足这三个条件:

✅在 techPurposes 段落中定义电压标签的 Purpose 名称(如:vlo / vhi)。

✅在 techLayerPurposePriorities 段落中建立这些特殊 Purpose 与各个 Metal Layer 的关联映射。

✅在 techDisplays 段落中将相关 LPP 组合定义为可见且有效。

以 GPDK045 工艺为例,它的配置是这样的:👇

techfile.tf
;******************************** 
; LAYER DEFINITION 
;******************************** 
layerDefinitions( 

 techPurposes( 
  ;( PurposeName       Purpose#   Abbreviation ) 
  ;( -----------       --------   ------------ ) 
  ;User-Defined Purposes: 
  (vlo        15    vlo)
  (vhi        16    vhi)
 ) ;techPurposes 

 techLayerPurposePriorities( 
  ;layers are ordered from lowest to highest priority 
  ;( LayerName                Purpose      ) 
  ( Metal1                    vlo        ) 
  ( Metal1                    vhi        ) 
  ( Metal2                    vlo        ) 
  ( Metal2                    vhi        ) 
 ) ;techLayerPurposePriorities 

 techDisplays( 
  ;( LayerName   Purpose Packet        Vis Sel Con2ChgLy DrgEnbl Valid ) 
  ( Metal1       vlo      vdr              t t t t t )
  ( Metal1       vhi      vdr              t t t t t )
 ) ;techDisplays 

) ;layerDefinitions 

支持的电压标签类型

VDR 工具支持“通用”和“受约束”这两种类型的电压标签,选择哪种取决于你的工艺要求。

类型一:通用 VDR 标签

这是 Virtuoso 默认的生成机制,就像是给每层金属“贴标签”。

系统利用预定义的特殊 Purpose 属性从金属层(如 Metal1:drawing)自动衍生出两个特殊图层:

  • 一个用于最小电压 MinV —— Metal1:vlo
  • 一个用于最大电压 MaxV —— Metal1:vhi

比如,在 Metal1 的信号线上创建 Metal1:vlo 和 Metal1:vhi,在 Metal2 上创建 Metal2:vlo 和 Metal2:vhi,依此类推……

该机制通过 Purpose 属性(vlo/vhi)来区分最小和最大电压,且保持了层次一致性,确保每层金属都有对应的电压标签图层表示。

类型二:受约束的 VDR 标签

有些 Foundry 有他们自己的专用电压标记层(Voltage Marker Layer)及其映射规则,就像下面的例子:

📑Layer mapping table:

LayerNamePurposeGDS layer numberData typeDescription
VHImetal161230DRC and LVS marking layer for Highest voltage M1
VLOmetal161231DRC and LVS marking layer for Lowest voltage M1
VHImetal262230DRC and LVS marking layer for Highest voltage M2
VLOmetal262231DRC and LVS marking layer for Lowest voltage M2

为了适应这些特定规则,还需要:

✅在techfile中通过 voltageLabelMapping 或 voltageMarkerMapping 创建电压映射层的 constraintGroups。

✅在.cdsenv文件中设置环境变量 vdrConstraintGroupName 指向这个 Constraint Group。

.cdsenv
layout vdrConstraintGroupName string "myVDRLppCg"

constraintGroups 参考示例:

constraintGroups( 
  ;( group    [override]    [definition]    [operator] )
  ;( ------------------------------------------------- )
  ( "myVDRLppCg"  nil  nil 'and  
   spacings(
   ( voltageLabelMapping "M1"
    'layer "VLO"
    'purpose "metal1"
    "minVoltage"
   )
   ( voltageLabelMapping "M1"
    'layer "VHI"
    'purpose "metal1"
    "maxVoltage"
   )
   ( voltageLabelMapping "M2"
    'layer "VLO"
    'purpose "metal2"
    "minVoltage"
   )
   ( voltageLabelMapping "M2"
    'layer "VHI"
    'purpose "metal2" 
    "maxVoltage"
   )     
  ) ;spacings 
 ) ;myVDRLppCg
) ;constraintGroups

Tips:

这两种类型的标签不能在同一设计中混合使用。

仿真驱动 VDR 流程实操

接下来继续介绍仿真驱动 VDR 流程的后续步骤:如何从仿真结果中提取电压信息,以及如何使用 VDR 工具将这些信息转化为实际的电压标签。

电路仿真设置

首先,我们需要在 ADE 中设置仿真环境,正确的仿真设置是获取准确电压信息的基础。

  1. 仿真类型选择:

    • 瞬态分析(Transient) 或 DC Sweep ✔
  2. 仿真参数配置:

    • 工艺角✔
    • 扫描温度范围✔
    • 不同负载情况✔

( 仿真设置界面示意 )

Tips:

为了获取最准确的电压范围,建议运行多个工艺角、多个温度点和多个供电电压条件下的仿真。这样可以确保捕获到最宽的电压摆幅范围。

创建 VDR 电压数据集 Datasets

执行仿真前,在 ADE 中选择 “EAD” > “Setup” 设置 EAD Setup 选项卡:

  • 启用 ☑“Enable Electrical Data Capture for EAD Flow”

  • 勾选 ☑“Min and Max Voltage (Vmin/Vmax)”

( 仿真前的设置 - EAD Setup )

仿真运行完成后,创建并保存 Datasets 即可。

Create Dataset 可以看我之前写的关于 Layout EAD 工具的一系列文章,里面有详细的操作描述~

使用 VDR 工具生成电压标签

有了准确的 Dataset,接下来就可以在版图中创建电压标签了。

首先执行 VDR 标签创建命令:

  1. 在版图编辑器中,选择 “Tools” > “Voltage Dependent Rules” > “Create Labels From Simulation Voltages...”

  2. 在弹出的对话框中:

    • 选择之前创建的 Simulation Datasets
    • 勾选 Generate Voltage Labels
    • 选用”通用“标签类型的,选择对应的Voltage Purpose层次
    • 选用”约束“标签类型的,Voltage Purpose层次选用None

配置完成后点击“Apply”,VDR 工具将基于仿真数据自动在各金属层上生成对应的 vlo/vhi 标签。

wxv_3921158138107412481

DRC验证

最后一步是运行 DRC 检查,验证设计是否满足电压相关的设计规则。

通过本文介绍的步骤,你现在应该能够从仿真结果中提取准确的电压信息,并使用 VDR 工具将这些信息转化为版图中的电压标签。这个流程不仅自动化了一个原本繁琐的手动任务,更确保了电压信息的准确性和一致性。

⋅ END ⋅

全部文章
技术文件配置电压标签配置要求支持的电压标签类型类型一:通用 VDR 标签类型二:受约束的 VDR 标签仿真驱动 VDR 流程实操电路仿真设置创建 VDR 电压数据集 Datasets使用 VDR 工具生成电压标签DRC验证

更多文章

一直都在用的 Library Manager,其实还能这样配置
环境配置

一直都在用的 Library Manager,其实还能这样配置

工具专项第一弹:Library Manager 实用配置技巧,包含右键菜单扩展、日志文件管理及常用环境变量设置。

avatar for Tina
Tina
2025/05/19
打造个性化的 Virtuoso 工作界面:自定义窗口大小
环境配置

打造个性化的 Virtuoso 工作界面:自定义窗口大小

介绍如何通过 .Xdefaults 和 .cdsinit 自定义 Virtuoso 中 CIW、Library Manager、Schematic 与 Layout 窗口的默认尺寸,让常用工作界面打开后更符合个人使用习惯。

avatar for Tina
Tina
2024/07/29
Virtuoso 字体不再小:一招放大你的屏幕字体
环境配置

Virtuoso 字体不再小:一招放大你的屏幕字体

三种方式调整高分辨率下的字体大小,修正大字体导致表单文本重叠的问题。

avatar for Tina
Tina
2024/07/31

邮件列表

加入我们的社区

订阅邮件列表,及时获取最新消息和更新

小红书公众号微信
© 2026 兔二思. All Rights Reserved.