回复 110# davidxu_hl
Antenna Rule和Antenna Lef的关系 我们都知道,Antenna Rule是工艺规则要求金属不能太长导致击穿mos管而给出的一组约束,那么既然有了AntennaRule的规则文件,Antenna Lef有起什么作用呢?为什么IP模块一般都需要提供一个Antenna Lef的文件呢? 我们先从Antenna Rule的定义说起。
AntennaRule的基本原理是检查与Gate相连的某个Layer的面积与Gate的面积比值是否超过某个最大值,如果超过就认为违反了天线检查规则。其基本约束条件是:
Area(Layer) / Area(Gate)
>
f
如果公式计算结果大于f,则表示违反了天线规则。 天线检查根据面积计算不同的需求,可以设置不同的计算模式。
模式1.
Cumulative模式与Single Layer模式 假设检查M2的天线规则是否满足要求,在SingleLayer的模式下,其计算方法是:把M2的面积除以与其相连接的Gate的面积,如果面积比大于某个数值,则报错。如果是Cummulative模式,M2的面积计算方法是:把与M2连接在一起的M1的图形的面积加上M2的面积的总和作为面积标准,然后除以与M2有连接关系的Gate的比值。如果是M3的Cummulative模式,则需要把M3以及与其相连的M1, M2的面积之和作为面积计算标准。 注意在上图中,灰色图形的面积是不能累加的,原因是:工艺制作过程是自底向上的,2个M1的图形如果通过M2图形连成一个节点,它在制作M1图形时还是分属于不同的节点的,不能按照等节点去累加面积。图下图所示:
上图在计算Poly的面积时,虚线的Poly是不要计算在累加面积的,因为它是通过met1才连接到Gate图形上,当制作poly图形时,它还没有与Gate连接。 模式2.
Top Area模式与Perimeter Area模式 在计算面积时,图形的面积有Top Area和Perimeter Area模式两种,Top Area是指图形的长度与宽度的乘积的值,而Perimeter Area是指图形的侧面积,也就是图形的周长乘以厚度的值。 模式3.
Diode模式与非Diode模式 如果是与非Diode模式,约束条件的计算公式为:
Area(M1)/ Area(Gate) >
f
其中f是一个工艺参数。 如果引入了Diode的模式,约束条件的计算公式修改为:
Area(M1)/ Area(Gate) >
K *Diode(area) + Bonus
其中Diode的定义是:N有源区或者P有源区内没有与Poly相交的图形,这个图形与Gate有连接关系;Diode(Area)是指与Gate相连的Diode的面积,K是Diode的Multiple Factor,而Bonus是指Diode的Bonus值。 以上解释了Antenna Rule的基本含义,那么,AntennaLef的用途是什么呢?Antenna Lef是用来解决IP和全芯片之间Antenna信息传递的文件。一个IP是一个黑盒子,用户有时并看不到IP的layout,因此从全芯片的角度看,如果要计算一个线网的antenna面积,就会漏掉它连接到IP内部的面积,造成antenna 计算不准。 如果每个IP都把自己内部线网的antenna信息提供给全芯片设计的人员,则顶层线网的antenna面积就可以自动加上IP的antenna面积,从而保证计算的准确性。因此,每个IP都需要提供一个Antenna Lef数据,这个数据就是用来传递给全芯片的antenna信息用的。 一个典型的antenna lef格式如下: VERSION 5.4 ; MACRO IP1
CLASS BLOCK ;
PIN AA
ANTENNAPARTIALMETALSIDEAREA5.00
LAYER A1
;
ANTENNAGATEAREA 1.35
LAYER A1
;
ANTENNADIFFAREA 0.35
LAYER A1
;
ANTENNAPARTIALCUTAREA0.34
LAYER W1
;
ANTENNAPARTIALMETALSIDEAREA6.83
LAYER A2
;
ANTENNAGATEAREA 1.35
LAYER A2
;
ANTENNADIFFAREA 0.35
LAYER A2
;
ANTENNAPARTIALCUTAREA0.41
LAYER W2
;
ANTENNAPARTIALMETALSIDEAREA34.70
LAYER A3
;
ANTENNAGATEAREA 1.35
LAYER A3
;
ANTENNADIFFAREA 0.35
LAYER A3
;
ANTENNAPARTIALCUTAREA1.22
LAYER W3
;
ANTENNAPARTIALMETALSIDEAREA16.26
LAYER A4
;
ANTENNAGATEAREA1.35
LAYER A4
; ANTENNADIFFAREA0.35
LAYER A4
;
END AA
....
....
....
PIN BB
ANTENNAPARTIALMETALSIDEAREA2.28
LAYER A1
;
ANTENNAGATEAREA 0.19
LAYER A1
;
ANTENNADIFFAREA 0.35
LAYER A1
;
ANTENNAPARTIALCUTAREA0.14
LAYER W1
;
ANTENNAPARTIALMETALSIDEAREA2.77
LAYER A2
;
ANTENNAGATEAREA 0.19
LAYER A2
;
ANTENNADIFFAREA 0.35
LAYER A2
;
ANTENNAPARTIALCUTAREA0.14
LAYER W2
;
ANTENNAPARTIALMETALSIDEAREA19.08
LAYER A3
;
ANTENNAGATEAREA 0.19
LAYER A3
;
ANTENNADIFFAREA 0.35
LAYER A3
;
ANTENNAPARTIALCUTAREA0.20
LAYER W3
;
ANTENNAPARTIALMETALSIDEAREA2.79
LAYER A4
;
ANTENNAGATEAREA0.19
LAYER A4
; ANTENNADIFFAREA0.35
LAYER A4
;
END BB
...
END IP1 END LIBRARY
注意其中的红色字体不是Metal的面积参数,而是IP内部的Gate面积和Diff面积,这个参数的用途是:全芯片计算Antenna Ratio时,不仅要考虑分子的累加,还要考虑分母的累价。其中Gate的面积就是分母的面积。
除了Antenna Lef 的格式以外,还有另外一种格式,Clf文件,其格式如下: (defineDiodeProtection "IP1" "AA" '(0.350000 0.3500000.350000 0.350000 )) (defineHierAntennaProp "IP1" "AA" '(
("A1" 1.3500000.000000 0 0 5.000000 0 0)
("A2" 1.3500000.000000 0 0 6.830000 0 0)
("A3" 1.3500000.000000 0 0 34.700000 0 0)
("A4" 1.3500000.000000 0 0 16.260000 0 0)
("W1" 0 0.340000 00 0 0 0)
("W2" 0 0.410000 0 0 0 0 0)
("W3" 0 1.220000 00 0 0 0)
))
(defineDiodeProtection "IP1""BB" '(0.350000 0.350000 0.350000 0.350000 ))
(defineHierAntennaProp "IP1" "BB" '(
("A1" 0.1900000.000000 0 0 2.280000 0 0)
("A2" 0.190000 0.0000000 0 2.770000 0 0)
("A3" 0.1900000.000000 0 0 19.080000 0 0)
("A4" 0.1900000.000000 0 0 2.790000 0 0)
("W1" 0 0.140000 00 0 0 0)
("W2" 0 0.140000 00 0 0 0)
("W3" 0 0.200000 00 0 0 0)
)) 至此,Antenna Lef与Antenna Rule的关系已经比较清晰了。不过,观众立即回问2个问题: 1.
如何得到IP的Antenna Lef数据,这些数据的计算方法是什么? 2.
如何验证Antenna Rule的规则检查是准确的? 我们将在后续的文章中继续探讨。
|