热度 1| |
✍️ 全文 6000 字,预计阅读时间 15 分钟
工作中经常有电路工程师咨询,在查看和分析版图时具体该怎么操作?特别是面对 virtuoso layout XL 的一些功能,觉得功能点太多不知道如何入手。我想,这样的困惑肯定不少电路工程师都有过。
所以,今天这篇文章,是一份帮助电路工程师快速上手 Layout L/XL 的入门指南,介绍一下查看版图的基本操作和技巧。
本文会从几个常见的工作场景出发,逐步演示在打开版图后,可以做哪些显示优化、如何高亮关键连线,如何调整显示图案等。每个场景都会配上截图和动图,帮助你更直观地理解操作。
在文章结尾,我还整理了一份功能集合总结,把文中涉及的操作和设置汇总成清单,方便你快速回顾。
⋅⋅⋅⋅⋅⋅
我经常被电路工程师同事问的一个问题是:
为什么同样是启动 layout,有的 cell 会在 Layout XL 模式下打开,有的却是 Layout L 模式?如果我希望始终用 XL 来看版图,该怎么做?
首先,如果想要始终用 XL 打开,最稳妥的做法是 从电路图启动 Layout XL:
在 Schematic Editor 中点击 Launch – Layout XL,Startup 选项里 Layout 选择 open existing,Configuration 保持 automatic,再选择对应的 layout cell 即可。
这样打开后,电路和版图会自动绑定,左边 schematic、右边 layout,可以直接 cross-probing(跨窗口点选就能互相定位)。
( 操作动图地址:https://mp.weixin.qq.com/s/LVhYumxKEyAMFW8MDkvKOA )
为什么推荐使用这种方式打开呢?
在回答前,我需要先来介绍一个环境变量 saveViewSubType。
这个环境变量控制的是:当你下次再打开版图 cell 时,它会默认用什么模式(L 或 XL …)。
如果 设成 t,Virtuoso 会记住你上次保存这个版图时的模式。比如上次是 XL 保存,下次再开就是 XL;上次是 L 保存,下次就是 L。如果 设成 nil,它就不管上次怎么保存,而是完全按照全局变量 maskLayoutDefaultApp 来决定。
它的默认值是 t 。因此,不同版图工程师保存的方式不同,就会导致你有时双击是 XL,有时却是 L。
所以,推荐 “从电路图启动 Layout XL” 的原因是:
不需要去关心这个版图当初是用 XL 还是 L 绘制的,也不用纠结环境变量怎么设置,手动从 schematic 启动,就一定能在 XL 模式下打开。相比直接在 Library Manager 双击,这种方法更保险,避免落到 L 模式导致无法和电路图互相定位。
PS:想知道如何设置 Cellview 的全局打开方式,看这篇👉Virtuoso CellView启动偏好设置全攻略
打开 Layout view 后,建议先花一分钟调整几个显示选项,来让视图更加清晰。
常见的优化主要有五类:显示/隐藏层级、筛选图层、隐藏辅助图形、控制显示信息,以及调暗背景,下面逐一展开介绍。
刚打开版图时,默认只显示顶层(Hierarchy Depth 为 0),看不到内部器件。直接按下 Shift+F(Display Hierarchy Depth = 32),可以一次性展开所有层次,看到完整的版图全貌。
如果想恢复只显示顶层的状态,按 Ctrl+F 就会回到层级 0。
LSW 窗口提供了一些快捷操作来过滤图层,当版图层次复杂时,以下功能非常实用:
1. 过滤已用层
勾选 LSW 窗口上方的 Used 按钮,可立即过滤掉当前版图中未使用到的层,大幅简化列表。
2. 单独显示指定层
要聚焦某一特定层,先在 LSW 列表中选中该层,再点击 NV (None Visible) 按钮,视图将只显示此层。点击 AV (All Visible) 可恢复显示所有层。
3. 快速切换显示/隐藏状态
用鼠标中键点击 LSW 列表中的任一层,可以快速切换该层的“显示/隐藏”状态。
LSW 过滤组合拳:Used(只看用到的)+ NV/AV(单层/全开)+ 中键(快速切换可见状态)。
( 操作动图地址:https://mp.weixin.qq.com/s/LVhYumxKEyAMFW8MDkvKOA )
默认情况下,版图的背景会显示密密麻麻的格点,如果觉得干扰,可以通过菜单栏 Options – Display…,在 Grid Control 下将 Type 设为 None 来关闭。
除了格点外,你可能还会看到很多个框框,在我当前显示的例子中是蓝色的(不同 PDK 存在差异)。这些是 Virtuoso 自带的 prBoundary 层,很多版图工程师会画 prBoundary 供自动化(如自动摆放 pin)使用,这是流程需要的工作层,查看版图时可隐藏。
在 LSW 窗口的 objects 面板中,取消 Boundaries 的 V (Visibility) 勾选即可。旁边的 S (Select) 控制是否可选。
处理完格点和 prBoundary 层后,有时即便你只显示了单层,视图里还是会多出一些意料之外的图形。
这些图层通常是 Pcell 自带的辅助层,比如像 GuardRing 这样的 Pcell,在创建时会存在 y0-y9 这类用于拉伸的标记层。它们默认在 LSW 中不显示,可以点击 LSW 窗口 Used 按钮旁边的 Valid 按钮,临时显示这些非工艺层,然后手动取消它们的 V 勾选,把它们隐藏起来。
带有 XL 绑定信息的版图,默认情况下在走线上会显示 Net name。如果觉得 Net 名称过于密集,影响观察,可以通过 Options - Net Name Display,取消勾选 Enable 来关闭。
相反,Pin name 信息是默认不显示的,需要我们手动开启。你可以在 Options - Display… 中找到 Display Controls,勾选 Pin Names 来显示。
( 操作动图地址:https://mp.weixin.qq.com/s/LVhYumxKEyAMFW8MDkvKOA )
如果选中某个器件或 Net 后,显示效果不明显,看不清选中的具体是哪部分,可以开启 Dimming 功能。
在菜单栏选择 Options - Display… ,找到 Dimming Control,勾选 Enable Dimming。
这样设置之后,未被选中的对象会自动变暗,以突出显示选中的部分。另外,这个功能在 Schematic 工具中也有,也在 Options - Display… 菜单栏中。
( 操作动图地址:https://mp.weixin.qq.com/s/LVhYumxKEyAMFW8MDkvKOA )
👇 显示优化前后对比 👇
在视图调整好之后,就可以正式进入版图检查环节了。
经过前面的显示优化,版图已经清爽多了。如果版图使用 Layout XL 布局的,检查会更方便:无论是在电路图还是版图窗口点选对象,另一边都会同步高亮(Cross-Probing),定位非常快。
不过,XL 的同步高亮主要是解决了 “找器件” 的问题,但是想直接从版图查看连线的完整路径有点困难。所以,下面来介绍几种实用的技巧,用来高亮并追溯版图上的 Net。
最直接的方式是从电路图入手,利用 Navigator 面板进行跨窗口高亮。
首先,在 Schematic 窗口中调出 Navigator 面板切换到 All/Nets 列表,然后在电路图中选中 Net 或 在面板列表中找到目标,右键选择 Probe - Add ,当前 net 就会高亮显示。
完成检查后,再次选中某个 net 右键选择 Remove All 即可清除所有高亮。
( 操作动图地址:https://mp.weixin.qq.com/s/LVhYumxKEyAMFW8MDkvKOA )
PS:关于 Probe 的一些显示样式设置,可以在 Layout 窗口的Options – Highlight… 中调整。
在版图窗口中,也可以通过 Navigator 面板的 Probe 来高亮对象。但除了这个方式外,Layout 还支持:
➊ 使用 Connectivity – Nets – Mark 工具
➋ 使用 Connectivity – Net Tracer 工具(有工具栏)
➌ 开启 Dynamic Highlight 动态高亮
Net Mark 和 Net Tracer 都适合在版图上直接点选 Net 的场景:点到哪,哪条线就能高亮。两者的主要区别在于 Net Tracer 功能更强。它带有“预选”功能,鼠标滑过的地方能实时高亮,定位更快;同时,Net Tracer 还支持与电路图同步高亮(勾选 cross-highlight net in schematic),而 Net Mark 的高亮则只在版图里生效。
( 操作动图地址:https://mp.weixin.qq.com/s/LVhYumxKEyAMFW8MDkvKOA )
➊ 和 ➋ 都是高亮 Net 相关的,对于高亮器件就不适合了,所以这里再推荐一个非常好用的功能 —— Dynamic Highlight 。在菜单 Options – Highlight… 中,勾选 Dynamic Highlight ,此时只要鼠标悬停在对象上,就会自动高亮。支持 Net 和器件,方便快速浏览。
总结一下:
很多人第一次用 Mark Net 或 Net Tracer 时,会遇到一个问题:
“怎么点亮一条线,器件的阱、有源区和多晶硅都被点亮了,密密麻麻一片?”
这是因为 Mark Net 和 Net Tracer 功能,会读取 techfile 文件中默认的 Constraint Group 定义的层次,其中就包括了 GT (gate) 和 AA (diffusion) 这类前端层。所以,当一个 Net 连接到 MOS 管的栅极或源漏极时,这些区域自然也会被一并高亮。
最简单的解决办法是在 F3 Options 中调整。也就是在你执行 Mark Net 之前,可以先按 F3 键调出 Option 对话框。
如果你使用的是 Mark Net 工具,切换到 Via Layers 选项卡,去掉 GT、AA 等前端层,只保留金属层;如果你使用的是 Net Tracer 工具,打开 Net Tracer Options ,在 Connection Setup 部分,把 Source 设为 Custom,然后点击旁边的 Setup… 按钮,在弹出的窗口中同样去掉 GT 和 AA 等前端层。
这种大片全亮的问题不仅限于前端层,当你点亮的 Net 连接到一些由金属组成的器件(比如 MOM/MIM 电容或金属电阻)时,同样会遇到整个器件都被点亮的情况。要解决这个问题,除了过滤掉前端层,我们还需要在同一个设置窗口中,额外指定 Stop Layer。
以上我们介绍了多种高亮 Net 的方式。这些高亮的颜色和样式,是由工具预设的 Drawing 层 决定的,并且不同的工具,其预设的图层也不同。
我们可以在对应工具的选项中找到这些预设层次,例如 Probe 的右键菜单,或是 Mark Net、Net Tracer 等工具的选项卡。当执行高亮时,系统会默认循环使用这些指定的图层。
下面是一个简单的对比总结:
以上,除了颜色被硬编码的 Net Tracer 外,其他高亮工具的显示样式都是可以自定义的。默认情况下,这些高亮图案通常只有一个外边框(Outline),如果觉得不够醒目,可以按照如下步骤进行修改:
( 操作动图地址:https://mp.weixin.qq.com/s/LVhYumxKEyAMFW8MDkvKOA )
有时,在版图中点选器件或连线时,发现高亮的是一个大方框,怎么也选中不了想选的对象。出现这种情况,是因为版图为了布线方便或模块复用,会用 cell、group、clone 或 transparent 这些方式把一堆器件“打包”起来。也就是这层包装让你没法一次就点到最里面的器件。
顺便说一下,无论是 L 还是 XL 风格的版图,都可能遇到类似情况,只是“包装”方式不同。
要解决这个问题,方案有两个:
➊ 进行层级跳转 Hierarchy-descend,和电路一样在对应的层级间跳转;
➋ 开启穿透模式 Transparent-mode,忽略外层直接点选。
最通用的方法是层级跳转。不管你遇到的是什么类型的”包装“,这几个快捷键都管用。
Layout 的层级快捷键与 Schematic 不同,下面是两者的对比:
按下 Shift + x 后,你会发现整个版图的视图范围变了,进入了一个新的 layout 窗口。而用 x,则是在原来的视图里直接进入下一层。
( 操作动图地址:https://mp.weixin.qq.com/s/LVhYumxKEyAMFW8MDkvKOA )
面对版图中不同的组合方式,并非所有情况都需要手动进入下一层。对于其中的 group 和 clone ,Virtuoso 还提供了一种更便捷的“穿透模式”,开启后不用跳转就能直接点选内部的器件。
对于 group ,可以在菜单栏 Options – Display… 中,勾选 Transparent Group。
对于 clone ,在比较新的 Virtuoso 版本(如 IC23.1)里也支持了类似的功能,叫做 Transparent Clone,设置位置相同。
以上介绍的 cell /group / clone,它们之间是可以相互嵌套的。比如,一个 group 可能被包在一个 clone 里面。在一些不支持 Transparent Clone 的版本中,如果想直接点选 clone 内部 group 里的器件,就需要先进入 clone 层级,然后开启的 Transparent Group 功能才能生效。
考虑到存在这些不同的组合,所以在点选时,第一步是得先弄清楚当前选中的到底是什么。它是 group,clone 还是个 cell?
那下面来介绍几种查看方式。
方法一:看底部状态栏
选中对象后,留意一下 Virtuoso 窗口底部的状态栏,它会显示当前选中对象的类型和名称。
方法二:看 Navigator 窗口
在 Navigator 面板中,不同类型的对象有不同的图标。选中版图对象时,Navigator 的列表也会同步高亮。group、clone 和 cell instance 的图标都有区别,可以据此来辨认。
方法三:开启 Selection Hint 提示
还有一种方式,是在 Options – Display… 菜单中勾选 Selection Hit。
开启后,每次点选版图上的对象,光标附近就会出现一个临时的文本框来显示对象的信息。比如,点中一个线段,会显示它的图层名;点中一个 cell,会显示 cell 的名字。
这个功能也可以用来辅助辨认 group 和 clone。因为系统在创建它们时,其默认名称会分别带有 group 和 cloneFamily 的前缀。只要名字没被手动改过,通过这个弹出的文本就能识别。当然,这个方法判断的是对象名称,不是类型。如果名称被修改,信息就不准了,所以它更多是起一个辅助提示作用。
( 操作动图地址:https://mp.weixin.qq.com/s/LVhYumxKEyAMFW8MDkvKOA )
以上,我们分场景介绍了一些电路工程师在查看版图时常用的操作和技巧。为了方便查找,下面把文中提到的功能点和对应的菜单路径、快捷键整理成了一个速查表。
⋅ END ⋅