PNS相关

24 篇文章 96 订阅
  1. power ring:做TOP层才会用到吧;
  2. power mesh:一般指上层金属做成的power network,例如 M7、RDL;
  3. power straps: 条 带,指power net
  4. power rail:和site row重叠的power net ,T28一般专指M2(具体看工艺了)
  5. power net逻辑上的连接,采用 derive_pg_connection,这个命令只会认到DB库中有power定义的std,如果没有定义就可能认不到,DSS和OCC。以INV为例,有六个PIN,in\out\VDD\GND,还有VBP和VBN,VBP和VDD,VBN和VSS相连,起到偏置作用,具体等看到CMOS再说。
    PS:在UPF中要加derive_pg_connection -power_net VDD -power_pin VBP和derive_pg_connection -ground_net VSS -ground_pin VBN
    这样back bias power/ground pin 才能显示被连接。

PSE & OSE

PSE : ploy spacing effect
OSE : Oxide spacing effect
PSE、OSE 包括WPE 都可以理解为边缘器件的参数mismatch,一组器件放在一起,边缘器件的参数和性能相比中间器件会差很多,解决办法就是边缘添加dummy(假动作)。
在这里插入图片描述

图中所示,Gate A与GateB 周围POLY环境的不同便会导致PSE,65nm以下工艺,A和B参数差别会很大,加C作为DUMMY之后,B
和A周围POLY环境基本一致,参数也会较为接近。OSE原理也相近。
其实可以理解为扩散、注入等过程中,边缘浓度与中间会有很大的差别,所以需要周围加足够多的dummy,加的越多,中间器件的差别自然越小。

Physical only cell

well tap cells (井的龙头单元🤣)

一般库单元自带 well tap , (Nwell P-substrate N井和P衬底), 那么nwell 就会连接到VDD 而p-substrate就会连接到GND.
但是我们并不需要每个单元都有这样的结构,对于一个Nwell 也就是一整行,仅需要连接到一个VDD, 同理衬底也是,把整行中只保留一个VDD VSS,就会省下巨大的面积,所以才有了 tap_less 的库, 但是 仅有一个tap 会由于Nwell和substrate 的组织导致latch-up 的出现 我们会在一定距离内添加 well tap 单元来避免 latch -up效应

啥是latch-up
叫闩锁效应, 其最易发生在易受外部干扰的I/O电路处, 也偶尔发生在内部电路.闩锁效应是在电源和地之间 由于寄生的PNP和 NPN 双极性性的BJT相互影响而产生的一低阻抗通路。在无外界干扰未引起触发时, 两个BJT处于截止状态,collector 的电流是c-B 的反向漏电流构成,电流的增益非常小,此时的latch up 不会发生.
闩锁效应的产生机制:

  1. 输入输出的电压 (i/O的信号) 高于VDD 电压,芯片产生大电流 导致latch-up
  2. ESD 静电加压 可能从保护电路中引入少量地点载流子到井 或者衬底中 导致 latch-up;
    latch -up 的抑制方法:
    1.保持输入 低于芯片的最大额定值;
  3. 使用 oxide trench 和 掩埋氧化物 buried oxide 层 来隔离 nmos 和 pmos
    在这里插入图片描述
  1. 如果不能使用oxide trench(氧化物沟道) 可以使用 guard rings 多子 guardring : P + Ring 环绕Nmos 并接GND ; N+ring 环绕PMOS 并接VDD,使用多子保护环可降低Rwell Rsub 的阻值,阻止 多数载流子到基级; 少子guardring :制作在N阱中的N+ Ring环绕NMOS并接VDD; P+ Ring环绕PMOS并接GND。 使用少子保护环可以减少因为少子注入到阱或衬底引发的闩锁。
    在这里插入图片描述

啥是偏置?
给PN 节一个正向偏置电压,或者反向偏置电压. PN 结 会呈现不同的状态; 正向偏压 也就是 P接 正极 N接负极, PN结是开启的状态,反之则是关断的状态.

2. DEcap cells

decap : decoupling capacitor (解耦电容)在CMOS电路运行过程中,信号的不断变化可能会导致电源电压的不稳定。这可以视为稳定的直流电压(DC)上加了一个交流(AC)干扰电压。如果在电源的Power和Ground之间接入一个适当大小的capacitor,利用capacitor的通交流阻直流的特性,可以平缓电源电压的波动。它自身没有逻辑功能。Decap Cell通常放置在row的两端,或者hard macro的附近。

3. endcap

添加endcap cell主要是为了避免或者是缓和PSE,OSE所造成的影响,意思就是不能让poly和OD周围太空旷,不对称,密度太低。主要是从DFM上考虑的。按理说所有core区域的macro 都要包一圈endcap的,以保护其他周围区域的stdcell的 性能。

这里也在延伸一下,那就是关于设计中的单元的问题。一般来说,后端place实现的过程其实就是对于网表中的标准单元的进行摆放的一个过程,这里的单元有很多需要我们我们自己去规划,有像时序紧张的触发器需要提前去预摆、一些宏单元需要我们在floorplan阶段去根据飞线去先确定他们的位置等等。后续的话,工具就会根据人为设置的摆放约束,timing-driven si-driven等去进行一个合理的位置摆放。这其中工具也会去对一些单元进行优化,包括像单元的删除和添加的操作。最后才可以得到摆放完成的初步设计。

