No longer systematically generate a digital grid when Katana is created.
* Change: In Katana, rename "_initDatabase()" into "digitalInit()", and explicitly calls it only when we are certain to work on a digital design.
This commit is contained in:
parent
92522fef0b
commit
061480dbd9
|
@ -69,6 +69,7 @@ namespace Katana {
|
||||||
katana = KatanaEngine::create( cell );
|
katana = KatanaEngine::create( cell );
|
||||||
katana->setPostEventCb( boost::bind(&GraphicKatanaEngine::postEvent,this) );
|
katana->setPostEventCb( boost::bind(&GraphicKatanaEngine::postEvent,this) );
|
||||||
katana->setViewer( _viewer );
|
katana->setViewer( _viewer );
|
||||||
|
katana->digitalInit();
|
||||||
if (cmess1.enabled()) katana->printConfiguration();
|
if (cmess1.enabled()) katana->printConfiguration();
|
||||||
} else
|
} else
|
||||||
cerr << Warning( "%s already has a Katana engine.", getString(cell).c_str() ) << endl;
|
cerr << Warning( "%s already has a Katana engine.", getString(cell).c_str() ) << endl;
|
||||||
|
|
|
@ -143,7 +143,7 @@ namespace Katana {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void KatanaEngine::_initDataBase ()
|
void KatanaEngine::digitalInit ()
|
||||||
{
|
{
|
||||||
cdebug_log(155,1) << "KatanaEngine::_initDataBase()" << endl;
|
cdebug_log(155,1) << "KatanaEngine::_initDataBase()" << endl;
|
||||||
|
|
||||||
|
@ -163,7 +163,6 @@ namespace Katana {
|
||||||
KatanaEngine* katana = new KatanaEngine ( cell );
|
KatanaEngine* katana = new KatanaEngine ( cell );
|
||||||
|
|
||||||
katana->_postCreate();
|
katana->_postCreate();
|
||||||
katana->_initDataBase();
|
|
||||||
|
|
||||||
return katana;
|
return katana;
|
||||||
}
|
}
|
||||||
|
|
|
@ -147,6 +147,26 @@ extern "C" {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
PyObject* PyKatanaEngine_digitalInit ( PyKatanaEngine* self )
|
||||||
|
{
|
||||||
|
cdebug_log(40,0) << "PyKatanaEngine_digitalInit()" << endl;
|
||||||
|
|
||||||
|
HTRY
|
||||||
|
METHOD_HEAD("KatanaEngine.digitalInit()")
|
||||||
|
if (katana->getViewer()) {
|
||||||
|
if (ExceptionWidget::catchAllWrapper( std::bind(&KatanaEngine::digitalInit,katana) )) {
|
||||||
|
PyErr_SetString( HurricaneError, "KatanaEngine::digitalInit() has thrown an exception (C++)." );
|
||||||
|
return NULL;
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
katana->digitalInit();
|
||||||
|
}
|
||||||
|
HCATCH
|
||||||
|
|
||||||
|
Py_RETURN_NONE;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
PyObject* PyKatanaEngine_runGlobalRouter ( PyKatanaEngine* self, PyObject* args )
|
PyObject* PyKatanaEngine_runGlobalRouter ( PyKatanaEngine* self, PyObject* args )
|
||||||
{
|
{
|
||||||
cdebug_log(40,0) << "PyKatanaEngine_runGlobalRouter()" << endl;
|
cdebug_log(40,0) << "PyKatanaEngine_runGlobalRouter()" << endl;
|
||||||
|
@ -285,6 +305,8 @@ extern "C" {
|
||||||
, "Create a Katana engine on this cell." }
|
, "Create a Katana engine on this cell." }
|
||||||
, { "setViewer" , (PyCFunction)PyKatanaEngine_setViewer , METH_VARARGS
|
, { "setViewer" , (PyCFunction)PyKatanaEngine_setViewer , METH_VARARGS
|
||||||
, "Associate a Viewer to this KatanaEngine." }
|
, "Associate a Viewer to this KatanaEngine." }
|
||||||
|
, { "digitalInit" , (PyCFunction)PyKatanaEngine_digitalInit , METH_NOARGS
|
||||||
|
, "Setup Katana for digital routing." }
|
||||||
, { "printConfiguration" , (PyCFunction)PyKatanaEngine_printConfiguration , METH_NOARGS
|
, { "printConfiguration" , (PyCFunction)PyKatanaEngine_printConfiguration , METH_NOARGS
|
||||||
, "Display on the console the configuration of Katana." }
|
, "Display on the console the configuration of Katana." }
|
||||||
, { "getToolSuccess" , (PyCFunction)PyKatanaEngine_getToolSuccess , METH_NOARGS
|
, { "getToolSuccess" , (PyCFunction)PyKatanaEngine_getToolSuccess , METH_NOARGS
|
||||||
|
|
|
@ -105,6 +105,7 @@ namespace Katana {
|
||||||
void setupGlobalGraph ( unsigned int mode );
|
void setupGlobalGraph ( unsigned int mode );
|
||||||
void annotateGlobalGraph ();
|
void annotateGlobalGraph ();
|
||||||
void setFixedPreRouted ();
|
void setFixedPreRouted ();
|
||||||
|
void digitalInit ();
|
||||||
void runNegociate ( unsigned int flags=Flags::NoFlags );
|
void runNegociate ( unsigned int flags=Flags::NoFlags );
|
||||||
void runGlobalRouter ();
|
void runGlobalRouter ();
|
||||||
virtual void finalizeLayout ();
|
virtual void finalizeLayout ();
|
||||||
|
@ -134,7 +135,6 @@ namespace Katana {
|
||||||
virtual ~KatanaEngine ();
|
virtual ~KatanaEngine ();
|
||||||
virtual void _postCreate ();
|
virtual void _postCreate ();
|
||||||
virtual void _preDestroy ();
|
virtual void _preDestroy ();
|
||||||
void _initDataBase ();
|
|
||||||
private:
|
private:
|
||||||
KatanaEngine ( const KatanaEngine& );
|
KatanaEngine ( const KatanaEngine& );
|
||||||
KatanaEngine& operator= ( const KatanaEngine& );
|
KatanaEngine& operator= ( const KatanaEngine& );
|
||||||
|
|
Loading…
Reference in New Issue