版图与原理图比对(LVS)
版图画完之后,你手里就有了同一个电路的两张图,它们必须对得上。一张是原理图,也就是网表——你心里想要的接线图,它写明了有哪些晶体管、每个端子又精确地接到哪条网络上。另一张是物理版图:一摞铺在不同层上的彩色多边形,真把它造出来,就是实打实的硅片。LVS 就是那个“成品对照蓝图”的检查,它只问一个直白的问题:你真正画出来的东西,连法跟你本来想画的东西,是不是一模一样?
工具没法光靠眼睛盯着多边形看,所以 LVS 第一步要做器件识别和连接关系提取。它一层一层地读版图——哪里有一条 poly 条压过扩散区,它就认出那是一个晶体管;哪里有金属、接触孔和过孔彼此相连,它就把这些碎片缝合成一条电学上的网络,像电流真正流动那样,在金属层之间上上下下地穿行。这样就从几何形状里直接抽出了第二份网表。接着 LVS 把两份网表当作图(graph)来比对,把两边的器件和网络一一对应起来,然后把每一处对不上的地方都标出来:短路(本该分开的两条网络,被一处多余的交叠并到了一起)、开路(一条网络被版图不小心断成了互不相连的两截)、接错或接错抽头的连接,以及缺失、多出或类型错误的器件。很多流程还会做参数检查,把每个晶体管画出来的宽度和长度,跟原理图所要求的值对照一遍。
LVS 处在物理验证(physical verification)这个阶段,在布线(route)之后、流片(tapeout)之前,跟 DRC 一起跑——DRC 问的是这套几何形状能不能被制造出来,LVS 问的则是它到底是不是那个对的电路。一块版图完全可以 DRC 干净,却仍然是错的,因为遵守了间距规则,丝毫说明不了网络 A 有没有真的接到它该接的那个栅极上。只有当 LVS 报出一个干净的匹配结果,你才敢相信:你交付出去的硅片,行为会跟你仿真过、也签核过的那份网表一致。
只有当从版图中提取出的网表,与原理图在器件和网络上一一对应时,LVS 才算通过;哪怕只有一处短路或开路,匹配就会失败,流片也会被卡住。
DRC 跑绿和 LVS 跑绿,是两个不同的承诺——DRC 说的是“这东西能造出来”,LVS 说的是“这就是你设计的那个电路”——版图要获准送去流片,这两项都得是干净的。