当然还有些单元也是充当着类似于physical only 单元的左右,他的输入连接到TIEHI TIELOW,不需要的时候仅仅充当一些纯粹的物理单元,只有的用的时候才会成为正式的标准单元,那就是ECO CELLS。

4. Corner & Power IO

1)添加IO CornerIO Corner的作用是连接芯片拐角处两边的IO Pad,连接衬底以及衬底以上的各个层,使得IO Pad内部的电路形成一个电源地的供电环路。同时也使它们的衬底、阱等各个层连续,不至于出现DRC的违反,如图1所示:

只要在“Reference cell”后边选择相应的参考单元并在“Newcell names”中填写创建的Corner的名字,点击OK即可,如图2所示。
在这里插入图片描述

添加IO Corner
2)添加为Core供电的IO(VDD VSS)
3)添加为IO供电的IO(VDD_IO VSS_IO)
注意,IO Corner是不用围成环的,甚至IO Corner都不是必须的!但是给Core和IO供电的IO是必须的。当芯片只有一边有IO时,或者只有芯片的对边有IO时,此时为了节省芯片面积,不需要IO Corner。如图3所示:
在这里插入图片描述

图3 芯片1边和2边(对边)有IO的情况,此时不需要IO Corner但是对于含IO的边都需要添加一组VDD_IO和VSS_IO来给IO供电。对于右边那种情况,如果用IOCorner将其连接起来的话(面积牺牲比较大,一般也不会这样做),在不考虑IO上的功耗的情况下,只需要一组VDD_IO和VSS_IO就可以了,而非两组。对于相邻两边含IO或者三、四边含IO的情况,一般在拐角处都会加上IO Corner,如图4所示:
在这里插入图片描述

图4 芯片2边(相邻),3边和4遍有IO的情况需要IO Corner这里以4边都含IO的设计为例进行讲解,因此四个拐角处都需要添加IOCorner,如图5所示:
在这里插入图片描述

图5 最常见的芯片4边都有IO的情况
步骤1)2)3)的tcl命令为:

create_cell {CORNER1 CORNER2CORNER3 CORNER4} {PCORNERRN}
create_cell {VDD} PVDD1RN  }
create_cell {VSS} PVSS1RN
create_cell {VDD_IO} PVDD2RN
create_cell {VSS_IO} PVSS2RN 

该例子中分别给Core和IO只添加了一组供电的IO,但是在实际项目中,需要考虑Core的功耗以及IR-drop来决定需要几组VDD和VSS以及它们的分布情况。同样需要考虑IO的功耗以及IO上的电压降来决定需要VDD_IO和VSS_IO以及它们的分布情况。
D
在这里插入图片描述

well ties & substrate ties

在《集成电路版图甚础》里这样形容Well Ties和Substrate Ties:

Rule of Thumb: There is no such thing as too many tie-downs.
Rule of Thumb: Wherever there is any spare space in an N well, put in a well tie. Wherever there is any space in the substrate, put in a substrate tie.
Rule of Thumb: Place your well ties and substrate contacts before you do any wiring.
其中一种放置ties的策略就是规定每隔一定间距,就需要放置一个well contact和substrate contact。所谓tap cell就是用来实现这一目的的。
设计上也可以直接把well tie集成在标准单元中,这种情况就不需要单独的tap cell了。

实践中,tap cell在floorplan阶段就应该放置好了。在IC Compiler中,可以用命令add_tap_cell_array和insert_tap_cells_by_rules来实现。

下图是一个tap cell的FRAM View视图。中间绿色的部分是“冗余”的poly。

create_power_starps

撤销是 create_power_straps -undo
创建 core 内部的 高层电源网格
create_power_straps
    -direction #指定strap的方向
    -start_at # 指定第一条strap 的起始位置
    -layer # 指定使用的金属层
    -width # 金属的宽度
    -configure #配置 有五种配置分别是 
    group_and_step 通过指定-unm_groups 选项的group的数量,以及 -step 选项指定的间隔距离 此选项是默认的configure
    groups_and_stop 指定stop point(停止点) 通过停止点 自动计算straps 的间距;
    step_and_stop  通过间距和停止点 来放置straps 通过这两个信息自动计算 group的数量
    rows 在标准单元的区域上创建strap 工具会自动决定strap的位置;
    #当设置为 rows 模式 时 vertical的strap 可能会连不上 power  ring;
    macro  创建straps over the macro cell pins 工具会自动决定strap的位置
    -num_groups 
    #指定strap组的数量,在使用step_and_stop的模式时不要使用这个选项 ,默认值为1;
    -step
    #相邻组的距离 正值 负值都可使用
    -stop
    #指定停止的位置 默认是0 ;
    -pitch_within_group
    #这是 组内 金属线之间的距离 当然 在tech 库中有最小距离 当你设置的值比这个值小时会无效, SMIC 180 可设置为2 ;
    
    

查看 voltage drop map

之前需要 PNS 一下 会生成一个 .pns 的文件 才能查看 voltage drop 的hot point map

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

旺旺脆兵兵

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值