611 lines
31 KiB
HTML
611 lines
31 KiB
HTML
<!DOCTYPE HTML PUBLIC '-//W3C//DTD HTML 4.0//EN'>
|
|
<html>
|
|
<head>
|
|
<meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
|
|
<title>Kite - Detailed Router</title>
|
|
<script type="text/javascript" src="jquery.js"></script>
|
|
<script type="text/javascript" src="dynsections.js"></script>
|
|
<link href="SoC.css" rel="stylesheet" type="text/css">
|
|
<link href="tabs.css" rel="stylesheet" type="text/css">
|
|
</head>
|
|
<h1 id="pagetop" class="header">Kite - Detailed Router</h1>
|
|
<!--
|
|
<center class="header">
|
|
<table class="header">
|
|
<tr>
|
|
<td><a href="customSummary.html">Summary</a></td>
|
|
<td><a href="namespaces.html">Namespaces</a></td>
|
|
<td><a href="customHierarchy.html">Class Hierarchy</a></td>
|
|
<td><a href="annotated.html">Classes</a></td>
|
|
<td><a href="functions.html">Member Index</a></td>
|
|
</tr>
|
|
</table>
|
|
</center>
|
|
-->
|
|
<br>
|
|
<body onload="javascript:toggleLevel(1)">
|
|
<!-- Generated by Doxygen 1.8.5 -->
|
|
<div id="navrow1" class="tabs">
|
|
<ul class="tablist">
|
|
<li><a href="index.html"><span>Main Page</span></a></li>
|
|
<li><a href="pages.html"><span>Related Pages</span></a></li>
|
|
<li><a href="modules.html"><span>Modules</span></a></li>
|
|
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
|
|
<li class="current"><a href="annotated.html"><span>Classes</span></a></li>
|
|
<li><a href="files.html"><span>Files</span></a></li>
|
|
</ul>
|
|
</div>
|
|
<div id="navrow2" class="tabs2">
|
|
<ul class="tablist">
|
|
<li><a href="annotated.html"><span>Class List</span></a></li>
|
|
<li><a href="classes.html"><span>Class Index</span></a></li>
|
|
<li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
|
|
<li><a href="functions.html"><span>Class Members</span></a></li>
|
|
</ul>
|
|
</div>
|
|
<div id="nav-path" class="navpath">
|
|
<ul>
|
|
<li class="navelem"><a class="el" href="namespaceKite.html">Kite</a></li><li class="navelem"><a class="el" href="classKite_1_1NegociateWindow.html">NegociateWindow</a></li> </ul>
|
|
</div>
|
|
</div><!-- top -->
|
|
<div class="header">
|
|
<div class="summary">
|
|
<a href="#pub-types">Public Types</a> |
|
|
<a href="#pub-methods">Public Member Functions</a> |
|
|
<a href="#pub-static-methods">Static Public Member Functions</a> |
|
|
<a href="classKite_1_1NegociateWindow-members.html">List of all members</a> </div>
|
|
<div class="headertitle">
|
|
<div class="title">NegociateWindow Class Reference</div> </div>
|
|
</div><!--header-->
|
|
<div class="contents">
|
|
|
|
<p>Perform the routing, main <a class="el" href="classKite_1_1RoutingEvent.html" title="Atomic Placement Request for a TrackSegment. ">RoutingEvent</a> manager.
|
|
<a href="classKite_1_1NegociateWindow.html#details">More...</a></p>
|
|
<table class="memberdecls">
|
|
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-types"></a>
|
|
Public Types</h2></td></tr>
|
|
<tr class="memitem:aca8133200c1122e29b87b314d82604eb"><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="classKite_1_1NegociateWindow.html#aca8133200c1122e29b87b314d82604eb">Stage</a> { <br/>
|
|
  <a class="el" href="classKite_1_1NegociateWindow.html#aca8133200c1122e29b87b314d82604eba19ccda3133337a5db697480ebfd6097f">Negociation</a> = 1,
|
|
<br/>
|
|
  <a class="el" href="classKite_1_1NegociateWindow.html#aca8133200c1122e29b87b314d82604ebabdd3263d9492edf336ac52b4a9776b82">Packing</a> = 2
|
|
<br/>
|
|
}</td></tr>
|
|
<tr class="separator:aca8133200c1122e29b87b314d82604eb"><td class="memSeparator" colspan="2"> </td></tr>
|
|
</table><table class="memberdecls">
|
|
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
|
|
Public Member Functions</h2></td></tr>
|
|
<tr class="memitem:a3a80b6032f86a56bec74609034b3246f"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classKite_1_1NegociateWindow.html#a3a80b6032f86a56bec74609034b3246f">destroy</a> ()</td></tr>
|
|
<tr class="separator:a3a80b6032f86a56bec74609034b3246f"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a54258d41d3a6219a22c7b77b9961a763"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classKite_1_1NegociateWindow.html#a54258d41d3a6219a22c7b77b9961a763">isInterrupted</a> () const </td></tr>
|
|
<tr class="separator:a54258d41d3a6219a22c7b77b9961a763"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a9ccc00efc7079210bc25122921382da4"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classKite_1_1KiteEngine.html">KiteEngine</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classKite_1_1NegociateWindow.html#a9ccc00efc7079210bc25122921382da4">getKiteEngine</a> () const </td></tr>
|
|
<tr class="separator:a9ccc00efc7079210bc25122921382da4"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:affb06b0d06faffd33fc3e5c34a11db70"><td class="memItemLeft" align="right" valign="top"><a class="elRef" doxygen="/dsk/l1/jpc/coriolis-2.x/src/coriolis/hurricane/doc/hurricane/html/hurricane.tag:../hurricane/" href="../hurricane/classHurricane_1_1Cell.html">Hurricane::Cell</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classKite_1_1NegociateWindow.html#affb06b0d06faffd33fc3e5c34a11db70">getCell</a> () const </td></tr>
|
|
<tr class="separator:affb06b0d06faffd33fc3e5c34a11db70"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a6ead45f726102e3650c8a08e89aada94"><td class="memItemLeft" align="right" valign="top">const Katabatic::GCellVector & </td><td class="memItemRight" valign="bottom"><a class="el" href="classKite_1_1NegociateWindow.html#a6ead45f726102e3650c8a08e89aada94">getGCells</a> () const </td></tr>
|
|
<tr class="separator:a6ead45f726102e3650c8a08e89aada94"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a80fc29623500b168c49ba14c49a00a76"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classKite_1_1RoutingEventQueue.html">RoutingEventQueue</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="classKite_1_1NegociateWindow.html#a80fc29623500b168c49ba14c49a00a76">getEventQueue</a> ()</td></tr>
|
|
<tr class="separator:a80fc29623500b168c49ba14c49a00a76"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a990d738cf85fa016589edaa08d736d4f"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classKite_1_1RoutingEventHistory.html">RoutingEventHistory</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="classKite_1_1NegociateWindow.html#a990d738cf85fa016589edaa08d736d4f">getEventHistory</a> ()</td></tr>
|
|
<tr class="separator:a990d738cf85fa016589edaa08d736d4f"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a9a41d40e5e378b9bcb99048262ec15a6"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classKite_1_1RoutingEventLoop.html">RoutingEventLoop</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="classKite_1_1NegociateWindow.html#a9a41d40e5e378b9bcb99048262ec15a6">getEventLoop</a> ()</td></tr>
|
|
<tr class="separator:a9a41d40e5e378b9bcb99048262ec15a6"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a519f2ce03a3d5e8e76cca1c41422389c"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classKite_1_1NegociateWindow.html#aca8133200c1122e29b87b314d82604eb">Stage</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classKite_1_1NegociateWindow.html#a519f2ce03a3d5e8e76cca1c41422389c">getStage</a> () const </td></tr>
|
|
<tr class="separator:a519f2ce03a3d5e8e76cca1c41422389c"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a329dbc5bc549e3fe354996368dbf7113"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classKite_1_1NegociateWindow.html#a329dbc5bc549e3fe354996368dbf7113">setGCells</a> (const Katabatic::GCellVector &)</td></tr>
|
|
<tr class="separator:a329dbc5bc549e3fe354996368dbf7113"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a7c0d10dab2d32985e942b7678dcccafd"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classKite_1_1NegociateWindow.html#a7c0d10dab2d32985e942b7678dcccafd">setInterrupt</a> (bool)</td></tr>
|
|
<tr class="separator:a7c0d10dab2d32985e942b7678dcccafd"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:aad6b43971b936f7ea003d3ad0fd07532"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classKite_1_1NegociateWindow.html#aad6b43971b936f7ea003d3ad0fd07532">setStage</a> (<a class="el" href="classKite_1_1NegociateWindow.html#aca8133200c1122e29b87b314d82604eb">Stage</a>)</td></tr>
|
|
<tr class="separator:aad6b43971b936f7ea003d3ad0fd07532"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a4936106670361df6b6f3ef0b6088c9dc"><td class="memItemLeft" align="right" valign="top">double </td><td class="memItemRight" valign="bottom"><a class="el" href="classKite_1_1NegociateWindow.html#a4936106670361df6b6f3ef0b6088c9dc">computeWirelength</a> ()</td></tr>
|
|
<tr class="separator:a4936106670361df6b6f3ef0b6088c9dc"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a7bf31fcd4e4007e62454689ef7c553fc"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classKite_1_1TrackElement.html">TrackElement</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classKite_1_1NegociateWindow.html#a7bf31fcd4e4007e62454689ef7c553fc">createTrackSegment</a> (<a class="elRef" doxygen="/dsk/l1/jpc/coriolis-2.x/src/coriolis/katabatic/doc/html/katabatic.tag:../katabatic/" href="../katabatic/classKatabatic_1_1AutoSegment.html">AutoSegment</a> *, unsigned int flags)</td></tr>
|
|
<tr class="separator:a7bf31fcd4e4007e62454689ef7c553fc"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a51ba8e6a122c0cb93174027658cade63"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classKite_1_1NegociateWindow.html#a51ba8e6a122c0cb93174027658cade63">addRoutingEvent</a> (<a class="el" href="classKite_1_1TrackElement.html">TrackElement</a> *, unsigned int level)</td></tr>
|
|
<tr class="separator:a51ba8e6a122c0cb93174027658cade63"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:acad8f73494d122463d65797d337ce275"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classKite_1_1NegociateWindow.html#acad8f73494d122463d65797d337ce275">rescheduleEvent</a> (<a class="el" href="classKite_1_1RoutingEvent.html">RoutingEvent</a> *, unsigned int level)</td></tr>
|
|
<tr class="separator:acad8f73494d122463d65797d337ce275"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a61e848b73b597f54e2e83e13eb70ff83"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classKite_1_1NegociateWindow.html#a61e848b73b597f54e2e83e13eb70ff83">run</a> (unsigned int flags)</td></tr>
|
|
<tr class="separator:a61e848b73b597f54e2e83e13eb70ff83"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:aef117fac410e00a57de148dec161d783"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classKite_1_1NegociateWindow.html#aef117fac410e00a57de148dec161d783">printStatistics</a> () const </td></tr>
|
|
<tr class="separator:aef117fac410e00a57de148dec161d783"><td class="memSeparator" colspan="2"> </td></tr>
|
|
</table><table class="memberdecls">
|
|
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-static-methods"></a>
|
|
Static Public Member Functions</h2></td></tr>
|
|
<tr class="memitem:ad9c37ea1398a6dfa332cb297141dc1c4"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="classKite_1_1NegociateWindow.html">NegociateWindow</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classKite_1_1NegociateWindow.html#ad9c37ea1398a6dfa332cb297141dc1c4">create</a> (<a class="el" href="classKite_1_1KiteEngine.html">KiteEngine</a> *)</td></tr>
|
|
<tr class="separator:ad9c37ea1398a6dfa332cb297141dc1c4"><td class="memSeparator" colspan="2"> </td></tr>
|
|
</table>
|
|
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
|
|
<div class="textblock"><p>Perform the routing, main <a class="el" href="classKite_1_1RoutingEvent.html" title="Atomic Placement Request for a TrackSegment. ">RoutingEvent</a> manager. </p>
|
|
<p>This object perform the routing. That is creates all the initial <a class="el" href="classKite_1_1RoutingEvent.html" title="Atomic Placement Request for a TrackSegment. ">RoutingEvent</a>, load them into the queue and then process the queue until it is empty, that is, the routing is finished.</p>
|
|
<p>This object is the owner of the <a class="el" href="classKite_1_1RoutingEventQueue.html" title="The priority Queue of RoutingEvent. ">RoutingEventQueue</a>, <a class="el" href="classKite_1_1RoutingEventHistory.html" title="History of RoutingEvent. ">RoutingEventHistory</a> and <a class="el" href="classKite_1_1RoutingEventLoop.html" title="Simple loop dectector for RoutingEvent. ">RoutingEventLoop</a> used all troughout <a class="el" href="classKite_1_1RoutingEvent.html" title="Atomic Placement Request for a TrackSegment. ">RoutingEvent</a> and <a class="el" href="classKite_1_1SegmentFsm.html" title="Pseudo-decorator to process a RoutingEvent. ">SegmentFsm</a>. </p>
|
|
</div><h2 class="groupheader">Member Enumeration Documentation</h2>
|
|
<a class="anchor" id="aca8133200c1122e29b87b314d82604eb"></a>
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">enum <a class="el" href="classKite_1_1NegociateWindow.html#aca8133200c1122e29b87b314d82604eb">Stage</a></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
<p>The state under which the router is operating. </p>
|
|
<table class="fieldtable">
|
|
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><em><a class="anchor" id="aca8133200c1122e29b87b314d82604eba19ccda3133337a5db697480ebfd6097f"></a>Negociation</em> </td><td class="fielddoc">
|
|
<p>The normal mode, priority negociation with ripup. </p>
|
|
</td></tr>
|
|
<tr><td class="fieldname"><em><a class="anchor" id="aca8133200c1122e29b87b314d82604ebabdd3263d9492edf336ac52b4a9776b82"></a>Packing</em> </td><td class="fielddoc">
|
|
<p>Try to find a better placement for segment but just by looking for other fully free spaces. No ripup is performed. </p>
|
|
</td></tr>
|
|
</table>
|
|
|
|
</div>
|
|
</div>
|
|
<h2 class="groupheader">Member Function Documentation</h2>
|
|
<a class="anchor" id="ad9c37ea1398a6dfa332cb297141dc1c4"></a>
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">create </td>
|
|
<td>(</td>
|
|
<td class="paramtype"><a class="el" href="classKite_1_1KiteEngine.html">KiteEngine</a> * </td>
|
|
<td class="paramname"><em>kite</em></td><td>)</td>
|
|
<td></td>
|
|
</tr>
|
|
</table>
|
|
</td>
|
|
<td class="mlabels-right">
|
|
<span class="mlabels"><span class="mlabel">static</span></span> </td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
<p>The publicly avalaible contructor. Route the whole are defined by the <a class="el" href="namespaceKite.html" title="The namespace dedicated to Kite. ">Kite</a> associated Cell abutment box. </p>
|
|
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="a3a80b6032f86a56bec74609034b3246f"></a>
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void destroy </td>
|
|
<td>(</td>
|
|
<td class="paramname"></td><td>)</td>
|
|
<td></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
<p>The publicly avalaible destructor. </p>
|
|
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="a54258d41d3a6219a22c7b77b9961a763"></a>
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">bool isInterrupted </td>
|
|
<td>(</td>
|
|
<td class="paramname"></td><td>)</td>
|
|
<td> const</td>
|
|
</tr>
|
|
</table>
|
|
</td>
|
|
<td class="mlabels-right">
|
|
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
<p><b>Returns:</b> <b>true</b> if the <a class="el" href="classKite_1_1NegociateWindow.html" title="Perform the routing, main RoutingEvent manager. ">NegociateWindow</a> has received an interrupt request. </p>
|
|
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="a9ccc00efc7079210bc25122921382da4"></a>
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname"><a class="el" href="classKite_1_1KiteEngine.html">KiteEngine</a> * getKiteEngine </td>
|
|
<td>(</td>
|
|
<td class="paramname"></td><td>)</td>
|
|
<td> const</td>
|
|
</tr>
|
|
</table>
|
|
</td>
|
|
<td class="mlabels-right">
|
|
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
<p><b>Returns:</b> The associated <a class="el" href="classKite_1_1KiteEngine.html" title="The Kite Tool. ">KiteEngine</a>. </p>
|
|
|
|
<p>Referenced by <a class="el" href="classKite_1_1NegociateWindow.html#aef117fac410e00a57de148dec161d783">NegociateWindow::printStatistics()</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="affb06b0d06faffd33fc3e5c34a11db70"></a>
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname"><a class="elRef" doxygen="/dsk/l1/jpc/coriolis-2.x/src/coriolis/hurricane/doc/hurricane/html/hurricane.tag:../hurricane/" href="../hurricane/classHurricane_1_1Cell.html">Hurricane::Cell</a> * getCell </td>
|
|
<td>(</td>
|
|
<td class="paramname"></td><td>)</td>
|
|
<td> const</td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
<p><b>Returns:</b> The associated Cell. </p>
|
|
|
|
<p>Referenced by <a class="el" href="classKite_1_1NegociateWindow.html#aef117fac410e00a57de148dec161d783">NegociateWindow::printStatistics()</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="a6ead45f726102e3650c8a08e89aada94"></a>
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">const Katabatic::GCellVector & getGCells </td>
|
|
<td>(</td>
|
|
<td class="paramname"></td><td>)</td>
|
|
<td> const</td>
|
|
</tr>
|
|
</table>
|
|
</td>
|
|
<td class="mlabels-right">
|
|
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
<p><b>Returns:</b> A Copy of the vector of GCell from KatabaticEngine. The vector is copied but not the GCell themselves (shallow copy). </p>
|
|
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="a80fc29623500b168c49ba14c49a00a76"></a>
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname"><a class="el" href="classKite_1_1RoutingEventQueue.html">RoutingEventQueue</a> & getEventQueue </td>
|
|
<td>(</td>
|
|
<td class="paramname"></td><td>)</td>
|
|
<td></td>
|
|
</tr>
|
|
</table>
|
|
</td>
|
|
<td class="mlabels-right">
|
|
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
<p><b>Returns:</b> The <a class="el" href="classKite_1_1RoutingEventQueue.html" title="The priority Queue of RoutingEvent. ">RoutingEventQueue</a>. </p>
|
|
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="a990d738cf85fa016589edaa08d736d4f"></a>
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname"><a class="el" href="classKite_1_1RoutingEventHistory.html">RoutingEventHistory</a> & getEventHistory </td>
|
|
<td>(</td>
|
|
<td class="paramname"></td><td>)</td>
|
|
<td></td>
|
|
</tr>
|
|
</table>
|
|
</td>
|
|
<td class="mlabels-right">
|
|
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
<p><b>Returns:</b> The <a class="el" href="classKite_1_1RoutingEventHistory.html" title="History of RoutingEvent. ">RoutingEventHistory</a>. </p>
|
|
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="a9a41d40e5e378b9bcb99048262ec15a6"></a>
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname"><a class="el" href="classKite_1_1RoutingEventLoop.html">RoutingEventLoop</a> & getEventLoop </td>
|
|
<td>(</td>
|
|
<td class="paramname"></td><td>)</td>
|
|
<td></td>
|
|
</tr>
|
|
</table>
|
|
</td>
|
|
<td class="mlabels-right">
|
|
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
<p><b>Returns:</b> The <a class="el" href="classKite_1_1RoutingEventLoop.html" title="Simple loop dectector for RoutingEvent. ">RoutingEventLoop</a>. </p>
|
|
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="a519f2ce03a3d5e8e76cca1c41422389c"></a>
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname"><a class="el" href="classKite_1_1NegociateWindow.html#aca8133200c1122e29b87b314d82604eb">Stage</a> getStage </td>
|
|
<td>(</td>
|
|
<td class="paramname"></td><td>)</td>
|
|
<td> const</td>
|
|
</tr>
|
|
</table>
|
|
</td>
|
|
<td class="mlabels-right">
|
|
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
<p><b>Returns:</b> The stage (NegicateWindow::Stage) into which the <a class="el" href="classKite_1_1NegociateWindow.html" title="Perform the routing, main RoutingEvent manager. ">NegociateWindow</a> is running. </p>
|
|
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="a329dbc5bc549e3fe354996368dbf7113"></a>
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void setGCells </td>
|
|
<td>(</td>
|
|
<td class="paramtype">const Katabatic::GCellVector & </td>
|
|
<td class="paramname"><em>v</em></td><td>)</td>
|
|
<td></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
<p>Sets the GCell vector from KatabaticEngine (perform a shallow copy). </p>
|
|
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="a7c0d10dab2d32985e942b7678dcccafd"></a>
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void setInterrupt </td>
|
|
<td>(</td>
|
|
<td class="paramtype">bool </td>
|
|
<td class="paramname"><em>state</em></td><td>)</td>
|
|
<td></td>
|
|
</tr>
|
|
</table>
|
|
</td>
|
|
<td class="mlabels-right">
|
|
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
<p>Sets or unset the interruption flag. </p>
|
|
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="aad6b43971b936f7ea003d3ad0fd07532"></a>
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void setStage </td>
|
|
<td>(</td>
|
|
<td class="paramtype"><a class="el" href="classKite_1_1NegociateWindow.html#aca8133200c1122e29b87b314d82604eb">Stage</a> </td>
|
|
<td class="paramname"><em>stage</em></td><td>)</td>
|
|
<td></td>
|
|
</tr>
|
|
</table>
|
|
</td>
|
|
<td class="mlabels-right">
|
|
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
<p>Set the stage (<a class="el" href="classKite_1_1NegociateWindow.html#aca8133200c1122e29b87b314d82604eb">NegociateWindow::Stage</a>) under which we are running. </p>
|
|
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="a4936106670361df6b6f3ef0b6088c9dc"></a>
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">double computeWirelength </td>
|
|
<td>(</td>
|
|
<td class="paramname"></td><td>)</td>
|
|
<td></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
<p>Compute the total wirelength of the circuit. It is not completly accurate because overlaps are not took into accounts. </p>
|
|
|
|
<p>Referenced by <a class="el" href="classKite_1_1NegociateWindow.html#a61e848b73b597f54e2e83e13eb70ff83">NegociateWindow::run()</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="a7bf31fcd4e4007e62454689ef7c553fc"></a>
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname"><a class="el" href="classKite_1_1TrackElement.html">TrackElement</a> * createTrackSegment </td>
|
|
<td>(</td>
|
|
<td class="paramtype"><a class="elRef" doxygen="/dsk/l1/jpc/coriolis-2.x/src/coriolis/katabatic/doc/html/katabatic.tag:../katabatic/" href="../katabatic/classKatabatic_1_1AutoSegment.html">AutoSegment</a> * </td>
|
|
<td class="paramname"><em>autoSegment</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">unsigned int </td>
|
|
<td class="paramname"><em>flags</em> </td>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<td>)</td>
|
|
<td></td><td></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
<p>Build a <a class="el" href="classKite_1_1TrackSegment.html" title="Derived Katabatic::AutoSegment for the router. ">TrackSegment</a> from the <a class="elRef" doxygen="/dsk/l1/jpc/coriolis-2.x/src/coriolis/katabatic/doc/html/katabatic.tag:../katabatic/" href="../katabatic/classKatabatic_1_1AutoSegment.html">Katabatic::AutoSegment</a>. If <code>flags</code> contains Kite::KtLoadingStage then assume that we are in the initial loading stage (constructor). </p>
|
|
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="a51ba8e6a122c0cb93174027658cade63"></a>
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void addRoutingEvent </td>
|
|
<td>(</td>
|
|
<td class="paramtype"><a class="el" href="classKite_1_1TrackElement.html">TrackElement</a> * </td>
|
|
<td class="paramname"><em>segment</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">unsigned int </td>
|
|
<td class="paramname"><em>level</em> </td>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<td>)</td>
|
|
<td></td><td></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
<p>Create a new <a class="el" href="classKite_1_1RoutingEvent.html" title="Atomic Placement Request for a TrackSegment. ">RoutingEvent</a> from <a class="el" href="classKite_1_1TrackElement.html" title="Abstract Class for all Elements inserted inside a Track. ">TrackElement</a> (if it doesn't already exists) and insert it into the queue with priority <code>level</code>. </p>
|
|
|
|
<p>Referenced by <a class="el" href="classKite_1_1TrackSegment.html#a0ffe603ec7d46f21f5e56ccbe84c03fb">TrackSegment::reschedule()</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="acad8f73494d122463d65797d337ce275"></a>
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void rescheduleEvent </td>
|
|
<td>(</td>
|
|
<td class="paramtype"><a class="el" href="classKite_1_1RoutingEvent.html">RoutingEvent</a> * </td>
|
|
<td class="paramname"><em>event</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">unsigned int </td>
|
|
<td class="paramname"><em>level</em> </td>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<td>)</td>
|
|
<td></td><td></td>
|
|
</tr>
|
|
</table>
|
|
</td>
|
|
<td class="mlabels-right">
|
|
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
<p>Reschedule an event into the queue, with priority <code>level</code>. </p>
|
|
|
|
<p>Referenced by <a class="el" href="classKite_1_1TrackSegment.html#a0ffe603ec7d46f21f5e56ccbe84c03fb">TrackSegment::reschedule()</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="a61e848b73b597f54e2e83e13eb70ff83"></a>
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void run </td>
|
|
<td>(</td>
|
|
<td class="paramtype">unsigned int </td>
|
|
<td class="paramname"><em>flags</em></td><td>)</td>
|
|
<td></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
<p>Perform the routing.</p>
|
|
<p><span class="red"><code>slowMotion</code> is not implemented yet.</span> </p>
|
|
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="aef117fac410e00a57de148dec161d783"></a>
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void printStatistics </td>
|
|
<td>(</td>
|
|
<td class="paramname"></td><td>)</td>
|
|
<td> const</td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
<p>Display some statistics about the routing, compute the internal complete statistics. </p>
|
|
|
|
<p>Referenced by <a class="el" href="classKite_1_1NegociateWindow.html#a61e848b73b597f54e2e83e13eb70ff83">NegociateWindow::run()</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<hr/>The documentation for this class was generated from the following files:<ul>
|
|
<li><a class="el" href="NegociateWindow_8h_source.html">NegociateWindow.h</a></li>
|
|
<li>NegociateWindow.cpp</li>
|
|
<li>NegociateWindow.dox</li>
|
|
</ul>
|
|
</div><!-- contents -->
|
|
<br>
|
|
<hr>
|
|
<table class="footer1">
|
|
<tr>
|
|
<td class="LFooter"><small>Generated by doxygen 1.8.5 on Sat Aug 18 2018</small></td>
|
|
<td class="RFooter"><a href='#pagetop'><small>Return to top of page</small></a></td>
|
|
</tr>
|
|
</table>
|
|
<table class="footer2">
|
|
<tr>
|
|
<td class="LFooter">Kite - Detailed Router</td>
|
|
<td class="RFooter"><small>Copyright © 2008-2016 UPMC. All rights reserved</small></td>
|
|
</tr>
|
|
</table>
|
|
</body>
|
|
</html>
|