Logo兔二思
  • 价格
  • 博客
  • 关于
Logo兔二思
2026/11/06

模拟电路迁移工具 WiCkeD Schematic Porting 操作全流程

把 Cadence WiCkeD Schematic Porting(SPT)从建 Mapping、配 Cell/Property/Symbol,到 Check Setup、跑转换的完整流程走一遍。

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

工艺迁移这个事请,在日常工作中太常见了。如果全靠人工替换,工作量可想而知,所以自动化的 Porting 方案一直是大家关心的话题。

之前写过一篇文章,介绍了使用 SKILL 脚本做 Porting 的方法。这个方法轻量方便,但映射规则需要手动维护,配置出错后还要花时间排查。而且,规则文件和 SKILL 脚本对设计工程师来说,理解起来有门槛,用起来也不够顺手,往往还得找懂 SKILL 的同事帮忙。

最近试了 Cadence 的 WiCkeD Schematic Porting工具,它把映射配置和检查做成了可视化流程。

这篇就来分享一下它的具体操作流程,文末也会和之前的 SKILL 方案做个对比,方便大家根据需求选择。

简要介绍

WiCkeD Schematic Porting(以下简称 SPT)最初由 MunEDA 开发。MunEDA 于 2024 年被 Cadence 收购后,SPT 也整合进了 Cadence 的 Virtuoso 平台,成为一款用于不同 PDK 间电路图转换的 GUI 工具。

和 SKILL 脚本相比,最大的区别就是 —— 它把整个 Porting 过程做成了可视化的工作流。

它能做什么?

SPT 会帮你管理三张映射表:

映射表作用
Cell Mapping Table定义旧 PDK 的哪个器件对应新 PDK 的哪个器件
Property Mapping Table定义器件参数之间的转换规则(可以是简单映射,也可以是表达式计算)
Symbol Mapping Table定义引脚名称对应关系和 Symbol 的旋转/平移变换

这几张表在 SKILL 方案里全部压缩在一个 .map 文件中 —— 你只能盯着纯文本对比。而在 SPT 里,它们被拆成独立的可视化界面,每一项都可以单独编辑、检查和验证。

下面是我实际跑通 SPT 的完整流程。

第一步:新建 Mapping

启动前需要确保 cds.lib 中同时加载了 Source PDK 和 Target PDK。

(1/18)Source/Target PDK 示意(1/18)Source/Target PDK 示意

在 Virtuoso 的 CIW 窗口中,选择 Tools → WiCkeD Schematic Porting。

(2/18)WiCkeD Schematic Porting 窗口(2/18)WiCkeD Schematic Porting 窗口

SPT 主窗口中点击 File → New,在弹窗中:

👈将【旧工艺库】移到左边的 【Source Technology Lib】

将【新工艺库】移到右边的 【Target Technology Lib】👉

(3/18)选择 Source/Target 库(3/18)选择 Source/Target 库

然后点击 OK,两个 PDK 的信息就被加载到工具中了。

第二步:定义映射规则 Cell Mapping

切换到主窗口上方的 Cell Mapping Table ,点击表格里的绿色 “+”,逐一添加需要转换的源器件。这一步相当于建立“源器件 → 目标器件”的替换清单,后续的参数和 Symbol 规则也会基于这些器件对应关系配置。

(4/18)添加 Cell Mapping 的两种方式(4/18)添加 Cell Mapping 的两种方式

如上图所示,SPT 提供了两种添加方式:

➊ 手动从 Source PDK 库中选择器件: 适合提前整理一份通用映射清单,或只处理少量、明确的器件。

➋ 自动扫描某个 schematic cell 中用到的所有器件: 适合从实际设计出发,先盘点本次转换涉及哪些器件,扫描结果可以帮助避免漏项。

点击 OK 后,继续在生成的这一行中设置 Target PDK 中的器件,确认对应关系:

(5/18)设置器件对应关系(5/18)设置器件对应关系

第三步:定义映射规则 Property Mapping

为每组 Cell Mapping 定义参数转换规则。两套 PDK 的参数名、取值方式或单位可能不同,因此这里不仅要决定“哪个参数对应哪个参数”,也要明确是否需要计算或条件转换。

首先,切换到 Property Mapping Table 选项卡,点击左侧规则表里的绿色 “+”,输入一个唯一的规则组名称,例如:mos_rule。

