Skip to content

Commit 057df09

Browse files
committed
Changed DB_ECO debug message format
Signed-off-by: Jaehyun Kim <jhkim@precisioninno.com>
1 parent 4bff02d commit 057df09

8 files changed

Lines changed: 322 additions & 173 deletions

File tree

src/odb/include/odb/db.h

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1757,6 +1757,7 @@ class dbNet : public dbObject
17571757
public:
17581758
///
17591759
/// Get the net name.
1760+
/// - It is a hierarchical net name.
17601761
///
17611762
std::string getName() const;
17621763

@@ -2536,12 +2537,17 @@ class dbInst : public dbObject
25362537
///
25372538
/// Get the instance name.
25382539
///
2539-
std::string getName();
2540+
std::string getName() const;
2541+
2542+
///
2543+
/// Get the hierarchical instance name.
2544+
///
2545+
std::string getHierarchicalName() const;
25402546

25412547
///
25422548
/// Need a version that does not do strdup every time
25432549
///
2544-
const char* getConstName();
2550+
const char* getConstName() const;
25452551

25462552
///
25472553
/// Compare, like !strcmp
@@ -2830,7 +2836,7 @@ class dbInst : public dbObject
28302836
///
28312837
/// Get the block of this instance.
28322838
///
2833-
dbBlock* getBlock();
2839+
dbBlock* getBlock() const;
28342840

28352841
///
28362842
/// Get the Master of this instance.

src/odb/src/db/dbBTerm.cpp

Lines changed: 44 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -619,10 +619,11 @@ dbBTerm* dbBTerm::create(dbNet* net_, const char* name)
619619
utl::ODB,
620620
"DB_ECO",
621621
1,
622-
"ECO: create dbBTerm '{}' on dbNet({}) '{}'",
622+
"ECO: create dbBTerm '{}' on dbNet({}, {:p}) '{}'",
623623
name,
624-
net_->getId(),
625-
net_->getName());
624+
net->getId(),
625+
static_cast<void*>(net),
626+
net->_name);
626627
block->_journal->beginAction(dbJournal::CREATE_OBJECT);
627628
block->_journal->pushParam(dbBTermObj);
628629
block->_journal->pushParam(net->getId());
@@ -683,9 +684,13 @@ void _dbBTerm::connectModNet(_dbModNet* mod_net, _dbBlock* block)
683684
utl::ODB,
684685
"DB_ECO",
685686
1,
686-
"ECO: connect dbBTerm({}) to dbModNet({})",
687+
"ECO: connect dbBTerm({} {:p}) '{}' to dbModNet({} {:p}) '{}'",
687688
bterm->getId(),
688-
mod_net->getId());
689+
static_cast<void*>(bterm),
690+
bterm->_name,
691+
mod_net->getId(),
692+
static_cast<void*>(mod_net),
693+
((dbModNet*) mod_net)->getHierarchicalName());
689694

690695
block->_journal->beginAction(dbJournal::CONNECT_OBJECT);
691696
block->_journal->pushParam(dbBTermObj);
@@ -717,9 +722,13 @@ void _dbBTerm::connectNet(_dbNet* net, _dbBlock* block)
717722
utl::ODB,
718723
"DB_ECO",
719724
1,
720-
"ECO: connect dbBTerm({}) to dbNet({})",
725+
"ECO: connect dbBTerm({} {:p}) '{}' to dbNet({} {:p}) '{}'",
721726
bterm->getId(),
722-
net->getId());
727+
static_cast<void*>(bterm),
728+
bterm->_name,
729+
net->getId(),
730+
static_cast<void*>(net),
731+
((dbNet*) net)->getName());
723732
block->_journal->beginAction(dbJournal::CONNECT_OBJECT);
724733
block->_journal->pushParam(dbBTermObj);
725734
block->_journal->pushParam(bterm->getId());
@@ -781,8 +790,10 @@ void dbBTerm::destroy(dbBTerm* bterm_)
781790
utl::ODB,
782791
"DB_ECO",
783792
1,
784-
"ECO: delete dbBTerm({})",
785-
bterm_->getId());
793+
"ECO: delete dbBTerm({}, {:p}) '{}'",
794+
bterm->getId(),
795+
static_cast<void*>(bterm),
796+
bterm->_name);
786797
block->_journal->beginAction(dbJournal::DELETE_OBJECT);
787798
block->_journal->pushParam(dbBTermObj);
788799
block->_journal->pushParam(bterm_->getId());
@@ -801,13 +812,18 @@ void _dbBTerm::disconnectNet(_dbBTerm* bterm, _dbBlock* block)
801812

