Spare Cell和ECO Cell的区别和具体实现方法

Spare Cell和ECO Cell的区别和具体实现方法

Spare Cell
Spare Cell是在pre-palcement阶段(或RTL阶段就例化进去)需要提前插入的冗余逻辑单元。在比较老的工艺节点中,往往没有提供ECO Cell,所以那时候用的比较多的就是使用spare cell来做Function ECO。

当我们发现设计中有一些设计缺陷需要做postMask ECO发生时(芯片Tapeout后),修改逻辑单元是通过使用spare cell实现的,这种方法不需要修改任何bask layer ,只需要修改metal layer就可以实现逻辑关系修改。

为了确保做function ECO 时有足够多逻辑功能cell可用,我们一般建议使用若干种能够搭建出大部分逻辑功能的cell。
所以spare cell一般包含基本的standar cell ,比如inverter, buffer, nand, nor, and, or, xor, mux, FF等等。spare cell在不使用的情况下,没有任何逻辑功能,类似于Filler。它的输入和输出pin都没有接任何逻辑!

因此,spare cell的input pin需要通过tie cell连接到VDD或者VSS,输出pin悬空即可。当需要修改逻辑时,断开input pin的连接,然后重新进行eco的连接。

如何插入Spare Cell?

这里分享T 28nm工艺中所用的Spare cell insertion Flow。大家在自己的项目中可以根据这个来做一些调整和修改。

ICC2:

insert_sapre_cells -lib_cells {SDFD4BWP40P140 SDFD4BWP40P140 AN4D8BWP40P140 AN4D8BWP40P140 OR3D4BWP40P140 OR3D4BWP40P140 XOR3D2BWP40P140 XOR3D2BWP40P140 MUX3ND2BWP40P140 MUX3ND2BWP40P140 BUFFD2BWP40P140 BUFFD2BWP40P140 BUFFD2BWP40P140 BUFFD2BWP40P140 INVD8BWP40P140 INVD8BWP40P140 INVD8BWP40P140} -cell_name spares -num_instance 4 -tie -skip_legal
spread_spare_cells\
-bbox {{10.8 20.3} {40.4 50.1}} [get_cells spare*]

Innovus:

createSpareModule  -cell  {SDFD4BWP40P140 SDFD4BWP40P140 AN4D8BWP40P140 AN4D8BWP40P140 OR3D4BWP40P140 OR3D4BWP40P140 XOR3D2BWP40P140 XOR3D2BWP40P140 MUX3ND2BWP40P140 MUX3ND2BWP40P140 BUFFD2BWP40P140 BUFFD2BWP40P140 BUFFD2BWP40P140 BUFFD2BWP40P140 INVD8BWP40P140 INVD8BWP40P140 INVD8BWP40P140} -moduleName spare_cell_module

placeSpareModule -moduleName spare_cell_module -stepx 100 -stepy 100 -util 0.6

Spare Cell or ECO Cell?

从上面介绍我们知道Spare Cell其实就是一个具备特定逻辑功能的标准单元,只不过我们并没有把它的input和output做任何逻辑连接。所以在数字IC后端实现中我们需要对Spare cell的input做tie 0或tie1处理。这里就意味着这些spare cell的input pin都需要做绕线,连接到tie cell上。后续做function eco时需要把用到的spare cell的input net断开并把这部分net shape删掉。所以整体处理起来会比较麻烦。

ECO Cell是foundary提前把base layer都做好,金属连接并没有做好,后续可以根据实际的function需求来替换成我们设计所需要的工艺库中的Function ECO Cell。所以这个ECO cell是一种特殊的Filler Cell,它不需要做tie1或tie0的操作,只不过它的base layer和后续的Function ECO cell是一样的。

但使用ECO Cell会改动到Contact这一层(CO层)base layer。当然metal layer改动和使用spare cell是一样的,需要根据实际项目的eco需求最终确定需要改动多少层metal layer(绕线和ECO cell替换成Gcell function cell所用的metal layer)。

点击我,你将了解更多关于ic相关的知识或ic相关的业务需求

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值