Power Grid Analysis in VLSI Designs - SERC

Power Grid Analysis in VLSI Designs - SERC Power Grid Analysis in VLSI Designs - SERC

serc.iisc.ernet.in
from serc.iisc.ernet.in More from this publisher
13.07.2015 Views

dydx=y⊕yx = 1 x = 0(1)It was shown in [5] that, if the inputs x I to boolean logic are (spatially) independent, then thedensity of its output y is given by:ndyD( y)= ∑ P() D(xi)(2)dxii=1In (2), it is assumed that all inputs are independent. This can lead to inaccuracy where primaryinputs will be diverging and than reconverging to primary outputs – they are not really spatiallyindependent. However, at a block, the primary inputs can be considered pretty muchindependent and hence the above approach can be modeled more accurately if the wholeblock’s boolean difference is computed.Given the signal probability and toggle density values at the primary inputs of a logic circuit, asingle pass over the circuit, using (2), gives the density at every node. Note that apart fromestimating toggle densities at the output node, we also need to calculate output signalprobabilities to do toggle density estimation of subsequent circuit logic. This is simple for twoinput AND gate.P(Y) = P(A)*P(B)orP(Y) = 1 – P(A)P(B) for NAND gate.2.3 Multi-million gate solutionWhen we apply the above approach, it gives good results for designs which are small and canbe analyzed flat and dominated by combinational logic. Beside, it is always not possible to runflat due to other logistic concerns like blocks are designed first or rest of the design is being30

done hierarchically or there is reusable IPs in design which do not have net list. The approachdescribed in previous section was extended to handle such requirements.We also came across several issues while applying this approach to some large designs [>5Mgates] and implementing tool – Toggle Frequency Calculator. In this section, we will discusssolutions those addresses each of the problem in detail.2.3.1 Deriving automatic toggle frequency values1 Primary Input HandlingThe toggle rate at Primary Input is not known. Since they are driven externally, there isno easy way to predict toggle rate for the same. The same is true for primary inputsignal probability. Consider the following Figure 2.1 and Figure 2.2.Figure 2.1 Schematic of logic circuit 131

dydx=y⊕yx = 1 x = 0(1)It was shown <strong>in</strong> [5] that, if the <strong>in</strong>puts x I to boolean logic are (spatially) <strong>in</strong>dependent, then thedensity of its output y is given by:ndyD( y)= ∑ P() D(xi)(2)dxii=1In (2), it is assumed that all <strong>in</strong>puts are <strong>in</strong>dependent. This can lead to <strong>in</strong>accuracy where primary<strong>in</strong>puts will be diverg<strong>in</strong>g and than reconverg<strong>in</strong>g to primary outputs – they are not really spatially<strong>in</strong>dependent. However, at a block, the primary <strong>in</strong>puts can be considered pretty much<strong>in</strong>dependent and hence the above approach can be modeled more accurately if the wholeblock’s boolean difference is computed.Given the signal probability and toggle density values at the primary <strong>in</strong>puts of a logic circuit, as<strong>in</strong>gle pass over the circuit, us<strong>in</strong>g (2), gives the density at every node. Note that apart fromestimat<strong>in</strong>g toggle densities at the output node, we also need to calculate output signalprobabilities to do toggle density estimation of subsequent circuit logic. This is simple for two<strong>in</strong>put AND gate.P(Y) = P(A)*P(B)orP(Y) = 1 – P(A)P(B) for NAND gate.2.3 Multi-million gate solutionWhen we apply the above approach, it gives good results for designs which are small and canbe analyzed flat and dom<strong>in</strong>ated by comb<strong>in</strong>ational logic. Beside, it is always not possible to runflat due to other logistic concerns like blocks are designed first or rest of the design is be<strong>in</strong>g30

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!