拿到一份 GDS 文件,常见的问题是:这个文件里到底用了哪些 layer number / datatype 组合? 也就是想要一份 number:number 的清单。本文记录官方推荐做法,以及几个相关场景的补充。
1. 最直接的命令:design_review -batch dbsize -r -d
Cadence ASK 文章 《How can I print the list of layers and datatypes present in a gds/oasis file?》 给出的答案非常简短,原文一行:
1
design_review -batch dbsize -r -d input.gds
参数含义:
| 参数 | 含义 |
|---|---|
-batch dbsize |
调用 dbsize 子命令,按数据库内对象做统计 |
-r |
递归(recursive),遍历到所有 cell 而不是只看 top |
-d |
按 datatype 拆分输出,最终拿到的就是 layer:datatype 维度 |
输出会列出该 GDS 文件中实际出现过的所有 layer:datatype 组合,正好是你想要的 “number:number” 列表。
design_review是 Cadence 的 GDS/OASIS 查看 & 校验工具,随 Virtuoso / IC 安装一起提供。输入文件支持.gds/.oas。
2. 相关场景与对应文章
同一类需求在不同上下文下有不同做法,下面这几篇 Cadence ASK 文章也是搜索 “GDS layer numbers” 时高频出现的:
其中 How and from where does GDS number column in layer palette shows layer number and datatype 还顺带解释了一件事 —— Virtuoso Layer Palette 里看到的 GDS Number 列形如 M1 : drawing → 31:0,其中冒号前是 layer stream number、冒号后是 datatype,数据本身来自 tech library 下可选的 <techLibName>.layermap 文件。如果你拿到的 GDS 已经在 Virtuoso 里打开,对照 layermap 也能反推 LPP。
3. 小结
-
只是想看 GDS 文件里出现过哪些 layer/datatype 组合,一行命令搞定:
1
design_review -batch dbsize -r -d input.gds
- 需要批量处理多份 GDS、或者已经把 GDS 导进 Virtuoso,再去 Layer Palette / SKILL 里取数。
- 想做 layer 号 ↔ 名字的双向映射,最终都要回到
<techLibName>.layermap。
参考
- Cadence Support:How can I print the list of layers and datatypes present in a gds/oasis file?
- Cadence Support:SKILL: Looking for a quick and efficient way to find layer purpose pairs used in multiple designs stored as gds files
- Cadence Support:How and from where does GDS number column in layer palette shows layer number and datatype
- Cadence Support:Virtuoso XStream Out and In: Quick Reference