IR Drop

 
Derivations

We define a factor L which is the parallel metal conductivity coefficient. That is, how much bigger the total metal conductivity will be than the reference metal conductivity due to multiple metal layers.

The power is delivered through the added power straps and through the metal-1 power rails in the standard cells. Firstly we consider the power that can be delivered through a power strap in metal layer n.

We already have an expression that links the power and the supply resistance Rsup.

Pnom =  (VcoreVminVdd2  ×  1
Vddmin Rsup

We replace the term 1⁄Rsup by the conductance of the reference metal layer multiplied by

  1. the width coefficient kwn
  2. the conductivty coefficient kcn
  3. the scaling for the amount of metal layer n blocked to power straps

1  = Gsup =  kwnkcn⋅(1-mn(1-ka2p)(1-ka3p))⋅pG
Rsup

Each metal layer has a supply conductance given by this expression. Since these straps are in parallel, the total conductance is the sum of the individual values.

Gsup (from straps) =  pG{kw1kc1(1-m1(1-ka2p)(1-ka3p)) +
  kw2kc2(1-m2(1-ka2p)(1-ka3p)) + … +
  kw6kc6(1-m6(1-ka2p)(1-ka3p))}

for a 6 layer metal process.

The other contributor to the power delivery is the standard cells' metal-1 power rails. In the absence of power straps, their conductance (which can be added to that of the power straps) will be

Gsup (from cells) =  psG{kc1(1-m1(1-ka2ps)(1-ka3ps))

In the presence of power straps, Gsup will be reduced by the fraction ps(1−p1) to

Gsup (from cells) =  ps(1-p1)⋅G{kc1(1-m1(1-ka2ps)(1-ka3ps))

The factor p1 equals kw1p. The total conductance Gsup is the sum of the two contributions

Gsup =  G{pskc1(1-m1(1-ka2p)(1-ka3p)) +
  p⋅{kw1kc1(1-ps)(1-m1(1-ka2p)(1-ka3p)) +
  kw2kc2(1-m2(1-ka2p)(1-ka3p)) + … +
  kw6kc6(1-m6(1-ka2p)(1-ka3p))}}

If we set

L =  kw1kc1⋅(1−ps)(1−m1(1−ka2p)(1−ka3p)) +
  kw2kc2(1−m2(1−ka2p)(1−ka3p)) + … +
  kw6kc6(1−m6(1−ka2p)(1−ka3p))

then

Gsup =  G{pskc1(1-m1(1-ka2p)(1-ka3p))+pL}

Rearranging the expression for Pnom above and substituting Gsup for Rsup,

Gsup =  Pnom × Vddmin
(VcoreVminVdd2

which gives expressions for p and Pnom in terms of L.

p = { Pnom × Vddmin  −pskc1(1−m1(1−ka2p)(1−ka3p)) } × 1
(VcoreVminVdd2×G L
Pnom = (VcoreVminVdd2×G  ×{pskc1(1−m1(1−ka2p)(1−ka3p))+pL}
Vddmin

standard cell and power strap area for 3LM+ power routing

When the entire core is filled with standard cells, the fraction of metal-1 used for power is ps. If part of the core is taken up by power straps which block the standard cells, then these will use a smaller fraction of the metal-1 for power.

The core side increases to x′ = 
x
((1−p1)(1−p2))
 .

Fraction p1 of this is used by the metal-1 power strap, so fraction 1−p1 is used by the standard cells, and of this fraction ps is used by the standard cell power rails.

So in the presence of power straps, the fraction of metal-1 used for power rails must be scaled by ps(1−p1).

If we have an existing layout, we want to know the power delivery Pnom as a function of device specifications, technology characteristics and the amount of metal used for power straps.

We have this in the expression for Pnom below. Note that it depends on the value for Pnom itself through the term Vcore.

Vcore = 
Vddmin(1−2× Pnom ×(Rpkg+Rbond+Rpad))
  Vdd2×Npad  

This means that we will need to iterate to the solution.

If we have a device spec including an estimate of the core power consumption, then we want to estimate the size of the power straps. We have this in the expression for p below. The width of the power straps in each metal layer n is kwn×p.

Note that if there are fixed blocks (any of mn>0), then the value of p depends on itself and we will have to iterate to the solution.