0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

探讨一下std-cell在LVS的特殊处理

sanyue7758 来源:艾思后端实现 2023-06-27 09:27 次阅读

对于物理验证中的LVS,需要对各种物理器件进行SpiceVsGDS的比对,基于现在流行的std-cell的库的设计方法,LVS需要对CMOS器件多相应的处理,这里会涉及到一些具体的物理库的知识和小的技巧,这里结合具体的物理设计和CDL形态,一起探讨一下std-cell的在LVS的特殊处理,ICer GO!

标准单元库一瞥

常规的标准单元库(std-cell)是标准的CMOS设计,由于采用P衬底的设计出来的CMOS器件的速度优势,目前业界流行的做法就是采用P型衬底(P substrate)来实现的

NMOS 直接坐在P-sub上

PMOS 则做在P-sub上的NWELL

譬如下面的一个简单的工艺刨面图

bfc39ce6-1431-11ee-962d-dac502259ad0.png

以上边的NMOS为例,通常有更为常见的是下面的一个示意图

bfdbefee-1431-11ee-962d-dac502259ad0.png

比较上述两个图,可以看到,每一个NMOS都会有一个bulk(体)的连接(有些场合也被称作body)

c001a40a-1431-11ee-962d-dac502259ad0.png

在NMOS里边,这个bulk的作用就是将当前NMOS的P-sub做一个连接,通常P-sub是连接到VSS上的。

如果芯片里边有非常多的std-cell连续分布(这个也是常规做法),那么在版图里边就会有类似下列的一个刨面图:

c02b20aa-1431-11ee-962d-dac502259ad0.png

由于所有的NMOS都是做在一片完整的P-sub上,自然NMOS的BULK需要连接到同样的电位VSS上,这里就是模拟设计里边常说的TAP 结构了。

可以看到,这个TAP结构完全是一个通用结构,为了节省std-cell的面积,目前业界比较流行的做法就是设计tapless(免TAP)的std-cell,然后使用公用的TAP cell将bulk连接到VSS上,这样对于节省std-cell的面积很有好处,但是考虑到TAP的电位对于std-cell的bulk的影响,工艺会给出具体的TAP的间距(目前流行的做法是checkerBoard/stagger的做法),APR工具为也提供了具体的命令和参数,支持std-cell的这种设计结构。
通过学习std-cell的形态,可以明确下列要点

**- std-cell都是tapless的结构

bulk需要使用TAP cell 分别将同列的std-cell的P-sub和NWELL分别连接到VSS和VDD上**

LVS的挑战

由于bulk在std-cell上PG和信号连接上是没有明显贡献的,对于使用none-bias的流程的std-cell,通常是无法在std-cell看到这个bulk的管脚的,譬如下面LEF的示例:

c04c8e02-1431-11ee-962d-dac502259ad0.png

可以看到,这里有PG管脚的声明,但是没有声明bulk的管脚。

但是对于LVS而言,CMOS是一个四端器件,在验证栅源漏的同时,也需要完成对bulk的连接验证,这个也是符合APR的TAP的布局连接的。所以,这里需要打开CDL来一看究竟,见下图c0624986-1431-11ee-962d-dac502259ad0.png

可以看到,相较LEF而言,最后做LVS的CDL里边,会有bulk的连接描述。对于none-bias的std-cell而言,bulk的物理连接可以简单的连接到PG上,基本如下图


c09cb440-1431-11ee-962d-dac502259ad0.png


通常的LVS里边的source netlist是来自于APR工具,APR对于PG netlist的抽取,又是依赖于UPF和LEF的,所以综上,用户会遇到一种情形,LVS PG netlist对std-cell的描述会和最终的std-cell CDL出现分歧:source nelist的std-cell会缺失bulk连接声明,
c0cae55e-1431-11ee-962d-dac502259ad0.png

很明显,同样的cell在LVS的source netlist缺失了bulk的连接,这样的LVS的比对,会发生大面积的std-cell port mismatch error,是无法进行的

v2lvs的高阶用法

但是这个问题看起来有一些奇怪,既然LEF里边没有声明bulk,同时在none-bias的flow下,bulk也无法被引用,这样的LVS是不是就走到死胡同了吗?当然不是,这里还是要回归问题本真。

std-cell的bulk仅仅是需要一个连接声明,具体说来就是两类

P-sub的bulk连接到VSS上

NWell的bulk连接到VDD上

这个需要在LVS的source netlist处理一下就好(当然APR是没有这个魔法的)。

LVS的source netlist 通常是从APR的PG netlist得到的,但是由于LVS是基于spiec比对的,所以一个简单示意如下:

c0e6f71c-1431-11ee-962d-dac502259ad0.png


通常而言v2lvs就是简单的把verilog 转换成spice格式,但是bulk的处理需要一些高级的用法,尤其是当设计中使用了多个power domain的时候,譬如下面这个示例:


c10744a4-1431-11ee-962d-dac502259ad0.png


所以,对于处于不同层次/block的std-cell的PG连接就会不太一样,类似的bulk连接也会不一样,具体描述如下表

block PD power ground NWell P-sub
block1 PD1 VDD1 VSS VDD1 VSS
block2 PD2 VDD2 VSS VDD2 VSS

这种情形需要使用v2lvs的tcl模式进行细化处理,才能很好的将处于不同block的std-cell的 bulk连接处理完美

c120ca6e-1431-11ee-962d-dac502259ad0.png

