* ./nimbus,
./metis, ./mauka, ./katabatic, ./kite : - Change: switch toward the XML configuration system. Suppress the need of a default static configuration (now built on demand from the XML database). In Mauka and Kite, suppress the ConfigurationWidget, wich are obsoleted by the generic XML configuration widget.
This commit is contained in:
parent
541a48531e
commit
912023ffac
|
@ -40,6 +40,7 @@ IF(BUILD_DOC)
|
||||||
FIND_PACKAGE(Doxygen)
|
FIND_PACKAGE(Doxygen)
|
||||||
ENDIF(BUILD_DOC)
|
ENDIF(BUILD_DOC)
|
||||||
FIND_PACKAGE(Qt4 REQUIRED) # find and setup Qt4 for this project
|
FIND_PACKAGE(Qt4 REQUIRED) # find and setup Qt4 for this project
|
||||||
|
FIND_PACKAGE(VLSISAPD REQUIRED)
|
||||||
FIND_PACKAGE(HURRICANE REQUIRED)
|
FIND_PACKAGE(HURRICANE REQUIRED)
|
||||||
FIND_PACKAGE(CORIOLIS REQUIRED)
|
FIND_PACKAGE(CORIOLIS REQUIRED)
|
||||||
|
|
||||||
|
|
|
@ -4,6 +4,7 @@
|
||||||
include_directories ( ${NIMBUS_SOURCE_DIR}/src
|
include_directories ( ${NIMBUS_SOURCE_DIR}/src
|
||||||
${HURRICANE_INCLUDE_DIR}
|
${HURRICANE_INCLUDE_DIR}
|
||||||
${CORIOLIS_INCLUDE_DIR}
|
${CORIOLIS_INCLUDE_DIR}
|
||||||
|
${CONFIGURATION_INCLUDE_DIR}
|
||||||
)
|
)
|
||||||
set ( includes nimbus/Configuration.h
|
set ( includes nimbus/Configuration.h
|
||||||
nimbus/SplitterContact.h nimbus/SplitterContacts.h
|
nimbus/SplitterContact.h nimbus/SplitterContacts.h
|
||||||
|
|
|
@ -26,6 +26,7 @@
|
||||||
#include <iostream>
|
#include <iostream>
|
||||||
#include <iomanip>
|
#include <iomanip>
|
||||||
|
|
||||||
|
#include "vlsisapd/configuration/Configuration.h"
|
||||||
#include "hurricane/Cell.h"
|
#include "hurricane/Cell.h"
|
||||||
#include "crlcore/Utilities.h"
|
#include "crlcore/Utilities.h"
|
||||||
#include "crlcore/AllianceFramework.h"
|
#include "crlcore/AllianceFramework.h"
|
||||||
|
@ -42,6 +43,7 @@ namespace Nimbus {
|
||||||
using std::setprecision;
|
using std::setprecision;
|
||||||
using std::ostringstream;
|
using std::ostringstream;
|
||||||
using std::string;
|
using std::string;
|
||||||
|
using Cfg::Parameter;
|
||||||
using Hurricane::tab;
|
using Hurricane::tab;
|
||||||
using Hurricane::inltrace;
|
using Hurricane::inltrace;
|
||||||
using CRL::AllianceFramework;
|
using CRL::AllianceFramework;
|
||||||
|
@ -51,30 +53,16 @@ namespace Nimbus {
|
||||||
// Class : "Nimbus::Configuration".
|
// Class : "Nimbus::Configuration".
|
||||||
|
|
||||||
|
|
||||||
Configuration* Configuration::_default = NULL;
|
|
||||||
|
|
||||||
|
|
||||||
Configuration* Configuration::getDefault ()
|
|
||||||
{
|
|
||||||
if ( _default == NULL ) {
|
|
||||||
_default = new Configuration ( AllianceFramework::get()->getCellGauge()
|
|
||||||
, AllianceFramework::get()->getRoutingGauge()
|
|
||||||
);
|
|
||||||
}
|
|
||||||
return _default;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
Configuration::Configuration ( CellGauge* cg, RoutingGauge* rg )
|
Configuration::Configuration ( CellGauge* cg, RoutingGauge* rg )
|
||||||
: _cellGauge (NULL)
|
: _cellGauge (NULL)
|
||||||
, _routingGauge (NULL)
|
, _routingGauge (NULL)
|
||||||
, _pinsPlacement(false)
|
, _pinsPlacement(Cfg::getParamBool ("nimbus.pinsPlacement",false)->asBool ())
|
||||||
, _aspectRatio (1.00)
|
, _aspectRatio (Cfg::getParamPercentage("nimbus.aspectRatio" ,100.0)->asDouble())
|
||||||
, _margin (0.40)
|
, _margin (Cfg::getParamPercentage("nimbus.spaceMargin" , 40.0)->asDouble())
|
||||||
, _workZone ()
|
, _workZone ()
|
||||||
{
|
{
|
||||||
_cellGauge = cg->getClone();
|
_cellGauge = (cg != NULL) ? cg->getClone() : AllianceFramework::get()->getCellGauge();
|
||||||
_routingGauge = rg->getClone();
|
_routingGauge = (rg != NULL) ? rg->getClone() : AllianceFramework::get()->getRoutingGauge();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -92,10 +80,6 @@ namespace Nimbus {
|
||||||
{ }
|
{ }
|
||||||
|
|
||||||
|
|
||||||
Configuration* Configuration::clone () const
|
|
||||||
{ return new Configuration(*this); }
|
|
||||||
|
|
||||||
|
|
||||||
void Configuration::print ( Cell* cell ) const
|
void Configuration::print ( Cell* cell ) const
|
||||||
{
|
{
|
||||||
cout << " o Configuration of ToolEngine<Nimbus> for Cell <" << cell->getName() << ">" << endl;
|
cout << " o Configuration of ToolEngine<Nimbus> for Cell <" << cell->getName() << ">" << endl;
|
||||||
|
|
|
@ -363,7 +363,7 @@ const Name NimbusEngine::_toolName = "Nimbus";
|
||||||
NimbusEngine::NimbusEngine (Cell* cell, const Box& workZone)
|
NimbusEngine::NimbusEngine (Cell* cell, const Box& workZone)
|
||||||
// *********************************************************
|
// *********************************************************
|
||||||
: Inherit (cell)
|
: Inherit (cell)
|
||||||
, _configuration (Configuration::getDefault()->clone())
|
, _configuration (new Configuration())
|
||||||
, _depth (0)
|
, _depth (0)
|
||||||
, _placementBoxSet()
|
, _placementBoxSet()
|
||||||
, _routingBoxSet ()
|
, _routingBoxSet ()
|
||||||
|
|
|
@ -58,13 +58,10 @@ namespace Nimbus {
|
||||||
|
|
||||||
|
|
||||||
class Configuration {
|
class Configuration {
|
||||||
public:
|
|
||||||
static Configuration* getDefault ();
|
|
||||||
public:
|
public:
|
||||||
// Constructor & Destruct or.
|
// Constructor & Destruct or.
|
||||||
Configuration ( CellGauge*, RoutingGauge* );
|
Configuration ( CellGauge* cg=NULL, RoutingGauge* rg=NULL );
|
||||||
~Configuration ();
|
~Configuration ();
|
||||||
Configuration* clone () const;
|
|
||||||
// Methods.
|
// Methods.
|
||||||
inline const CellGauge* getCellGauge () const;
|
inline const CellGauge* getCellGauge () const;
|
||||||
inline const RoutingGauge* getRoutingGauge () const;
|
inline const RoutingGauge* getRoutingGauge () const;
|
||||||
|
@ -88,7 +85,6 @@ namespace Nimbus {
|
||||||
std::string _getTypeName () const;
|
std::string _getTypeName () const;
|
||||||
private:
|
private:
|
||||||
// Attributes.
|
// Attributes.
|
||||||
static Configuration* _default;
|
|
||||||
CellGauge* _cellGauge;
|
CellGauge* _cellGauge;
|
||||||
RoutingGauge* _routingGauge;
|
RoutingGauge* _routingGauge;
|
||||||
bool _pinsPlacement;
|
bool _pinsPlacement;
|
||||||
|
|
Loading…
Reference in New Issue