4. 版图提取基础
LVS(Layout Versus Schematic)的本质,是把版图这一堆几何图形“翻译”成与电路网表同构的器件与连接描述,再与原理图网表逐项比对。这个翻译过程就是版图提取(Extraction)。如果提取阶段把器件认错、把连接关系连错、把端口漏掉,后面的比对再精确也只会得到一堆假错误。因此理解提取的四个核心要素——器件识别、连接关系提取、文本层、端口层——是读懂 LVS 报告、定位 LVS 失败原因的基础。
一、器件识别:从几何图形到器件实例
版图中并没有“MOS 管”这个对象,只有扩散区、多晶硅、注入层、接触孔等图形。提取工具依据工艺文件(如 Calibre 的规则文件)中定义的器件识别规则,判断哪些图形组合构成一个器件。以最常见的 MOS 管为例,识别通常依赖以下几何条件:
- 沟道区:多晶硅(poly)与有源区(active/diff)交叠的区域,其宽度决定 W,长度决定 L;
- 源漏区:沟道两侧的有源区,需被 N+/P+ 注入层覆盖以确定类型;
- 衬底/阱:由阱层(nwell/pwell)判断器件所在阱类型,进而确定衬底节点连接;
- 接触:源漏与阱上的接触孔(contact)决定器件端子如何引出。
工具据此生成器件实例,例如 M1 (nmos) W=2u L=0.18u。这里有一个工程上极易踩坑的点:W/L 的提取方式必须与原理图网表中的 W/L 定义一致。若版图用多指栅(multi-finger)实现,实际沟道总宽是各指宽度之和,而提取工具可能按单指或按合并后的等效宽度输出。若原理图写的是总宽,而提取按单指输出,LVS 就会报出 W 不匹配。因此器件识别阶段要重点核对:器件类型(nmos/pmos)、W/L 数值、指数量(fingers)、乘法因子(m)、以及是否被正确识别为并联或串联结构。
二、连接关系提取:从图形接触关系到网络
器件识别解决“有哪些器件”,连接关系提取解决“器件之间怎么连”。工具通过连通性分析判断哪些导体图形在电气上属于同一节点:同一层金属上直接相连的图形、通过接触孔/通孔跨层相连的图形、以及通过多晶硅或扩散区相连的图形,都会被归入同一个网络(net)。
连接关系提取的关键在于层次化与命名。版图通常是层次化的(cell 嵌套 cell),提取工具需要把各层次中的图形“压平”或按层次展开,才能正确判断跨层次的连接。同时,每个网络需要一个名字:有文本标签的网络用标签命名,没有标签的网络由工具自动生成形如 N_12 的编号。网络命名是否与原理图一致,直接决定 LVS 能否把两边网络对应起来。
连接关系提取还涉及器件端子的归属。例如一个 MOS 管的源极,究竟连到哪条金属、经过几个通孔、最终连到哪个网络,必须完整追踪。若版图中存在悬空的源漏、未打孔的阱、或误连的衬底,提取结果就会与原理图产生结构性差异。这类错误往往表现为“器件数量对、但网络连接对不上”,比单纯的器件缺失更难排查。
三、文本层:给网络和器件“贴名字”
文本层(text layer)是版图中专门用于标注名称的图层,通常不参与实际制造,只服务于验证。它包含两类信息:网络标签(net label)和器件标签(device label / instance name)。
网络标签的作用是给提取出的网络赋予与原理图一致的名字。例如在电源线上放置 VDD 文本,在时钟线上放置 CLK 文本,提取工具就会把这些网络命名为 VDD、CLK,而不是自动编号。这样 LVS 比对时就能按名字对应,而不是靠拓扑猜测。器件标签则用于给器件实例命名,例如给某个 MOS 管标注 M1,使提取网表中的器件名与原理图一致,便于定位具体是哪个器件出错。
文本层使用中有几个必须注意的细节:
- 文本必须落在对应网络上:标签图形要与目标金属/多晶硅图形有实际交叠,否则工具认为该标签悬空,不会生效;
- 文本层不能与器件识别层冲突:若文本层被误用为有源区或注入层,会干扰器件识别;
- 大小写与特殊字符:多数工具默认区分大小写,
vdd与VDD可能被视为不同网络; - 电源地网络:VDD/VSS 等全局网络通常需要在规则文件中声明为全局网络,否则跨模块的同名标签可能不被合并。
四、端口层:定义电路的对外接口
端口层(port layer)用于标识版图单元的输入输出引脚。在层次化设计中,一个子单元(block)有它自己的端口,顶层芯片也有顶层端口。端口层告诉提取工具:哪些网络是这个单元的对外接口,从而在生成网表时把这些网络标记为端口(port),而不是内部网络。
端口层与文本层常常配合使用:端口层图形标出引脚位置,文本层给出引脚名称。若只有端口图形而没有名称,工具可能生成匿名端口;若只有名称而没有端口图形,该网络可能被当作内部网络,导致上层调用时无法正确连接。在 LVS 中,端口不匹配是常见错误之一,典型表现是“原理图有 8 个端口,版图提取出 7 个”或“端口名称不一致”。
五、四要素协同:一张图看清提取流程
把上述四个要素串起来看:版图几何图形先经过器件识别得到器件实例,再经过连接关系提取得到网络拓扑,同时文本层为网络和器件命名,端口层标记对外接口,最终输出一份与原理图网表可比对的提取网表。下面的图展示了这一协同关系及各自的输入输出。
从图中可以看出,器件识别与连接关系提取负责“结构正确性”,文本层与端口层负责“命名与接口正确性”。实际调试 LVS 时,可以按这个分工快速定位问题方向:如果报告显示器件数量或类型不符,优先查器件识别规则与版图图形;如果器件数量正确但网络连不上,优先查连接关系提取与接触孔;如果网络拓扑正确但名字对不上,优先查文本层;如果内部都对但顶层报端口错误,优先查端口层。
六、提取结果的自检要点
在把提取网表交给 LVS 比对之前,建议先做一轮自检,这比直接看 LVS 报告更高效:
| 检查项 | 观察对象 | 正常表现 | 异常提示 |
|---|---|---|---|
| 器件数量与类型 | 提取网表器件列表 | 与原理图器件数一致,nmos/pmos 分类正确 | 多指管被拆成多个器件,或串联管被合并 |
| W/L 与 m 值 | 器件参数 | 与原理图定义方式一致(总宽或单指宽) | W 相差整数倍,通常是多指合并方式不一致 |
| 网络命名 | net 名称列表 | 关键网络有可读名称(VDD、CLK 等) | 大量 N_xx 自动编号,说明文本层未生效 |
| 端口列表 | port 列表 | 数量与名称与原理图一致 | 端口缺失或名称大小写不符 |
| 悬空节点 | 单端连接网络 | 无悬空源漏、无未打孔阱 | 存在只连一个端子的网络,多为漏打孔或误连 |