2018-06-06 11:42:26 -05:00
<!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)" >
2018-10-18 11:10:01 -05:00
<!-- Generated by Doxygen 1.8.14 -->
< script type = "text/javascript" src = "menudata.js" > < / script >
< script type = "text/javascript" src = "menu.js" > < / script >
< script type = "text/javascript" >
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3& dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',false,false,'search.php','Search');
});
/* @license-end */< / script >
< div id = "main-nav" > < / div >
2018-06-06 11:42:26 -05:00
< 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 >
2018-10-18 11:10:01 -05:00
< 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 / >
2018-06-06 11:42:26 -05:00
    < a class = "el" href = "classKite_1_1NegociateWindow.html#aca8133200c1122e29b87b314d82604eba19ccda3133337a5db697480ebfd6097f" > Negociation< / a > = 1,
2018-10-18 11:10:01 -05:00
< br / >
2018-06-06 11:42:26 -05:00
    < a class = "el" href = "classKite_1_1NegociateWindow.html#aca8133200c1122e29b87b314d82604ebabdd3263d9492edf336ac52b4a9776b82" > Packing< / a > = 2
2018-10-18 11:10:01 -05:00
< br / >
2018-06-06 11:42:26 -05:00
}< / 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 >
2018-10-18 11:10:01 -05:00
< tr class = "memitem:aa1a08014471e19352a5efdabad3a87cb" > < td class = "memItemLeft" align = "right" valign = "top" > bool  < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "classKite_1_1NegociateWindow.html#aa1a08014471e19352a5efdabad3a87cb" > isInterrupted< / a > () const< / td > < / tr >
< tr class = "separator:aa1a08014471e19352a5efdabad3a87cb" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:af7373bd3a4ee8fcf28a316230ed37fc0" > < 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#af7373bd3a4ee8fcf28a316230ed37fc0" > getKiteEngine< / a > () const< / td > < / tr >
< tr class = "separator:af7373bd3a4ee8fcf28a316230ed37fc0" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:a5ea0f667687d3a832f8c9806ccbe6792" > < 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#a5ea0f667687d3a832f8c9806ccbe6792" > getCell< / a > () const< / td > < / tr >
< tr class = "separator:a5ea0f667687d3a832f8c9806ccbe6792" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:ad8902daa6817d4275be5e3a37eb24424" > < td class = "memItemLeft" align = "right" valign = "top" > const Katabatic::GCellVector &   < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "classKite_1_1NegociateWindow.html#ad8902daa6817d4275be5e3a37eb24424" > getGCells< / a > () const< / td > < / tr >
< tr class = "separator:ad8902daa6817d4275be5e3a37eb24424" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
2018-06-06 11:42:26 -05:00
< 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 >
2018-10-18 11:10:01 -05:00
< tr class = "memitem:aeb77fbb60f78895b010f7a12658864a6" > < 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#aeb77fbb60f78895b010f7a12658864a6" > getStage< / a > () const< / td > < / tr >
< tr class = "separator:aeb77fbb60f78895b010f7a12658864a6" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
2018-06-06 11:42:26 -05:00
< 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 >
2018-10-18 11:10:01 -05:00
< tr class = "memitem:a8d3dfaa30cedabd6b64977827ac989d8" > < td class = "memItemLeft" align = "right" valign = "top" > void  < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "classKite_1_1NegociateWindow.html#a8d3dfaa30cedabd6b64977827ac989d8" > printStatistics< / a > () const< / td > < / tr >
< tr class = "separator:a8d3dfaa30cedabd6b64977827ac989d8" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
2018-06-06 11:42:26 -05:00
< / 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 >
2018-10-18 11:10:01 -05:00
< a id = "aca8133200c1122e29b87b314d82604eb" > < / a >
< h2 class = "memtitle" > < span class = "permalink" > < a href = "#aca8133200c1122e29b87b314d82604eb" > ◆ < / a > < / span > Stage< / h2 >
2018-06-06 11:42:26 -05:00
< 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" >
2018-10-18 11:10:01 -05:00
< tr > < th colspan = "2" > Enumerator< / th > < / tr > < tr > < td class = "fieldname" > < a id = "aca8133200c1122e29b87b314d82604eba19ccda3133337a5db697480ebfd6097f" > < / a > Negociation  < / td > < td class = "fielddoc" > < p > The normal mode, priority negociation with ripup. < / p >
2018-06-06 11:42:26 -05:00
< / td > < / tr >
2018-10-18 11:10:01 -05:00
< tr > < td class = "fieldname" > < a id = "aca8133200c1122e29b87b314d82604ebabdd3263d9492edf336ac52b4a9776b82" > < / a > Packing  < / 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 >
2018-06-06 11:42:26 -05:00
< / td > < / tr >
< / table >
< / div >
< / div >
< h2 class = "groupheader" > Member Function Documentation< / h2 >
2018-10-18 11:10:01 -05:00
< a id = "ad9c37ea1398a6dfa332cb297141dc1c4" > < / a >
< h2 class = "memtitle" > < span class = "permalink" > < a href = "#ad9c37ea1398a6dfa332cb297141dc1c4" > ◆ < / a > < / span > create()< / h2 >
2018-06-06 11:42:26 -05:00
< 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 >
2018-10-18 11:10:01 -05:00
< a id = "a3a80b6032f86a56bec74609034b3246f" > < / a >
< h2 class = "memtitle" > < span class = "permalink" > < a href = "#a3a80b6032f86a56bec74609034b3246f" > ◆ < / a > < / span > destroy()< / h2 >
2018-06-06 11:42:26 -05:00
< 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 >
2018-10-18 11:10:01 -05:00
< a id = "aa1a08014471e19352a5efdabad3a87cb" > < / a >
< h2 class = "memtitle" > < span class = "permalink" > < a href = "#aa1a08014471e19352a5efdabad3a87cb" > ◆ < / a > < / span > isInterrupted()< / h2 >
2018-06-06 11:42:26 -05:00
< 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 >
2018-10-18 11:10:01 -05:00
< a id = "af7373bd3a4ee8fcf28a316230ed37fc0" > < / a >
< h2 class = "memtitle" > < span class = "permalink" > < a href = "#af7373bd3a4ee8fcf28a316230ed37fc0" > ◆ < / a > < / span > getKiteEngine()< / h2 >
2018-06-06 11:42:26 -05:00
< 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 >
2018-10-18 11:10:01 -05:00
< p class = "reference" > Referenced by < a class = "el" href = "classKite_1_1NegociateWindow.html#a8d3dfaa30cedabd6b64977827ac989d8" > NegociateWindow::printStatistics()< / a > .< / p >
2018-08-19 06:27:09 -05:00
2018-06-06 11:42:26 -05:00
< / div >
< / div >
2018-10-18 11:10:01 -05:00
< a id = "a5ea0f667687d3a832f8c9806ccbe6792" > < / a >
< h2 class = "memtitle" > < span class = "permalink" > < a href = "#a5ea0f667687d3a832f8c9806ccbe6792" > ◆ < / a > < / span > getCell()< / h2 >
2018-06-06 11:42:26 -05:00
< 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 >
2018-10-18 11:10:01 -05:00
< p class = "reference" > Referenced by < a class = "el" href = "classKite_1_1NegociateWindow.html#a8d3dfaa30cedabd6b64977827ac989d8" > NegociateWindow::printStatistics()< / a > .< / p >
2018-08-19 06:27:09 -05:00
2018-06-06 11:42:26 -05:00
< / div >
< / div >
2018-10-18 11:10:01 -05:00
< a id = "ad8902daa6817d4275be5e3a37eb24424" > < / a >
< h2 class = "memtitle" > < span class = "permalink" > < a href = "#ad8902daa6817d4275be5e3a37eb24424" > ◆ < / a > < / span > getGCells()< / h2 >
2018-06-06 11:42:26 -05:00
< 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 >
2018-10-18 11:10:01 -05:00
< a id = "a80fc29623500b168c49ba14c49a00a76" > < / a >
< h2 class = "memtitle" > < span class = "permalink" > < a href = "#a80fc29623500b168c49ba14c49a00a76" > ◆ < / a > < / span > getEventQueue()< / h2 >
2018-06-06 11:42:26 -05:00
< 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 >
2018-10-18 11:10:01 -05:00
< a id = "a990d738cf85fa016589edaa08d736d4f" > < / a >
< h2 class = "memtitle" > < span class = "permalink" > < a href = "#a990d738cf85fa016589edaa08d736d4f" > ◆ < / a > < / span > getEventHistory()< / h2 >
2018-06-06 11:42:26 -05:00
< 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 >
2018-10-18 11:10:01 -05:00
< a id = "a9a41d40e5e378b9bcb99048262ec15a6" > < / a >
< h2 class = "memtitle" > < span class = "permalink" > < a href = "#a9a41d40e5e378b9bcb99048262ec15a6" > ◆ < / a > < / span > getEventLoop()< / h2 >
2018-06-06 11:42:26 -05:00
< 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 >
2018-10-18 11:10:01 -05:00
< a id = "aeb77fbb60f78895b010f7a12658864a6" > < / a >
< h2 class = "memtitle" > < span class = "permalink" > < a href = "#aeb77fbb60f78895b010f7a12658864a6" > ◆ < / a > < / span > getStage()< / h2 >
2018-06-06 11:42:26 -05:00
< 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 >
2018-10-18 11:10:01 -05:00
< a id = "a329dbc5bc549e3fe354996368dbf7113" > < / a >
< h2 class = "memtitle" > < span class = "permalink" > < a href = "#a329dbc5bc549e3fe354996368dbf7113" > ◆ < / a > < / span > setGCells()< / h2 >
2018-06-06 11:42:26 -05:00
< 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 >
2018-10-18 11:10:01 -05:00
< a id = "a7c0d10dab2d32985e942b7678dcccafd" > < / a >
< h2 class = "memtitle" > < span class = "permalink" > < a href = "#a7c0d10dab2d32985e942b7678dcccafd" > ◆ < / a > < / span > setInterrupt()< / h2 >
2018-06-06 11:42:26 -05:00
< 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 >
2018-10-18 11:10:01 -05:00
< a id = "aad6b43971b936f7ea003d3ad0fd07532" > < / a >
< h2 class = "memtitle" > < span class = "permalink" > < a href = "#aad6b43971b936f7ea003d3ad0fd07532" > ◆ < / a > < / span > setStage()< / h2 >
2018-06-06 11:42:26 -05:00
< 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 >
2018-10-18 11:10:01 -05:00
< a id = "a4936106670361df6b6f3ef0b6088c9dc" > < / a >
< h2 class = "memtitle" > < span class = "permalink" > < a href = "#a4936106670361df6b6f3ef0b6088c9dc" > ◆ < / a > < / span > computeWirelength()< / h2 >
2018-06-06 11:42:26 -05:00
< 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 >
2018-10-18 11:10:01 -05:00
< p class = "reference" > Referenced by < a class = "el" href = "classKite_1_1NegociateWindow.html#a61e848b73b597f54e2e83e13eb70ff83" > NegociateWindow::run()< / a > .< / p >
2018-08-19 06:27:09 -05:00
2018-06-06 11:42:26 -05:00
< / div >
< / div >
2018-10-18 11:10:01 -05:00
< a id = "a7bf31fcd4e4007e62454689ef7c553fc" > < / a >
< h2 class = "memtitle" > < span class = "permalink" > < a href = "#a7bf31fcd4e4007e62454689ef7c553fc" > ◆ < / a > < / span > createTrackSegment()< / h2 >
2018-06-06 11:42:26 -05:00
< 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 >
2018-10-18 11:10:01 -05:00
< a id = "a51ba8e6a122c0cb93174027658cade63" > < / a >
< h2 class = "memtitle" > < span class = "permalink" > < a href = "#a51ba8e6a122c0cb93174027658cade63" > ◆ < / a > < / span > addRoutingEvent()< / h2 >
2018-06-06 11:42:26 -05:00
< 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 >
2018-10-18 11:10:01 -05:00
< p class = "reference" > Referenced by < a class = "el" href = "classKite_1_1TrackSegment.html#a0ffe603ec7d46f21f5e56ccbe84c03fb" > TrackSegment::reschedule()< / a > .< / p >
2018-06-06 11:42:26 -05:00
< / div >
< / div >
2018-10-18 11:10:01 -05:00
< a id = "acad8f73494d122463d65797d337ce275" > < / a >
< h2 class = "memtitle" > < span class = "permalink" > < a href = "#acad8f73494d122463d65797d337ce275" > ◆ < / a > < / span > rescheduleEvent()< / h2 >
2018-06-06 11:42:26 -05:00
< 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 >
2018-10-18 11:10:01 -05:00
< p class = "reference" > Referenced by < a class = "el" href = "classKite_1_1TrackSegment.html#a0ffe603ec7d46f21f5e56ccbe84c03fb" > TrackSegment::reschedule()< / a > .< / p >
2018-06-06 11:42:26 -05:00
< / div >
< / div >
2018-10-18 11:10:01 -05:00
< a id = "a61e848b73b597f54e2e83e13eb70ff83" > < / a >
< h2 class = "memtitle" > < span class = "permalink" > < a href = "#a61e848b73b597f54e2e83e13eb70ff83" > ◆ < / a > < / span > run()< / h2 >
2018-06-06 11:42:26 -05:00
< 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 >
2018-10-18 11:10:01 -05:00
< a id = "a8d3dfaa30cedabd6b64977827ac989d8" > < / a >
< h2 class = "memtitle" > < span class = "permalink" > < a href = "#a8d3dfaa30cedabd6b64977827ac989d8" > ◆ < / a > < / span > printStatistics()< / h2 >
2018-06-06 11:42:26 -05:00
< 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 >
2018-10-18 11:10:01 -05:00
< p class = "reference" > Referenced by < a class = "el" href = "classKite_1_1NegociateWindow.html#a61e848b73b597f54e2e83e13eb70ff83" > NegociateWindow::run()< / a > .< / p >
2018-08-19 06:27:09 -05:00
2018-06-06 11:42:26 -05:00
< / 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 >
Migrating the initialisation system to be completely Python-like.
* New: In bootstrap/coriolisEnv.py, add the "etc" directory to the
PYTHONPATH as initialization are now Python modules.
* New: In Hurricane/analogic, first groundwork for the integration of
PIP/MIM/MOM multi-capacitors. Add C++ and Python interface for the
allocation matrix and the list of capacities values.
* Change: In Hurricane::RegularLayer, add a layer parameter to the
constructor so the association between the RegularLayer and it's
BasicLayer can readily be done.
* Change: In Hurricane::Layer, add a new getCut() accessor to get the
cut layer in ViaLayer.
* Change: In Hurricane::DataBase::get(), the Python wrapper should no
longer consider an error if the data-base has not been created yet.
Just return None.
* Bug: In Isobar::PyLayer::getEnclosure() wrapper, if the overall
enclosure is requested, pass the right parameter to the C++ function.
* Change: In AllianceFramework, make public _bindLibraries() and export
it to the Python interface.
* Change: In AllianceFramework::create(), do not longer call bindLibraries().
This now must be done explicitely and afterwards.
* Change: In AllianceFramework::createLibrary() and
Environement::addSYSTEM_LIBRARY(), minor bug corrections that I don't
recall.
* Change: In SearchPath::prepend(), set the selected index to zero and
return it.
* Change: In CRL::System CTOR, add "etc" to the PYTHONPATH as the
configuration files are now organized as Python modules.
* New: In PyCRL, export the CRL::System singleton, it's creation is no
longer triggered by the one of AllianceFramework.
* New: In CRL/etc/, convert most of the configuration files into the
Python module format. For now, keep the old ".conf", but that are no
longer used.
For the real technologies, we cannot keep the directory name as
"180" or "45" as it not allowed by Python syntax, so we create "node180"
or "node45" instead.
Most of the helpers and coriolisInit.py are no longer used now.
To be removed in future commits after being sure that everything
works...
* Bug: In AutoSegment::makeDogleg(AutoContact*), the layer of the contacts
where badly computed when one end of the original segment was attached
to a non-preferred direction segment (mostly on terminal contacts).
Now use the new AutoContact::updateLayer() method.
* Bug: In Dijkstra::load(), limit symetric search area only if the net
is a symmetric one !
* Change: In Katana/python/katanaInit.py, comply with the new initialisation
scheme.
* Change: In Unicorn/cgt.py, comply to the new inititalization scheme.
* Change: In cumulus various Python scripts remove the call to
helpers.staticInitialization() as they are not needed now (we run in
only *one* interpreter, so we correctly share all init).
In plugins/__init__.py, read the new NDA directory variable.
* Bug: In cumulus/plugins/Chip.doCoronafloorplan(), self.railsNb was not
correctly managed when there was no clock.
* Change: In cumulus/plugins/Configuration.coronaContactArray(), compute
the viaPitch from the technology instead of the hard-coded 4.0 lambdas.
In Configuration.loadConfiguration(), read the "ioring.py" from
the new user's settings module.
* Bug: In stratus.dpgen_ADSB2F, gives coordinates translated into DbU to
the XY functions.
In st_model.Save(), use the VstUseConcat flag to get correct VST files.
In st_net.hur_net(), when a net is POWER/GROUND or CLOCK also make it
global.
* Change: In Oroshi/python/WIP_Transistor.py, encapsulate the generator
inside a try/except block to get prettier error (and stop at the first).
2019-10-28 12:09:14 -05:00
< td class = "LFooter" > < small > Generated by doxygen 1.8.14 on Mon Oct 28 2019< / small > < / td >
2018-06-06 11:42:26 -05:00
< 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 >