Skill IDE
约 875 字大约 3 分钟
2025-08-09
一、什么是 SKILL IDE
SKILL IDE(Integrated Development Environment)是 Cadence 为 SKILL/ SKILL++ 语言量身定制的图形化开发平台,内嵌于 Virtuoso Studio。它把“写代码-查语法-调程序-版本管理”整个闭环搬到同一个窗口里,可显著加快 Pcell、宏指令、DRC 脚本等二次开发效率 。
二、启动方式
- 打开 Virtuoso 后,在 CIW(Command Interpreter Window)菜单选择 Tools ▸ SKILL IDE;
- 或直接敲命令:
virtuoso -skillida # 6.1 之后版本支持
三、主界面速览
┌───────────────────────────————————————————──┐
│ 1. 菜单栏:File / Edit / Debug / Tools / Help │
│ 2. 工具栏:新建、保存、运行、断点、单步、Lint、Profiler │
│ 3. 编辑区:多标签页代码窗口,支持语法高亮、折叠、自动缩进 |
│ 4. 调试区:Variables / Stack / Trace / Breakpoints 子窗口 │
│ 5. 输出区:SKILL Console,等同 CIW,可交互调用函数 │
└────────────────────────————————————————─────┘
四、核心功能与具体操作
功能 | 操作步骤 | 小技巧 |
---|---|---|
新建项目 | File ▸ New ▸ SKILL File (.il) | 建议先建 soft link 把 ~/skill 指向 cds_lib 目录,方便版本管理 |
语法高亮 & 补全 | 自动生效;Ctrl+Space 呼出函数原型 | 在 Edit ▸ Preferences 里可自定义配色 |
运行脚本 | 按 F6、或 Debug ▸ Run | 也可在 CIW 里 load("xxx.il") 再执行函数 |
设置断点 | 行号左侧单击、或 Ctrl+B | 支持条件断点:右键 ▸ Breakpoint Properties ▸ Condition 填表达式 |
单步调试 | F7 Step Into / F8 Step Over | Stack 窗口会实时显示调用链 |
变量监视 | Debug ▸ Add Watch ▸ 输入变量名 | Trace 窗口可同时跟踪函数调用次数 |
回溯错误 | 出错后 Stack Trace 窗口自动高亮 | 双击任一层可直接跳到源码 |
代码体检 | Tools ▸ SKILL Lint ▸ Check File | 会列出未用变量、形参不匹配等警告并打分 |
性能分析 | Tools ▸ Profiler ▸ Profile | 适合优化大规模 Pcell 生成脚本 |
五、一个完整示例:用 SKILL IDE 创建并调试通孔阵列 Pcell
- 打开 IDE ▸ File ▸ New ▸ SKILL 文件,保存为 viaArray.il。
- 键入下方代码(已精简):
procedure( createViaArray(@key (rows 5) (cols 5) )
let( (cv tech)
cv = deGetCellView()
tech = techGetTechFile(cv)
dbCreateViaShapeArray(cv "VIA67" tech
0:0 0.29 0.29 0.19 0.19 rows cols)
printf("Created %d x %d via array\n" rows cols)
)
)
- 保存后按 F6 加载;如无语法错误,Console 会输出
t
。 - 在
dbCreateViaShapeArray
行设断点,再于 Console 里执行
createViaArray(?rows 3 ?cols 4)
程序会停在断点处,Variables 子窗口可查看 rows=3, cols=4
。
5. 按 F8 单步,确认无误后 Debug ▸ Continue;版图上即出现 3×4 通孔阵列。
6. 最后 Tools ▸ SKILL Lint ▸ Check File,根据提示清理冗余变量,代码质量一次性拉到 A+。
六、常见问题速查
- 找不到函数:确认文件已 load;或在 IDE 里 File ▸ Load Path 添加目录。
- CIW 打印无行号:这是设计使然,调试请使用 IDE Stack 窗口 。
- 想清屏:CIW 里无法清屏,可忽略;或把输出重定向到文件。
七、进一步学习资源
- Cadence 官方在线课程:SKILL Language Programming(2 天,含 IDE 实验)
- 官方视频:Cadence Support Portal ▸ Training Bytes ▸ “Using SKILL IDE in Virtuoso Studio”
- 社区实例:
- 知乎专栏《使用 Cadence SKILL 脚本在 Virtuoso 中创建 Pcell》
- CSDN《软件操作指南泛读 — SKILL IDE 调试》
结语
掌握 SKILL IDE 后,你可以把 Virtuoso 里一切机械性点击转化为一条命令、一个按钮甚至全自动流程。今天先跑通第一个断点,明天就能把整颗芯片的版图生成脚本化——这就是 SKILL IDE 的价值所在。