上述命令可以在基于当前std-cell 的PG连接关系,衍生出对应的bulk的连接,会变成下面的情形

c13d7ab0-1431-11ee-962d-dac502259ad0.png


这样处理以后,LVS的std-cell的port mismatch也就完美解决了。






审核编辑:刘清

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • CMOS
    +关注

    关注

    58

    文章

    5707

    浏览量

    235375
  • LVS
    LVS
    +关注

    关注

    1

    文章

    36

    浏览量

    9934
  • VDD
    VDD
    +关注

    关注

    1

    文章

    311

    浏览量

    33178
  • VSS
    VSS
    +关注

    关注

    1

    文章

    35

    浏览量

    21434
  • NMOS管
    +关注

    关注

    2

    文章

    121

    浏览量

    5406

原文标题:物理验证LVS对bulk(体)的理解和处理技巧.

文章出处:【微信号:处芯积律,微信公众号:处芯积律】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    探讨一下,CRC校验的优势

    本帖最后由 ntmusic 于 2014-6-11 11:31 编辑 探讨一下,使用计算的2字节的CRC校验码和使用固定的2字节数据作为校验保证数据传输正确方面有什么不同?
    发表于 06-11 11:21

    探讨一下这个可行?

    电子元器件、打板PCB、探讨等等,既可以省钱也可以交到有想法有创意的朋友,供电子DIY爱好者方便DIY。欢迎各位坛友起讨论一下,尽可能的提出各种问题,待时机成熟时
    发表于 05-30 21:26

    请问lvs时怎么忽略电路的个器件或者cell

    lvs时怎么忽略电路的个器件或者cell
    发表于 01-01 07:42

    探讨一下关于STM32中的中断系统

    大大增加,而且中断的设置也更加复杂。今天就将来探讨一下关于STM32中的中断系统。1 基本概念ARM Coetex-M3内核共支持256个中断,其中16个内部中断,2
    发表于 08-17 08:29

    探讨一下深度学习嵌入式设备上的应用

    下面来探讨一下深度学习嵌入式设备上的应用,具体如下:1、深度学习的概念源于人工神经网络的研究,包含多个隐层的多层感知器(MLP) 是种原始的深度学习结构。深度学习通过组合低层特征形
    发表于 10-27 08:02

    探讨一下Vector架构AI领域的应用前景

    探讨一下AI领域的应用前景。这个分析会分为几个章节,首先介绍vector的历史。Vector这个概念是相对于Scalar提出的。最初的通用
    发表于 09-19 15:18

    非规则矩形电阻Calibre LVS中阻值提取

    本文首先介绍了Calibre LVS 的基本流程。分析了现有的LVS 过程中电阻版图阻值提取方法的优缺点基础上提出了种新颖的电阻的提取
    发表于 12-19 15:27 32次下载

    LVS处理可帮助设计师迅速完成出色设计

    设计开发过程中,设计师可以用 LVS 盒插件将标准单元或模块替换为指定的盒类型。 LVS 盒非常有用,当设计中含有尚未完成或尚未插入的 IP/宏单元,或者含有带仿真模型的已确立特征的单元时尤其如此。
    发表于 01-06 11:14 7次下载

    探讨一下三星的自动智能充电小车

    探讨一下三星的自动智能充电小车 这个产品是把二手的充电电池再配合个逆变器转成交流,然后给车辆的交流充电口进行充电,上面配置了个简单的激光雷达,配置了所在区域的路径规划,里面还有
    的头像 发表于 09-17 11:03 4379次阅读

    电磁炉加热一下就停一下什么原因及解决办法

    电磁炉有时会出现加热故障,现象是热一下一下在一下又停一下,基本隔
    发表于 03-18 09:02 27.5w次阅读

    电磁炉加热一下就停一下什么原因

    电磁炉加热一下就停一下什么原因。
    的头像 发表于 06-04 10:01 3.8w次阅读

    探讨一下关于贴片机使用过程中会遇到的问题

    当大家使用贴片机时,和使用任何SMT设备样,都可能会遇到各种的问题,所以为了更好的发挥贴片机的作用,大家必须要去更多的了解它,这里,托普科小编就跟大家来探讨一下,关于贴片机
    发表于 11-25 17:22 1654次阅读

    分享celllayout做LVS时被忽略掉的方法

    首先分享个让电路里面的某些cell可以layout做LVS的时候被忽略掉。因为有些电路对寄生的电阻电容之类的很敏感,所以可以在前仿的时候就加在电路里面,防止前仿跟后仿差别太大了。
    的头像 发表于 10-17 10:43 4212次阅读

    ARIB STD-T108 使用 AX-SFJK/AX-SFJK-API

    ARIB STD-T108 使用 AX-SFJK/AX-SFJK-API
    发表于 11-14 21:08 0次下载
    <b class='flag-5'>在</b> ARIB <b class='flag-5'>STD</b>-T108 <b class='flag-5'>下</b>使用 AX-SFJK/AX-SFJK-API

    物理验证LVS对bulk(体)的理解和处理技巧

    对于物理验证中的LVS,需要对各种物理器件进行SpiceVsGDS的比对,基于现在流行的std-cell的库的设计方法,LVS需要对CMOS器件多相应的处理
    的头像 发表于 06-14 14:41 1933次阅读
    物理验证<b class='flag-5'>LVS</b>对bulk(体)的理解和<b class='flag-5'>处理</b>技巧