Logo兔二思
  • 价格
  • 博客
  • 关于
2025/04/25

版图设计初始化配置指南:新建项目必做的四件事

通过环境配置实现:新建库时自动选择 techLib,电路库自动配对版图库,定义工艺格点及固定 Pin 的生成参数,来提升设计效率。

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

延续上一篇 PDK 初始化配置的内容,本篇我们进入设计库(Design Library)阶段,看看在项目设计初期,有哪些实用的环境设置。

新建设计库时自动选择关联的库

在用 Virtuoso 搭建新设计的时候,第一步通常是创建一个设计库。不过熟悉流程的朋友都知道,设计库本身只是个“空壳”,真正让它有血有肉的,是要把它和工艺库关联起来。默认情况下,每次新建库时都需要手动选择工艺库,但其实我们可以通过环境配置,让工具自动帮我们选好对应的 technology library 。

( 配置前后的流程对比 )

命令格式

.cdsenv
cdba  defaultAttachTech  string  t_techLibraryName

配置示例

.cdsenv
cdba  defaultAttachTech  string  "cds_ff_mpt"

📌顺带一提:目前通过环境变量的方式,只能设置“Attach 工艺库”这一种关联方式。如果像作者一样习惯用 “iTDB 形式”的设计库(也就是第二个Reference TechLib),暂时还没办法通过环境变量来操作。

库名映射:把电路库映射到对应的版图库

大家有没有遇到这样的小烦恼?

如果你的电路和版图不是放在同一库里设计,比如 schematic 放在 my_project_sch,layout 放在 my_project_lay。每次通过 Launch - Layout XL 新建版图时,弹出的“New File”表单,默认的库名是电路所在的库,也就是 my_project_sch。这时候你就得手动在下拉菜单选一下,选成 my_project_lay。虽然只是多点一下,但每次新建都要点总归有点烦,是吧?

其实有一个很好用的环境变量 —— schLayLibraryPair,它可以让你给电路和版图配个对。一旦配好,以后再通过 Layout XL 新建版图的时候,就会自动帮你填好库名,效率 +1 !

( New File 表单自动匹配库名 )

除了自动帮你在新建版图的时候选好目标库,schLayLibraryPair 的作用还不止于此:

它还能把这份映射关系传递到 “Configure Physical Hierarchy (CPH)” 窗口中。

假设你设计的一个电路,顶层单元引用了一些来自共享库 share_sch 的子电路单元。当你准备生成层次版图时,你是不是需要在 CPH 配置窗口手动指定这些子单元的 Physical Library(物理库)。这个时候,如果你有很多共享单元,那你可能就要在 CPH 里手动点好多次…… 如果你预先在环境变量里写好了公共库的映射关系,那么当 CPH 自动分析电路层次时,他会自动把 share_sch 映射成 share_lay。整个版图流程更流畅,特别适合多库、多团队协作的场景。

(  CPH 自动映射好库名 )

如何配置?

例如,要将“my_project_sch”映射到“my_project_lay”,可以设置如下:

.cdsenv
layoutXL schLayLibraryPair string "((\"my_project_sch\" \"my_project_lay\"))"

也可以设置多个映射:

.cdsenv
layoutXL schLayLibraryPair string "((\"my_project_sch\" \"my_project_lay\") (\"share_sch\" \"share_lay\"))"

此外,schLayLibraryPair 还支持使用通配符,参考如下:

.cdsenv
layoutXL schLayLibraryPair string "((\"*_sch1\" \"*_lay1\") (\"*_sch2\" \"*_lay2\"))"

这样一来,每次从对应的 schematic 创建 layout,就能自动跳到你设定好的 layout 库,非常省心有木有😄

设置工艺格点

什么是“工艺格点”?

我们可以把工艺格点(Technology Grid)简单理解成设计空间中的坐标网格,这个网格的大小由 PDK 严格定义,其背后对应的是芯片制造中工艺的物理限制。

不同的制程节点和厂商会有不同的格点标准,具体数值可以在 PDK 附带的 Design Manual 中找到:

