热度 22| |
先看一张CMOS工艺截面图(原图出自Wikipedia关于latch的文章)。最左边n-well->n+->contact->Vdd metal构成NWELL tap。最右边p-substrate->p+->contact->gnd metal构成p-sub tap。这个截面图对应的是最基本的CMOS工艺。有的工艺在NMOS区域做一个PWELL,p-well->p+->contact->gnd metal构成PWELL tap。建立NWELL tap, p-sub tap/PWELL tap的主要目的是防latchup,这里就不赘述了。
如果标准元设计遵循上述结构,每个标准元内部都自带NWELL tap, p-sub tap/PWELL tap,那这个标准元库就不需要专用的well tap cell。
有的库标准元设计中省掉了NWELL tap, p-sub tap/PWELL tap,同时库里专门做一个well tap cell,名字五花八门,TAP*,FILL_TAP*… 。这种标准元库称之为tapless库。做后端设计时standard cell row每隔一定的距离就要加一个专用的well tap cell,由这个well tap cell给左右两边的其他标准元提供一个共享的NWELL tap, p-sub tap/PWELL tap。
Innovus使用addWellTap这个命令加well tap。具体参考手册。
如何判断一个标准元库是否tapless
如果使用TSMC的标准元库,可以根据库的名称或标准元的名称来判断。例如下面这个cell,名字中的BWP就代表了tapless。
IOA21D1BWP12T20P90HVT
IOA - Prefix
21 - Input configuration code
D1 - Drive
BWP - Tapless, BW for tapless with VPP/VBB cell architecture
12T - Track number
20 - Gate length
P90 - Poly pitch (nm)
HVT - Theshold
看一个标准元的layout也可判断是否内部已经有了tap,例如下面这个INV cell的layout。直接看有时不容易判断,后面分享一些小技巧。
我的小技巧是只打开NW(NWELL)和NP(N+),看看有没有重叠。这个INV cell的NWELL和N+显然是有重叠的,在接近顶部的地方。
再打开CO(contact)和M1,就可以看到完整的NWELL->N+->contact->M1 metal构成NWELL tap。P-sub/PWELL tap也可以用同样的技巧快速确定。
至此,就可以确定这个标准元是自带well tap的,后端设计中不需要加专用的well tap cell。
同样的技巧也可以很快地判断标准元是否是tapless。例如下面这个cell的NWELL和N+根本没有重叠,不可能构建NWELL tap,这个标准元就是tapless。
顺便可以看一下这个tapless库里专用的well tap cell长什么样子。这个专用的cell的结构其实就是NWELL->N+->CONT->M1(VDD), 加上p-sub->P+->CONT->M1(GND)。
好了,希望well tap不再神秘。