LVS原理

作者: 飞奔的大虎 | 来源:发表于2022-02-24 10:04 被阅读0次

LVS 原理

LVS(Layout Versus Schematics) 是物理验证中非常重要的一个步骤。它是用来检查设计的 Layout 是否和 Netlist 是否一致。其本质就是对比两个 Netlist 是否一致。工具将 design 的 layout 抽取出其对应的 spice netlist,然后和 source 的 netlist 进行比对。因此,对于同一个 GDS,做 LVS 时只需要第一次抽取一次 netlist 即可(无需每次都通过 GDS 抽取 netlist)。物理验证 LVS 的流程图如下图所示。

从流程图中可以得知,在做 LVS 前,我们需要以下数据:

Post-layout 的 GDSII design.gds

Post-layout 的 PG Netlist design_pg.v

LVS RUNSET

在应用 calibre 跑 LVS 之前,应该先在 ICC/ICC2 中验证 LVS,主要检查 design 中的 short 和 open。同时也需要 check pg 是否有 floating(floating pin 需要 fix,而 floating shape 则可以不用管)。

主要命令如下:

verify_pg_nets

verify_lvs -max_error 100 -check_short_locator -check_open_locator -ignore_floating_port -ignore_floating_net

check_lvs -checks {short open} -max_errors 100

如果 ICC/ICC2 中 LVS 都过不了(即可能存在 short 或者 open),务必先在 ICC/ICC2 中将 short,open 全部清干净后,再进行物理 signoff 工具 calibre 的 LVS check。

正常情况下,如果 ICC/ICC2 中均无 short 和 open,则说明 design 的 LVS 基本上就没有太大问题。如果验证后 calibre 中仍然有错误,主要有以下几种情况

Text 可能没打对或者没打全 (比如某些 PG 可能是孤立的,并没有和其他连成一个整体 power network)。此处提一个个人觉得比较重要的点,virtual connect 要慎用。

PG netlist 中可能包含某些没有 device 的 instance,比如普通 filler cell,TCD 等 physical only cell。

LVS 数据准备

Merge gds

ICC/ICC2 导出的 design.gds(不含标准单元),需要将 design 中用到的 cell(比如 IP ,IO 和 Memory 等)的 gds 全部 merge 进去,产生一个 design_merge.gds。gds merge 工作可以在 calibre 或者 virtuoso 中实现。

产生 spice 格式的 pg netlist

利用 calibre 自带的 v2lvs 命令,可以将设计的 design_pg.v 转换成工具识别的 spice netlist。

v2lvs -v design_pg.v -o design_pg.spi

同时,还需要将 design 中用到的 cell(比如 IP, IO 和 Memory 等) 的 spice 网表,include 到 design_pg.spi 中去。这些 spice netlist 通常是 foundary 或者 vendor 提供的,一般是 spi 或者 cdl 格式的文件。

常见 LVS 错误案例

Spice netlist file error

这种情况 LVS 报告提示 “NOT COMPARED”。通过查看 LVS 报告 lvs.rep 得知,因为 source 的 spice 网表存在错误,工具没有读取成功(比如某个 ip 的. spi 文件不存在或者路径不正确)。

LVS Port name 不一致

这种情况可能是由于 TEXT 打的方式不正确,比如少打 TEXT,或者 TEXT name 不对。

LVS OPEN

很多时候我们是一边在做 timing fixing,一边做 DRC 检查。在做 timing fixing 和 DRC Fixing 阶段,我们可能要做一些 ECO 或者要进行 manual 的 DRC Fixing。一旦有 manual 的操作,就存在出现错误的可能性,比如将某条 net 开路了。(正常情况下工具 eco route 后均不可能存在 open 的情况)。

通过 RVE load LVS 的 SVDB 文件,可以清晰看到 LAYOUT 上有两条 NET,对应 SOURCE 上却只有一条 NET。此时可以 Highlight NET283 和 NET504,进一步确认是否是这两条 NETopen 的情况。同时根据 lvs.rep 文件,我们也可以清楚看到 LAYOUT 上确实多了一条 NET(只需查看 AFTER TRANSFORMATION 部分)。

