In Etesian & Anabatic, use the "anabatic.routingGauge" conf. parameter.

* Change: In Etesian::Configuration CTOR, use the gauge from the
    configuration parameter "anabatic.routinGauge" instead of the default
    one.
* Change: In Anabatic::Configuration CTOR, use the gauge from the
    configuration parameter "anabatic.routinGauge" instead of the default
    one.
This commit is contained in:
Jean-Paul Chaput 2019-05-10 11:54:32 +02:00
parent 43629a6c1c
commit ce60ed5a30
2 changed files with 20 additions and 6 deletions

View File

@ -91,12 +91,14 @@ namespace Anabatic {
{ {
GCell::setDisplayMode( Cfg::getParamEnumerate("anabatic.gcell.displayMode", GCell::Boundary)->asInt() ); GCell::setDisplayMode( Cfg::getParamEnumerate("anabatic.gcell.displayMode", GCell::Boundary)->asInt() );
if (cg == NULL) cg = AllianceFramework::get()->getCellGauge(); string gaugeName = Cfg::getParamString("anabatic.routingGauge","sxlib")->asString();
if (cg == NULL) if (cg == NULL) {
throw Error( "AnabaticEngine::Configuration(): Unable to find default cell gauge." ); cg = AllianceFramework::get()->getCellGauge( gaugeName );
if (cg == NULL)
throw Error( "AnabaticEngine::Configuration(): Unable to find default cell gauge." );
}
if (rg == NULL) { if (rg == NULL) {
string gaugeName = Cfg::getParamString("anabatic.routingGauge","sxlib")->asString();
rg = AllianceFramework::get()->getRoutingGauge( gaugeName ); rg = AllianceFramework::get()->getRoutingGauge( gaugeName );
if (rg == NULL) if (rg == NULL)
throw Error( "AnabaticEngine::Configuration(): No routing gauge named \"%s\"", gaugeName.c_str() ); throw Error( "AnabaticEngine::Configuration(): No routing gauge named \"%s\"", gaugeName.c_str() );

View File

@ -18,6 +18,7 @@
#include <iomanip> #include <iomanip>
#include <vector> #include <vector>
#include "vlsisapd/configuration/Configuration.h" #include "vlsisapd/configuration/Configuration.h"
#include "hurricane/Error.h"
#include "hurricane/Warning.h" #include "hurricane/Warning.h"
#include "hurricane/Technology.h" #include "hurricane/Technology.h"
#include "hurricane/DataBase.h" #include "hurricane/DataBase.h"
@ -38,6 +39,7 @@ namespace Etesian {
using std::ostringstream; using std::ostringstream;
using std::vector; using std::vector;
using Hurricane::tab; using Hurricane::tab;
using Hurricane::Error;
using Hurricane::Warning; using Hurricane::Warning;
using Hurricane::Technology; using Hurricane::Technology;
using Hurricane::DataBase; using Hurricane::DataBase;
@ -59,8 +61,18 @@ namespace Etesian {
, _aspectRatio ( Cfg::getParamPercentage("etesian.aspectRatio" ,100.0)->asDouble() ) , _aspectRatio ( Cfg::getParamPercentage("etesian.aspectRatio" ,100.0)->asDouble() )
, _feedNames ( Cfg::getParamString ("etesian.feedNames" ,"tie_x0,rowend_x0")->asString() ) , _feedNames ( Cfg::getParamString ("etesian.feedNames" ,"tie_x0,rowend_x0")->asString() )
{ {
if (rg == NULL) rg = AllianceFramework::get()->getRoutingGauge(); string gaugeName = Cfg::getParamString("anabatic.routingGauge","sxlib")->asString();
if (cg == NULL) cg = AllianceFramework::get()->getCellGauge(); if (cg == NULL) {
cg = AllianceFramework::get()->getCellGauge( gaugeName );
if (cg == NULL)
throw Error( "AnabaticEngine::Configuration(): Unable to find default cell gauge." );
}
if (rg == NULL) {
rg = AllianceFramework::get()->getRoutingGauge( gaugeName );
if (rg == NULL)
throw Error( "AnabaticEngine::Configuration(): No routing gauge named \"%s\"", gaugeName.c_str() );
}
_rg = rg->getClone(); _rg = rg->getClone();
_cg = cg->getClone(); _cg = cg->getClone();