Layer assignment step was ignoring the number of RoutingPad threshold.
* Bug: In Anabatic::layerAssign(), during the step of desaturation of GCells that contains too much terminals (i.e. lot of *local* congestion), the desaturation threshold was har-coded to 8. Wich is fine for symbolic cmos but way too low for Flexlib. End result was that most straight wires where moved towards the upper layers, creating congestion (imbalance of layer densities). Now the parameter: * "anabatic.saturateRp" (default value:8) is correctly taken into account.
This commit is contained in:
parent
a4ad671739
commit
64056d25ee
|
@ -987,7 +987,7 @@ namespace Anabatic {
|
|||
rps.insert( terminal->getRoutingPad() );
|
||||
}
|
||||
}
|
||||
if (rps.size() > 8) {
|
||||
if (rps.size() > getConfiguration()->getSaturateRp()) {
|
||||
GCellRps* gcellRps = new GCellRps ( gcell, this );
|
||||
gcellRpss.insert( gcellRps );
|
||||
|
||||
|
|
|
@ -183,6 +183,7 @@ namespace Katana {
|
|||
cout << Dots::asUInt (" - Dijkstra GR search halo" ,getSearchHalo()) << endl;
|
||||
cout << Dots::asBool (" - Use GR density estimate" ,useGlobalEstimate()) << endl;
|
||||
cout << Dots::asBool (" - Use static bloat profile" ,useStaticBloatProfile()) << endl;
|
||||
cout << Dots::asInt (" - GCell terminal(RP) saturate number" ,getSaturateRp()) << endl;
|
||||
cout << Dots::asDouble(" - GCell saturate ratio (LA)" ,getSaturateRatio()) << endl;
|
||||
cout << Dots::asUInt (" - Long wire threshold1 for move up" ,_longWireUpThreshold1) << endl;
|
||||
cout << Dots::asDouble(" - Long wire reserved1 for move up" ,_longWireUpReserve1) << endl;
|
||||
|
|
Loading…
Reference in New Issue