<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_typical_ccs_typical" 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_typical_ccs_typical.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_typical_ccs_typical</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];5655.38;;$AON_INV_X1;[pW];2827.68;;$HEADER_OE_X1;[pW];6287049.13;;$HEADER_X1;[pW];6280960.29;;$ISO_FENCE0N_X1;[pW];12860.12;;$ISO_FENCE0_X1;[pW];7634.11;;$ISO_FENCE1N_X1;[pW];7088.00;;$ISO_FENCE1_X1;[pW];11967.08;;$LS_HLEN_X1;[pW];1217738.99;;$LS_HL_X1;[pW];1215506.03;;$LS_LHEN_X1;[pW];17514.29;;$LS_LH_X1;[pW];9891.69;;$"></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];8852.22;;$AON_INV_X2;[pW];6024.28;;$HEADER_OE_X2;[pW];12984438.02;;$HEADER_X2;[pW];12976236.75;;$ISO_FENCE0N_X2;[pW];18870.08;;$ISO_FENCE0_X2;[pW];15546.22;;$ISO_FENCE1N_X2;[pW];14603.02;;$ISO_FENCE1_X2;[pW];16463.09;;$LS_HLEN_X2;[pW];1219928.44;;$LS_HL_X2;[pW];1217571.93;;$LS_LHEN_X2;[pW];19797.46;;$LS_LH_X2;[pW];11932.58;;$"></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];14877.21;;$AON_INV_X4;[pW];12048.54;;$HEADER_OE_X4;[pW];26330321.00;;$HEADER_X4;[pW];26296829.66;;$ISO_FENCE0N_X4;[pW];37326.76;;$ISO_FENCE0_X4;[pW];31092.47;;$ISO_FENCE1N_X4;[pW];29206.04;;$ISO_FENCE1_X4;[pW];31879.58;;$LS_HLEN_X4;[pW];1229526.59;;$LS_HL_X4;[pW];1221987.70;;$LS_LHEN_X4;[pW];24918.15;;$LS_LH_X4;[pW];17379.30;;$"></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_typical_ccs_typical</span>: 
            Vdd=
              <span class="bold">1.10</span>V, Tj=
              <span class="bold">25.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_typical_ccs_typical.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>
