<html xmlns:xd="http://www.pnp-software.com/XSLTdoc">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Leakage Power</title>
<link rel="stylesheet" type="text/css" href="./resource/css/Basic.css">
<link rel="stylesheet" type="text/css" href="./resource/css/CellLib.css">
<link rel="stylesheet" type="text/css" href="./resource/css/BasicHtml.css">
<link rel="stylesheet" type="text/css" href="./resource/css/CellLibHtml.css">
<script type="text/javascript">
        var openImg = "./resource/image/open_square.gif";
        var closeImg = "./resource/image/close_square.gif";
      </script><script type="text/javascript" src="./resource/js/main.js"></script><script>
        function hidestatus(){
        window.status='';
        return true;
        }
        document.onmouseover=hidestatus;
        document.onmouseout=hidestatus;
      </script>
</head>
<body onLoad="NanInit();">
<a id="PageInfo" RootPath="." CellPath="Cells/" SummName="SP" Corner="LowPowerOpenCellLibrary_worst_low_ccs_worst_low" RefNode="" TrgNode="" FileExt=".html" Focus="correlation" RefFile="StaticPowerConsumption_.html" TrgFile="StaticPowerConsumption_.html"></a><table class="navigation" width="100%">
<colgroup>
<col>
<col>
</colgroup>
<tr class="navigation" colspan="2" align="center"></tr>
<tr>
<td align="left"><a href="http://www.nangate.com" target="_blank"><img src="./resource/image/NangateLogo.gif" border="0"></a></td>
<td align="center"><p class="Title">Leakage Power</p></td>
<td align="right"><img src="./resource/image/Logo.png" border="0"></td>
</tr>
</table>
<hr class="navigation_tt">
<table width="100%" summary="Navigation header" class="navigation"><tr>
<td width="33%" align="left"><a href="TotalFullCyclePower_LowPowerOpenCellLibrary_worst_low_ccs_worst_low.html">Previous (Total Full-Cycle Power)
      </a></td>
<td width="33%" align="center"><a href="CornerList.html">Up (Table of Contents)
      </a></td>
<td width="33%" align="right"></td>
</tr></table>
<hr class="navigation_tb">
<table class="navigation" width="100%">
<colgroup>
<col>
<col>
</colgroup>
<tr>
<td align="left"><p class="copyright">Databook Build Date: Wednesday Aug 17 19:29 2011</p></td>
<td align="right"><p class="copyright">Copyright © 2004-2010 Nangate Inc.</p></td>
</tr>
</table>
          Datasheet for characterization corner: <span class="bold">LowPowerOpenCellLibrary_worst_low_ccs_worst_low</span>
            , library <span class="bold">
"LowPowerOpenCellLibrary"</span>.
        
   
    Eventual numbers in <i>italic</i> show that the values have required interpolations due to internal data manipulation and/or non-matching LUT index templates.

    <p></p>
<p>
      This section presents the 
      <span class="bold"> cell leakage power </span>
      for all cells.
      See <a href="#Notes">notes</a> for additional information.
    </p>
<a name="Table_0"><table class="Caption">
<colgroup>
<col>
<col>
</colgroup>
<tr>
<td onClick="tBr('_Table_0');"><a class="Caption" href="javascript:;"><span id="I_Table_0"><img border="0" src="./resource/image/open_square.gif"></span>  
                </a></td>
<td><a onClick="tBr('_Table_0');" class="Caption" href="javascript:;">
          Leakage Power
        </a></td>
<td>        <span class="extra">  @ strength: 1  </span>
</td>
</tr>
</table>
<span id="_Table_0" eName="Leakage Power"><hr class="Title">
<div ngTable="sumSc" sumSc="12" entries="AON_BUF_X1;[pW];1097.45;;$AON_INV_X1;[pW];548.74;;$HEADER_OE_X1;[pW];9268987.18;;$HEADER_X1;[pW];9266870.51;;$ISO_FENCE0N_X1;[pW];2954.08;;$ISO_FENCE0_X1;[pW];1796.99;;$ISO_FENCE1N_X1;[pW];1644.09;;$ISO_FENCE1_X1;[pW];2470.82;;$LS_HLEN_X1;[pW];904419.74;;$LS_HL_X1;[pW];903694.29;;$LS_LHEN_X1;[pW];3408.57;;$LS_LH_X1;[pW];1600.34;;$"></div>
<hr class="Title"></span></a><a name="Table_1"><table class="Caption">
<colgroup>
<col>
<col>
</colgroup>
<tr>
<td onClick="tBr('_Table_1');"><a class="Caption" href="javascript:;"><span id="I_Table_1"><img border="0" src="./resource/image/open_square.gif"></span>  
                </a></td>