802813
// Journal
803814
if (block->_journal) {
804-
debugPrint(block->getImpl()->getLogger(),
805-
utl::ODB,
806-
"DB_ECO",
807-
1,
808-
"ECO: disconnect dbBTerm({}) from dbNet({})",
809-
bterm->getId(),
810-
net->getId());
815+
debugPrint(
816+
block->getImpl()->getLogger(),
817+
utl::ODB,
818+
"DB_ECO",
819+
1,
820+
"ECO: disconnect dbBTerm({} {:p}) '{}' from dbNet({} {:p}) '{}'",
821+
bterm->getId(),
822+
static_cast<void*>(bterm),
823+
bterm->_name,
824+
net->getId(),
825+
static_cast<void*>(net),
826+
net->_name);
811827
block->_journal->beginAction(dbJournal::DISCONNECT_OBJECT);
812828
block->_journal->pushParam(dbBTermObj);
813829
block->_journal->pushParam(bterm->getId());
@@ -854,13 +870,18 @@ void _dbBTerm::disconnectModNet(_dbBTerm* bterm, _dbBlock* block)
854870
_dbModNet* mod_net = block->_modnet_tbl->getPtr(bterm->_mnet);
855871

856872
if (block->_journal) {
857-
debugPrint(block->getImpl()->getLogger(),
858-
utl::ODB,
859-
"DB_ECO",
860-
1,
861-
"ECO: disconnect dbBTerm({}) from dbModNet({})",
862-
bterm->getId(),
863-
mod_net->getId());
873+
debugPrint(
874+
block->getImpl()->getLogger(),
875+
utl::ODB,
876+
"DB_ECO",
877+
1,
878+
"ECO: disconnect dbBTerm({} {:p}) '{}' from dbModNet({} {:p}) '{}'",
879+
bterm->getId(),
880+
static_cast<void*>(bterm),
881+
bterm->_name,
882+
mod_net->getId(),
883+
static_cast<void*>(mod_net),
884+
((dbModNet*) mod_net)->getHierarchicalName());
864885
block->_journal->beginAction(dbJournal::DISCONNECT_OBJECT);
865886
block->_journal->pushParam(dbBTermObj);
866887
block->_journal->pushParam(bterm->getId());

src/odb/src/db/dbITerm.cpp

Lines changed: 46 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -197,22 +197,26 @@ dbBlock* dbITerm::getBlock() const
197197
{
198198
return (dbBlock*) getImpl()->getOwner();
199199
}
200+
200201
void dbITerm::setClocked(bool v)
201202
{
202203
_dbITerm* iterm = (_dbITerm*) this;
203204
iterm->_flags._clocked = v;
204205
}
206+
205207
bool dbITerm::isClocked()
206208
{
207209
bool masterFlag = getMTerm()->getSigType() == dbSigType::CLOCK ? true : false;
208210
_dbITerm* iterm = (_dbITerm*) this;
209211
return iterm->_flags._clocked > 0 || masterFlag ? true : false;
210212
}
213+
211214
void dbITerm::setMark(uint v)
212215
{
213216
_dbITerm* iterm = (_dbITerm*) this;
214217
iterm->_flags._mark = v;
215218
}
219+
216220
bool dbITerm::isSetMark()
217221
{
218222
_dbITerm* iterm = (_dbITerm*) this;
@@ -345,15 +349,17 @@ void dbITerm::connect(dbNet* net_)
345349
}
346350

347351
if (block->_journal) {
348-
debugPrint(iterm->getImpl()->getLogger(),
349-
utl::ODB,
350-
"DB_ECO",
351-
1,
352-
"ECO: connect dbIterm({}) '{}' to dbNet({}) '{}'",
353-
getId(),
354-
getName(),
355-
net_->getId(),
356-
net_->getName());
352+
debugPrint(getImpl()->getLogger(),
353+
utl::ODB,
354+
"DB_ECO",
355+
1,
356+
"ECO: connect dbITerm({}, {:p}) '{}' to dbNet({}, {:p}) '{}'",
357+
getId(),
358+
static_cast<void*>(this),
359+
getName(),
360+
net->getId(),
361+
static_cast<void*>(net),
362+
net_->getName());
357363
block->_journal->beginAction(dbJournal::CONNECT_OBJECT);
358364
block->_journal->pushParam(dbITermObj);
359365
block->_journal->pushParam(getId());
@@ -426,11 +432,13 @@ void dbITerm::connect(dbModNet* mod_net)
426432
utl::ODB,
427433
"DB_ECO",
428434
1,
429-
"ECO: connect dbIterm({}) '{}' to dbModNet({}) '{}'",
435+
"ECO: connect dbITerm({} {:p}) '{}' to dbModNet({} {:p}) '{}'",
430436
getId(),
437+
static_cast<void*>(this),
431438
getName(),
432439
_mod_net->getId(),
433-
((dbModNet*) _mod_net)->getName());
440+
static_cast<void*>(_mod_net),
441+
((dbModNet*) _mod_net)->getHierarchicalName());
434442
block->_journal->beginAction(dbJournal::CONNECT_OBJECT);
435443
block->_journal->pushParam(dbITermObj);
436444
block->_journal->pushParam(getId());
@@ -473,8 +481,9 @@ void dbITerm::disconnect()
473481
_dbBlock* block = (_dbBlock*) iterm->getOwner();
474482
_dbNet* net
475483
= iterm->_net == 0 ? nullptr : block->_net_tbl->getPtr(iterm->_net);
476-
_dbModNet* mod_net
484+
_dbModNet* mod_net_impl
477485
= iterm->_mnet == 0 ? nullptr : block->_modnet_tbl->getPtr(iterm->_mnet);
486+
dbModNet* mod_net = (dbModNet*) mod_net_impl;
478487

479488
if (net && net->_flags._dont_touch) {
480489
inst->getLogger()->error(
@@ -486,19 +495,27 @@ void dbITerm::disconnect()
486495
}
487496

488497
if (block->_journal) {
489-
debugPrint(iterm->getImpl()->getLogger(),
490-
utl::ODB,
491-
"DB_ECO",
492-
1,
493-
"ECO: disconnect dbIterm({}) '{}'",
494-
getId(),
495-
getName());
498+
debugPrint(getImpl()->getLogger(),
499+
utl::ODB,
500+
"DB_ECO",
501+
1,
502+
"disconnect dbITerm({}, {:p}) '{}' from dbNet({}, {:p}) '{}' "
503+
"corresponding to dbModNet({}, {:p}) '{}'",
504+
getId(),
505+
static_cast<void*>(this),
506+
getName(),
507+
(net)? net->getId() : 0,
508+
static_cast<void*>(net),
509+
(net)? net->_name : "NULL",
510+
(mod_net_impl)? mod_net_impl->getId() : 0,
511+
static_cast<void*>(mod_net),
512+
(mod_net)? mod_net->getHierarchicalName() : "NULL");
496513

497514
block->_journal->beginAction(dbJournal::DISCONNECT_OBJECT);
498515
block->_journal->pushParam(dbITermObj);
499516
block->_journal->pushParam(getId());
500517
block->_journal->pushParam(net ? net->getOID() : 0U);
501-
block->_journal->pushParam(mod_net ? mod_net->getOID() : 0U);
518+
block->_journal->pushParam(mod_net_impl ? mod_net_impl->getOID() : 0U);
502519
block->_journal->endAction();
503520
}
504521

@@ -531,11 +548,11 @@ void dbITerm::disconnect()
531548
}
532549
}
533550

