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

    文章

    5163

    浏览量

    233397
  • LVS
    LVS
    +关注

    关注

    0

    文章

    35

    浏览量

    9860
  • VDD
    VDD
    +关注

    关注

    1

    文章

    301

    浏览量

    31923
  • VSS
    VSS
    +关注

    关注

    1

    文章

    31

    浏览量

    21331
  • NMOS管
    +关注

    关注

    2

    文章

    115

    浏览量

    5235

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

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

收藏 人收藏

    评论

    相关推荐

    探讨一下,CRC校验的优势

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

    集创发布新代触控芯片,全面支持On-cell和In-cell

    及In-Cell模组。可满足用户各种复杂环境和场景的触控应用中保持精准。  ICNT86系列产品是集创今年针对触控市场的款战略旗舰新品,创新型应用上取得了新的突破,定制化保护、真
    发表于 01-26 22:43

    探讨一下这个可行?

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

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

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

    探讨一下16通道恒流输出精度及计算   

    探讨一下16通道恒流输出精度及计算  
    发表于 06-03 07:17

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

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

    探讨一下关于电机轴承的数据集

    这篇和大家探讨一下关于电机轴承的数据集电机轴承的数据集目前较多采用的是CWRU(凯斯西储大学轴承数据中心)这是个针对于全球学者的公开数据集,下面给大家分享一下该数据集的获取
    发表于 09-08 06:52

    探讨一下机械硬盘为啥那么容易坏掉

    可能是开机状态轻微的搬动了一下机箱,可能引起了盘片的闪崩。本着学习与自我学习的态度跟大家起来探讨
    发表于 09-08 06:00

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

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

    探讨一下笔记本拔插电源黑屏问题

    最近电脑不知为什么,突然拔插电源的时候,屏幕黑屏闪一下,而后又正常。因为觉得没什么大问题,所以就没想着去探讨这个问题。今天发闲,想知道这个问题是什么原因导致的,顺带解决一下。现问题已
    发表于 12-30 06:55

    探讨一下ARM处理器的模式与异常处理

    ,这里的中断包括外部硬件产生的外部中断和由芯片内部硬件产生的内部中断。由中断产生的异常和其他异常,从处理方法的角度来看没有任何区别,所以我们可以把这些异常统起来研究。注意:正常情况
    发表于 04-20 10:33

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

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

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

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

    分享一个cell在layout做LVS时被忽略掉的方法

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

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

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