Spare cell

Spare cell,第1张

像它的名字一样,spare cell就是备用的cell。 简单来说,就是每块地方洒一些类似SDFF,NAND,AND,XOR,INV等的备用cell, 为以后做function eco和metal eco用。

流片过程是先光刻base层和M1层的片子,这个是最贵的,这个需要一两个星期。这段时间,要是验证过程中发现了func和metal error,就改变M2以及以上金属层的连线,连接备用cell去修。代工厂再给你做M2以及以上金属层的片子。这样就可以不需要修改place,只改指定metal的routing就可以了。

一般Foundry会提供一种服务,允许客户在量产工艺加工进行到某个阶段的时候,让部分wafer暂时停止,而部分wafer继续加工。这样的话,客户可以在加工到poly层时(后面的金属层还没有做),停止大部分wafer的进程,而让少量wafer继续加工到完成,然后对这些已完成的wafer上的die进行测试,如果发现有功能或时序上的问题,就可能通过预先布在die上的 Spare cell来解决。只是改动几层金属层光罩就可以完成standard cell重新连接,而不用改动standard cell的布局(要改poly层之前的所有光罩)。那些暂停加工的wafer这时就可以用新的金属层光罩往后加工,于是在silicon和光罩两方面都降低了成本。

有时为了验证重连金属是否真的能解决问题,会在前面提到的先一步加工完的有问题die上进行FIB(Focus Iron Beam) *** 作,能够在不影响其它金属布线的前提下,打断有问题的金属连接,建立金属连接到合适的spare cell上,然后在测试die,如果再没有其它问题的话,就说明之前的金属重连接方案是可行的,这时再重新做金属层光罩就会更有把握些。

然而,要能进行FIB就必须在tapeout前对spare cell的金属连线方式做特殊处理。一般我们都把spare cell的输入输出端逻辑上接VSS,这样在后端工具自动布线时就会将spare cell的输入输出pin接到临近的VSS rail上,而rail是metal 1,对于FIB而言,这个连接太深了。为方便更改连接,还是应该让从spare cell输入输出pin引出的金属线连接到顶层金属层上。

使用方法

add_spare_cells

add_spare_cells -cell_name spare1 -lib_cell {AND2 OR2} -num_instances 250

原文链接:https://blog.csdn.net/Tao_ZT/article/details/102456746

icc的 spare cell flow如下:

1. insert_spare_cells -tie , 这样输入pin 全是自动tie 到 SNPS-LOGIC0/ SNPS-LOGIC1上,

用下 derive_pg_connections -tie,这个自动会变成tie net,

后面用 connect_tie_cells , 所有的pin就 tie 到 tie cell上了,

2. spread_spare_cells 均匀分布,然后legaliz_placement ,

出的verilog 自动带spare cell的,因为他们连到tie cell了,

icc的insert_buffer很好用啊,自动创建net,cell,而且是

自动放在加的pin的旁边,不需要了另外指定,

然后route的时候肯定能route的, 你可以加完了 查下 net connecttion,

icc write verilog port顺序我重来没关心过,这个不重要,

也从来没有FE说这个port顺序重要,

icc很好用的,估计你现在在从edi转到icc,很多不适应 我也理解

1、spare cell

备用cell,共流片时进行function eco和metal eco使用。

使用方法:

add_spare_cells

add_spare_cells -cell_name spare1 -lib_cell {AND2 OR2} -num_instances 250

2、level shifter

电平转换单元。该单元主要用于多电源多电压(MSMV)技术中,它通常不具备逻辑功能,只是用于不同电压值的Voltage Area之间的信号电平的转换。[2]

set_level_shifter shifter1_va1 指定level shifter的添加rule,相当于前缀名称

-domain VA1 指定Voltage Area

-applies_to input 指定level shifter在voltage area的input还是output

-source ss_top 指定supply set名字

-location parent 指定level shifter的放置位置,parent代表放在driver pin的父module

3、isolation cell [3]

通常用于电源关断技术(PSO)和多电源多电压技术(MSMV)。起到不同电压域之间的电压钳制和隔离作用。iso cell 有一个控制端 EN, 当 EN 无效时, A 端信号直接送到 Y 端,此时 iso cell 等效于一个buffer;当 EN 有效时,buffer 断开,Y 端保持固定的高电平或者低电平;上面这种 iso cell 有两组 power: primary power VDD 和 backup power VDDB,当 左边domain 关掉时, VDD off,此时就由 VDDB 供电,维持 Y 端的固定电平。

使用方法:

insert_mv_cells

4、filler cell

单元库中与逻辑无关的填充物,可以分为IO filler以及普通的standard cell filler。

(1)IO filler,也叫pad filler,通常用来填充IO单元与IO单元之间的空隙。为了更好的完成power ring,即ESD之间的电源连接。通常是在floorplan阶段添加。

使用方法:

create_io_filler_cells

create_io_filler_cells -reference_cells FILLER

(2)standard cell filler

为了填充std cell之间的空隙。主要是把扩散层连接起来满足DRC规则和设计需求,并形成power rails。在route前后添加都可以。

使用方法:

create_stdcell_fillers

create_stdcell_fillers -lib_cells {mylib/FILL_2X mylib/FILL_1X}

5、delay cell

延迟单元。常用于datapath,相比较与buffer,可以添加更多的delay,用来修复hold timing。

6、buffer cell

作用同delay cell,用来增加延时。相比较于delay cell,驱动能力更强,但是添加的delay更小。因此大的slack可以使用delay cell,较小的用buffer cell。

7、corner cell

boundary cell中的一种,which fill the empty space between horizental and vertical end-cap cells.

8、antenna cell

9、end-cap cell

end-cap cell are typically nonlogic cells such as a decoupling capacitor for the power rail.

原文链接:https://blog.csdn.net/hepiaopiao_wemedia/article/details/99701548


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/bake/11423785.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-16
下一篇2023-05-16

发表评论

登录后才能评论

评论列表(0条)

    保存