534-
if (mod_net) {
535-
if (mod_net->_iterms == id) {
536-
mod_net->_iterms = iterm->_next_modnet_iterm;
537-
if (mod_net->_iterms != 0) {
538-
_dbITerm* t = block->_iterm_tbl->getPtr(mod_net->_iterms);
551+
if (mod_net_impl) {
552+
if (mod_net_impl->_iterms == id) {
553+
mod_net_impl->_iterms = iterm->_next_modnet_iterm;
554+
if (mod_net_impl->_iterms != 0) {
555+
_dbITerm* t = block->_iterm_tbl->getPtr(mod_net_impl->_iterms);
539556
t->_prev_modnet_iterm = 0;
540557
}
541558
} else {
@@ -591,11 +608,13 @@ void dbITerm::disconnectDbNet()
591608
utl::ODB,
592609
"DB_ECO",
593610
1,
594-
"ECO: disconnect dbIterm({}) '{}' from dbNet({}) '{}'",
611+
"ECO: disconnect dbITerm({} {:p}) '{}' from dbNet({} {:p}) '{}'",
595612
getId(),
613+
static_cast<void*>(this),
596614
getName(),
597615
net->getId(),
598-
net->_name);
616+
static_cast<void*>(net),
617+
((dbNet*) net)->getName());
599618
block->_journal->beginAction(dbJournal::DISCONNECT_OBJECT);
600619
block->_journal->pushParam(dbITermObj);
601620
block->_journal->pushParam(getId());

0 commit comments

Comments
 (0)