<td><a onClick="tBr('_Table_1');" class="Caption" href="javascript:;">
          Leakage Power
        </a></td>
<td>        <span class="extra">  @ strength: 2  </span>
</td>
</tr>
</table>
<span id="_Table_1" eName="Leakage Power"><hr class="Title">
<div ngTable="sumSc" sumSc="12" entries="AON_BUF_X2;[pW];1714.18;;$AON_INV_X2;[pW];1165.50;;$HEADER_OE_X2;[pW];19053623.10;;$HEADER_X2;[pW];19053533.52;;$ISO_FENCE0N_X2;[pW];4309.16;;$ISO_FENCE0_X2;[pW];3654.99;;$ISO_FENCE1N_X2;[pW];3383.76;;$ISO_FENCE1_X2;[pW];3167.47;;$LS_HLEN_X2;[pW];904848.09;;$LS_HL_X2;[pW];904027.22;;$LS_LHEN_X2;[pW];4114.30;;$LS_LH_X2;[pW];2009.02;;$"></div>
<hr class="Title"></span></a><a name="Table_2"><table class="Caption">
<colgroup>
<col>
<col>
</colgroup>
<tr>
<td onClick="tBr('_Table_2');"><a class="Caption" href="javascript:;"><span id="I_Table_2"><img border="0" src="./resource/image/open_square.gif"></span>  
                </a></td>
<td><a onClick="tBr('_Table_2');" class="Caption" href="javascript:;">
          Leakage Power
        </a></td>
<td>        <span class="extra">  @ strength: 4  </span>
</td>
</tr>
</table>
<span id="_Table_2" eName="Leakage Power"><hr class="Title">
<div ngTable="sumSc" sumSc="12" entries="AON_BUF_X4;[pW];2879.50;;$AON_INV_X4;[pW];2330.99;;$HEADER_OE_X4;[pW];38504239.97;;$HEADER_X4;[pW];38460039.51;;$ISO_FENCE0N_X4;[pW];8520.38;;$ISO_FENCE0_X4;[pW];7309.98;;$ISO_FENCE1N_X4;[pW];6767.53;;$ISO_FENCE1_X4;[pW];6086.07;;$LS_HLEN_X4;[pW];907106.66;;$LS_HL_X4;[pW];904772.51;;$LS_LHEN_X4;[pW];5300.57;;$LS_LH_X4;[pW];3039.95;;$"></div>
<hr class="Title"></span></a><a name="Notes"><table class="Caption">
<colgroup>
<col>
<col>
</colgroup>
<tr>
<td onClick="tBr('_Notes');"><a class="Caption" href="javascript:;"><span id="I_Notes"><img border="0" src="./resource/image/open_square.gif"></span>  
                </a></td>
<td><a onClick="tBr('_Notes');" class="Caption" href="javascript:;">Notes</a></td>
</tr>
</table>
<span id="_Notes"><ul>
<li>
<li>
<span><a></a></span>Conditions for characterization library 
            <span class="bold">LowPowerOpenCellLibrary</span>, corner 
              <span class="bold">LowPowerOpenCellLibrary_worst_low_ccs_worst_low</span>: 
            Vdd=
              <span class="bold">.95</span>V, Tj=
              <span class="bold">-40.0</span> deg. C
            .
          <br xmlns:fn="http://www.w3.org/2005/02/xpath-functions">
</li>
</ul></span></a><hr class="navigation_bt">
<table width="100%" summary="Navigation header" class="navigation"><tr>
<td width="33%" align="left"><a href="TotalFullCyclePower_LowPowerOpenCellLibrary_worst_low_ccs_worst_low.html">Previous (Total Full-Cycle Power)
      </a></td>
<td width="33%" align="center"><a href="CornerList.html">Up (Table of Contents)
      </a></td>
<td width="33%" align="right"></td>
</tr></table>
<hr class="navigation_bb">
<table class="navigation" width="100%">
<colgroup>
<col>
<col>
</colgroup>
<tr>
<td align="left"><p class="copyright">Databook Build Date: Wednesday Aug 17 19:29 2011</p></td>
<td align="right"><p class="copyright">Copyright © 2004-2010 Nangate Inc.</p></td>
</tr>
</table>
</body>
</html>