(6/18)新建 Property 规则组(6/18)新建 Property 规则组

然后选中这个规则组,在下半部分继续点击绿色 “+”,设置 Target Property(目标属性) 和 Property Value Expression(赋值表达式),以此添加一条或多条目标属性规则。

假设你要把“新 PDK 中的 NMOS 的 w l m 直接换成旧 PDK 中的 NMOS 的 w l m”,可以参照下图这样设置:

(7/18)设置 Target Property 与表达式(7/18)设置 Target Property 与表达式

左侧填写「目标器件属性」,右边填写「该属性的取值表达式」。实际使用时,属性名和表达式要以你自己的两个 PDK 为准,上表仅作示意。

那么,Property Value Expression 这列的表达式具体可以怎么写?

SPT 支持 SKILL 表达式作为映射规则。下面列出几种常见写法及其使用场景:

写法含义
srcP{w}直接读取源器件的 w 值,适用于两端参数含义和单位一致的情况
srcP{w} / srcP{l}根据源 w 和 l 计算比例,可用于目标参数需要由源器件尺寸关系推导的场景
srcP{l} * 0.66将源长度按比例换算为目标值
trgP{nh}读取目标器件当前的 nh
100e-9使用固定数值
if srcP{grRing} then "ON" else "OFF"根据源参数的状态输出目标参数值,适用于参数取值形式不同的情况

更多表达式语法和用法,可参阅《WiCkeD™ Schematic Porting Manual》手册。

属性规则组创建完毕后,再次切换到 Cell Mapping Table 选项卡,在对应器件行的 Property Mapping Rule 列中,指定刚创建的规则组:

(8/18)Cell Mapping 中指定 Property Mapping Rule(8/18)Cell Mapping 中指定 Property Mapping Rule

第四步:定义映射规则 Symbol Mapping

Symbol Mapping 主要处理两件事:

➊ 引脚映射: 指定源器件的各个引脚分别对应目标器件的哪个引脚。

➋ Symbol 对齐: 通过平移、旋转或镜像调整目标 Symbol,让它的位置和方向尽量贴合原 Symbol,从而减少对原有连线的影响。

你可以在 Symbol Mapping Table 中填写引脚对应关系,并设置 Symbol 的变换信息:

(9/18)Symbol Mapping Table 填写示意(9/18)Symbol Mapping Table 填写示意

Transformation 一列记录 Symbol 的变换方式,包括平移、旋转或镜像,以及缩放因子。通常缩放因子应保持为 1.0。

设置引脚映射时,重点要确认引脚的实际功能是否对应,而不能只看名称。例如:

  • 源端口 S G D → 目标端口 S G D:名称相同,但仍要确认各引脚的功能对应。
  • 源端口 PLUS MINUS → 目标端口 POS NEG:名称不同,需要手动指定对应关系。

在表格中逐个核对引脚、调整符号位置不够直观。你也可以从 Cell Mapping 行打开独立的 Cell Mapping Editor 窗口,在图形界面中完成这些配置。

具体操作

➊ 回到 Cell Mapping Table,找到已经设置好 Target Lib 和 Target Cell 的器件行,点击左侧橙色的铅笔图标。

(10/18)铅笔图标打开 Mapping Editor(10/18)铅笔图标打开 Mapping Editor

➋ 在弹出的编辑器中,先在窗口上方的 Symbol Mapping 位置输入一个唯一的规则名(比如:nmos4pin),然后切换到 Symbol Mapping Rule 选项卡。

(11/18)输入 Symbol Mapping 规则名(11/18)输入 Symbol Mapping 规则名

➌ 在左侧 Terminals 区域,先检查 SPT 根据两边 Terminal 信息自动匹配的引脚对应关系。如果 Terminal 信息无法自动匹配,就手动添加并指定对应关系。

➍ 在右侧 Transformation 区域,SPT 会根据已匹配的 Terminal 自动计算 Symbol 的平移和旋转,使替换后引脚位置尽量贴合原有连线。如果自动计算出的 Symbol 位置或方向不合适,再通过右下角的控件手动调整。

(12/18)Terminals 与 Transformation 区域(12/18)Terminals 与 Transformation 区域

➎ 点击 Apply 或 OK。规则会保存到 Symbol Mapping Table,并关联到当前 Cell Mapping 行。

(13/18)关联示意(13/18)关联示意

