1. LVS基础概念:什么是LVS、LVS在芯片设计流程中的位置、LVS与DRC的区别与联系

各位同学好,我是老张。今天咱们聊聊LVS——这个让很多新手又爱又恨的东西。说实话,我刚入行那会儿,觉得LVS就是个“找茬工具”,后来才明白,它其实是芯片设计的最后一道防线。

1.1 什么是LVS?

LVS,全称Layout Versus Schematic,中文叫“版图与电路图一致性检查”。说白了,就是检查你画出来的版图,跟设计好的电路图是不是一回事。

你想想看,电路图里画了一个反相器,版图里也画了一个反相器。但问题是——版图里的管子尺寸对不对?连线有没有接错?电源地有没有短路?这些肉眼很难看出来。LVS就是干这个的。

核心逻辑:LVS从版图中提取出晶体管、电阻、电容等器件,以及它们之间的连接关系,然后跟电路图(网表)做比对。如果完全一致,就通过;不一致,就报错。

我记得有一次,一个同事画了个简单的与非门,DRC跑得干干净净,结果LVS死活过不去。查了两天才发现,他把两个PMOS的源极接反了。嗯,这种低级错误,LVS一抓一个准。

1.2 LVS在芯片设计流程中的位置

LVS不是孤立存在的。它在整个芯片设计流程中,处于后端验证的关键环节。我习惯把流程分成三个阶段:

  1. 前端设计阶段:写RTL代码,做功能仿真,综合出门级网表。
  2. 后端实现阶段:布局布线,生成版图。
  3. 物理验证阶段:跑DRC、LVS、ERC、ANT等检查。

LVS就在第三阶段,而且是流片前的最后一道硬性检查。为什么说是“硬性”?因为LVS不过,流片就是送死。我见过一个项目,因为LVS没跑干净就急着tape out,结果回来芯片全废了——电源和地短路,直接冒烟。

个人经验:我建议在布局布线过程中,每完成一个关键模块,就提前跑一次LVS。别等到最后才跑,那时候一堆错误,改起来想死的心都有。

你可能会问:为什么不在前端阶段就做LVS?因为那时候还没有版图啊。LVS必须等版图画完才能做。所以它天然就是后端流程的收尾工作。

1.3 LVS与DRC的区别与联系

很多新手分不清LVS和DRC。我刚开始也犯过糊涂。其实很简单:

检查项 DRC LVS
检查对象 版图几何图形 版图 vs 电路图
检查内容 线宽、间距、包围等 器件类型、尺寸、连接关系
通过标准 符合工艺规则 与电路图完全一致
错误类型 几何违规 逻辑/电气错误

DRC检查的是“画得对不对”——线宽够不够宽,间距够不够大,有没有违反工艺规则。LVS检查的是“画得对不对路”——电路功能是不是跟设计一致。

举个例子:你画了一条金属线,宽度只有0.1微米,但工艺要求最小0.18微米。DRC会报错。但如果这条线宽度足够,却连错了地方,DRC不会管,LVS会报错。

避坑指南:我曾经遇到一个项目,DRC跑得干干净净,LVS也通过了,但芯片回来还是有问题。后来发现是ERC(电气规则检查)没做——电源域之间有漏电路径。所以记住:DRC+LVS+ERC,三者缺一不可。

它们之间也有联系。很多EDA工具会把DRC和LVS集成在一起。比如华大九天的工具,你可以在同一个界面里跑DRC和LVS。但底层逻辑完全不同——DRC是几何运算,LVS是图论匹配。

我个人习惯是:先跑DRC,再跑LVS。为什么?因为DRC错误会导致LVS提取的版图网表不准确。比如一条线被DRC报出短路,LVS提取时可能就识别错了。所以顺序很重要。

1.4 知识体系总览

下面这张图,是我自己画的LVS知识体系框架。你可以看到,LVS不是孤立的技术点,它跟版图设计、电路设计、工艺规则都紧密相关。

LVS知识体系框架 LVS基础概念 定义 · 位置 · 作用 LVS比对流程 提取 · 比对 · 报告 LVS vs DRC 区别 · 联系 · 顺序 版图提取 网表比对 错误分类 数据准备 运行设置 结果分析 几何规则 电气规则 ERC检查 LVS是连接前端设计与后端制造的桥梁 确保版图与电路图功能完全一致 三者相互关联,但各有侧重,缺一不可 建议学习顺序:DRC → LVS → ERC

这张图里,我把LVS拆成了三个维度:基础概念、比对流程、以及与DRC的关系。你仔细看,每个维度下面还有子项。比如“版图提取”是LVS的第一步,也是最容易出错的一步。我见过有人因为提取设置不对,导致LVS报了上百个假错。

一个小建议:刚开始学LVS,别急着跑复杂的全芯片。先拿一个反相器练手,再试与非门,最后跑标准单元库。循序渐进,才能把基础打牢。

好了,这一章的内容就到这里。LVS的概念听起来简单,但真正用起来,坑多着呢。下一章咱们会深入讲LVS的比对流程,包括怎么提取版图网表、怎么设置比对选项。到时候我会拿华大九天的工具,一步步演示给你看。


公众号:蓝海资料掘金营,微信deep3321