( Design Manual 格点信息 )

如果你忽略了这个规则直接开始画图,后续在 DRC 验证阶段就很容易出现 “Off-grid” 错误。所以强烈建议你在画第一条线之前,先看看 PDK 文档,搞清楚 X 和 Y 方向上的 grid 间距,然后把 Layout 工具里的格点设好。这样能省下你后面很多不必要的返工时间。

图形界面设置入口

点击 VLS 的菜单栏 Options > Display > 输入数值:

(  Display Options - Grid Controls )

命令格式

.cdsenv
layout  xSnapSpacing  float  float_number
layout  ySnapSpacing  float  float_number

配置示例

.cdsenv
layout  xSnapSpacing  float  "0.005"
layout  ySnapSpacing  float  "0.005"

📌Tip:工艺格点参数来源于具体的工艺,应随工艺库统一配置。所以如果你有权限修改 PDK,更推荐直接把格点设定写进 PDK 目录下的 .cdsenv 文件中,这样更加方便。

设定 Pin 的生成参数

格点也设置好了,下一步可以开始生成器件了!

一般这个时候,我们会通过 LayoutXL - Generate All From Source 这个命令,把电路中的器件和 Pin 都放置在版图中。

放置前会弹出一个 Generate Layout 对话框,在这个界面可以看看哪些参数是需要勾选和调整的。特别是 I/O Pins 标签页,刚开始设计的时候,好一番捣鼓吧?其实这些选项都对应着具体的环境变量,只要提前配置好,后续生成时就能自动套用。

( I/O Pins 标签页 )

下面我们就来↑↑按图索骥↓↓,介绍一些能控制 Pin 生成行为的环境参数。也许其中就藏着那个“它应该有但找不到”的设置呢~

Pin 层常用的环境变量介绍

📌以上提到的 Pin 和 Label 所涉及的图层设置,实际使用时可以根据具体工艺来调整,建议参考工艺文件中的“Layer Coding Information”章节进行确认和修改。另外,变量名也可能因版本有所不同,具体以你使用的版本文档为准。

( Layer Coding Information )

最后的话

该系列文章已接近尾声!截至目前,Virtuoso 环境变量配置的核心应用场景已基本覆盖(共11项),感谢大家的持续关注。接下来的几篇,我会聚焦在一些特定工具的配置,比如 Library Manager、Layout XL / EAD ,后续还计划补充部分与 Schematic/ADE 工具相关的配置方法,可以继续关注系列更新(应该不🐦)。

全部文章
新建设计库时自动选择关联的库命令格式配置示例库名映射:把电路库映射到对应的版图库如何配置?设置工艺格点什么是“工艺格点”?图形界面设置入口命令格式配置示例设定 Pin 的生成参数Pin 层常用的环境变量介绍最后的话

更多文章

从想法到可用脚本:一次 AI 辅助 SKILL 开发实践
扩展开发

从想法到可用脚本:一次 AI 辅助 SKILL 开发实践

分享我是如何从一个最简单的想法出发,通过与 AI 的不断对话、迭代和调试,一步步将“批量 DRC一键验证”的工具从 0 到 1 搭建起来的。

avatar for Tina
Tina
2025/08/26
Layout EAD 实时提取版图寄生参数(一):输入文件
工具实战

Layout EAD 实时提取版图寄生参数(一):输入文件

作为 Layout EAD 系列第一篇,本文聚焦工艺文件准备:从 ICT、qrcTechFile 到 eadTechFile,逐步说明转换命令、关键参数与常见应用场景。

avatar for Tina
Tina
2024/04/28
告别失配!实用的版图匹配技巧(附仿真验证说明)
工具实战

告别失配!实用的版图匹配技巧(附仿真验证说明)

如何让你的版图真正做到匹配:以"电流镜"为例,通过仿真对比四种不同的版图画法,展示匹配精度差异。

avatar for Tina
Tina
2025/10/28

邮件列表

加入我们的社区

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

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