如果是初次配置,我更建议你使用 Cell Mapping Editor 编辑器,操作更直观,也更容易上手。

第五步:检查并保存状态文件

完成映射定义后,点击 File → Check Setup,在下方的 Setup Checking Results 中查看错误和警告,点击其中的消息还可以跳转到对应的配置项:

(14/18)Check Setup 检查结果(14/18)Check Setup 检查结果

SPT 在执行转换时也会自动检查,但建议提前手动检查,方便定位并修改问题。这也是比 SKILL 方案进步最大的地方 —— 在执行转换之前就能发现问题,而不是转完了再一个个排查。

然后点击 File → State → Save as… 将所有映射配置保存为 .spz 文件。这个文件包含了完整的映射信息和 PDK 数据,后面转换时需要重新加载。

(15/18)保存 .spz(15/18)保存 .spz

保存完后,需要关闭当前 SPT 和 Virtuoso 会话(这一步很关键)。

第六步:执行转换

之前设置 Map 规则前,要让 Virtuoso 能看到 Source PDK 和 Target PDK,这样 SPT 才能读取两边的器件、参数和 Symbol 信息来建立映射。但在这次转换的环境中,要先让 cds.lib 不再定义 Source PDK 库,然后重新启动 Virtuoso。

再次启动 SPT,点击 File → State → Load… 加载刚才保存的 .spz 文件。

(16/18)加载 .spz(16/18)加载 .spz

点击 File → Run Schematic Porting,在弹窗中选择要转换的 Library、Cell 和 View,同时建议你勾选下方的 Backup all Cellviews modified during Porting,为被修改的 cellview 创建备份。最后点击 OK,开始转换。

(17/18)选择转换对象(17/18)选择转换对象

转换完成后,SPT 会生成 Conversion Log 和 Property Mapping Report,可以逐一核对每个器件的转换结果:

(18/18)Report 示意(18/18)Report 示意

转换完成并查看报告后,回到 schematic,重点检查器件型号与参数是否按预期映射、引脚对应和连线是否正确。

SKILL 脚本 vs SPT 工具

经过以上这几个操作环节,现在可以回头比较下 SKILL 脚本和 SPT 工具:

对比项SKILL 脚本方案WiCkeD SPT 工具
获取门槛免费,Cadence 论坛可下载需要许可证
上手难度需理解 SKILL,非 CAD 工程师上手较难GUI 操作,设计工程师可自行上手
映射定义手写 .map 文本文件GUI 可视化编辑 + 表达式支持
参数映射灵活度基础名称对应SKILL 表达式 + Skill Hook 扩展
转换前检查无自动 Setup Checking
Symbol 处理不支持调整位置自动计算变换矩阵 + 重连线
State 复用复用 .map 文件.spz 文件,包含完整配置
转换报告无Conversion Log + Property Mapping Report

如果你正在进行工艺迁移,尤其是团队里没有专职 CAD 支持的话,不妨试试这个工具。

全部文章
简要介绍它能做什么?第一步:新建 Mapping第二步:定义映射规则 Cell Mapping第三步:定义映射规则 Property Mapping第四步:定义映射规则 Symbol Mapping具体操作第五步:检查并保存状态文件第六步:执行转换SKILL 脚本 vs SPT 工具

更多文章

调一调更好用:布线助手 Wire Assistant 的几项设置
环境配置

调一调更好用:布线助手 Wire Assistant 的几项设置

Wire Assistant 用得多但每次都要重新调?教你用环境变量一劳永逸搞定默认设置。

avatar for Tina
Tina
2025/06/03
让 Layout Status 状态工具栏更有用的几种配置方式
环境配置

让 Layout Status 状态工具栏更有用的几种配置方式

通过 statusToolbarFields 环境变量自定义 Layout 状态栏的显示字段、顺序和文字样式,让坐标、选中对象、CellView 尺寸和工具状态等信息更直观地展示在编辑窗口中。

avatar for Tina
Tina
2025/05/26
Virtuoso 多窗口管理:自定义标题栏和显示样式
环境配置

Virtuoso 多窗口管理:自定义标题栏和显示样式

快速区分项目:修改 CIW 窗口和设计窗口标题栏的文本显示;设置 Palette(LSW) 面板显示样式

avatar for Tina
Tina
2024/08/12

邮件列表

加入我们的社区

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

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