LVS SHORT

出现 short 一方面是由于本身 ICC/ICC2 route 后本身就存在 short 而没有去 fix 掉。另外一方面可能是在 fix DRC 的过程中不小心导致的 short。如果是实际 layout 上存在 short,则表现为 LAYOUT 上的一条 NET,对应到 SOURCE 则有两条 NET。

通过 RVE load LVS 的 SVDB 文件和 lvs.rep 文件均验证了我们的猜测。同样我们可以 Highlight 出 NET283,通过 trace 得知确实是 LAYOUT 上的两条 NETshort 在一起导致了 LVS 错误。

Device type mismatch

利用 LVS RVE 寻找 bad component subtype error,可看到 RVE 所描述 layout 部分 Device type 为 MP§,而 SOURCE 上所描述 layout 部分 Device type 为 MP(PD )。因此说明该 device 在 LAYOUT 和 SOURCE 上 Device type 不匹配。

可利用 RVE 去 Trace Layout view 中 X3300/M1(12.860,64.820) 的位置做进一步 debug 。

Property ERROR

利用 LVS RVE 寻找 Property Error 中 Discrepancy 的部分,可看到 RVE 所

描述 layout 部份 MP§ w:0.9u,而 source 部分 MP§ w:9u,说明 layout 和 source 在此 MP§ mos 的 width size unmatched。

这种 Property error,有时候是可以 waived 的,具体情况需要与 fab 或者 vendor 确认。

Power ground open and short

点击 RVE 界面左侧 “Shorts Database”,选中 short 位置,进行 Highlight cluster 操作。通过定位发现是打 Power 时 VDD 和 VSS 短路了(VIa2 多打了一部分导致 short)。

LVS 杀手锏

熟悉 design 中各个 power domain 划分和工作机理

Design 中各个模块 derive pg 正确

对需要打 TEXT 的 PG NET 打上正确的 TEXT

GDS Rename(比如 Vendor 提供的 IP)

对 Netlist 进行文本处理

Debug 错误能力

原文链接:https://blog.csdn.net/weixin_37584728/article/details/116888825

相关文章

  • LVS三种模式的工作原理

    本文主要包括LVS三种模式的基本工作原理介绍和可能涉及的ARP问题原理。 1、LVS简介 1.1 LVS起源 LV...

  • LVS

    本篇不讲原理,原理可以直接看官方文档,因此没必要做过多赘述。LVS中文文档(原理)LVS英文文档(原理及配置) 2...

  • LVS-NAT原理介绍和配置实践

    前言 本文主要讲述LVS-NAT原理介绍和配置实践,HA高可用方案基于Keepalived。 LVS-NAT原理介...

  • LVS-TUN原理介绍和配置实践

    前言 本文主要讲述LVS-TUN原理介绍和配置实践,HA高可用方案基于Keepalived。 LVS-TUN原理介...

  • 2022-02-16

    LVS原理介绍 LVS是什么? LVS,全称Linux Virtual Server,是国人章文嵩发起的一个开源项...

  • LVS-DR原理介绍和配置实践

    前言 本文主要讲述LVS-DR原理介绍和配置实践,HA高可用方案基于Keepalived。 LVS-DR原理介绍和...

  • LVS原理篇:LVS简介、结构、四种模式、十种算法(转)

    LVS原理篇:LVS简介、结构、四种模式、十种算法 LVS是Linux virtual server的缩写,为li...

  • LVS负载均衡面试题

    LVS负载均衡1.lvs 原理LVS通过工作于内核的ipvs模块来实现功能,其主要工作于netfilter 的IN...

  • LVS原理

    参考: https://blog.csdn.net/lcl_xiaowugui/article/details/8...

  • LVS原理

    LVS 原理 LVS(Layout Versus Schematics) 是物理验证中非常重要的一个步骤。它是用来...

网友评论

    本文标题:LVS原理

    本文链接:https://www.haomeiwen.com/subject/pyxckrtx.html