Perform the routing, main RoutingEvent manager.
More...
Perform the routing, main RoutingEvent manager.
This object perform the routing. That is creates all the initial RoutingEvent, load them into the queue and then process the queue until it is empty, that is, the routing is finished.
This object is the owner of the RoutingEventQueue, RoutingEventHistory and RoutingEventLoop used all troughout RoutingEvent and SegmentFsm.
◆ Stage
The state under which the router is operating.
Enumerator |
---|
Negociation | The normal mode, priority negociation with ripup.
|
Packing | Try to find a better placement for segment but just by looking for other fully free spaces. No ripup is performed.
|
◆ create()
The publicly avalaible contructor. Route the whole are defined by the Kite associated Cell abutment box.
◆ destroy()
The publicly avalaible destructor.
◆ isInterrupted()
bool isInterrupted |
( |
| ) |
const |
|
inline |
◆ getKiteEngine()
◆ getCell()
Returns: The associated Cell.
◆ getGCells()
const Katabatic::GCellVector & getGCells |
( |
| ) |
const |
|
inline |
Returns: A Copy of the vector of GCell from KatabaticEngine. The vector is copied but not the GCell themselves (shallow copy).
◆ getEventQueue()
◆ getEventHistory()
◆ getEventLoop()
◆ getStage()
Returns: The stage (NegicateWindow::Stage) into which the NegociateWindow is running.
◆ setGCells()
void setGCells |
( |
const Katabatic::GCellVector & |
v | ) |
|
Sets the GCell vector from KatabaticEngine (perform a shallow copy).
◆ setInterrupt()
void setInterrupt |
( |
bool |
state | ) |
|
|
inline |
Sets or unset the interruption flag.
◆ setStage()
void setStage |
( |
Stage |
stage | ) |
|
|
inline |
◆ computeWirelength()
double computeWirelength |
( |
| ) |
|
Compute the total wirelength of the circuit. It is not completly accurate because overlaps are not took into accounts.
Referenced by NegociateWindow::run().
◆ createTrackSegment()
◆ addRoutingEvent()
void addRoutingEvent |
( |
TrackElement * |
segment, |
|
|
unsigned int |
level |
|
) |
| |
◆ rescheduleEvent()
void rescheduleEvent |
( |
RoutingEvent * |
event, |
|
|
unsigned int |
level |
|
) |
| |
|
inline |
◆ run()
void run |
( |
unsigned int |
flags | ) |
|
Perform the routing.
slowMotion
is not implemented yet.
◆ printStatistics()
void printStatistics |
( |
| ) |
const |
Display some statistics about the routing, compute the internal complete statistics.
Referenced by NegociateWindow::run().
The documentation for this class was generated from the following files: