Skip to content

Commit 4aef3ec

Browse files
committed
Merge branch 'master' into nested_journal
2 parents 1f1a1d4 + ce8a4f3 commit 4aef3ec

29 files changed

+1224
-938
lines changed

src/dbSta/src/dbSta.cc

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,7 @@
4141
#include "sta/PatternMatch.hh"
4242
#include "sta/ReportTcl.hh"
4343
#include "sta/Sdc.hh"
44+
#include "sta/Sta.hh"
4445
#include "sta/StaMain.hh"
4546
#include "sta/Units.hh"
4647
#include "utl/Logger.h"
@@ -284,7 +285,8 @@ void dbSta::postReadLef(dbTech* tech, dbLib* library)
284285

285286
void dbSta::postReadDef(dbBlock* block)
286287
{
287-
if (!block->getParent()) {
288+
// If this is the top block of the main chip:
289+
if (!block->getParent() && block->getChip() == block->getDb()->getChip()) {
288290
db_network_->readDefAfter(block);
289291
db_cbk_->addOwner(block);
290292
db_cbk_->setNetwork(db_network_);

src/est/include/est/EstimateParasitics.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@
1919
#include "grt/GlobalRouter.h"
2020
#include "odb/db.h"
2121
#include "odb/geom.h"
22+
#include "sta/Corner.hh"
2223
#include "sta/Delay.hh"
2324
#include "sta/MinMax.hh"
2425
#include "sta/NetworkClass.hh"

src/est/src/EstimateParasitics.cpp

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@
2626
#include "odb/dbSet.h"
2727
#include "odb/dbShape.h"
2828
#include "odb/dbTypes.h"
29+
#include "odb/geom.h"
2930
#include "sta/ArcDelayCalc.hh"
3031
#include "sta/Corner.hh"
3132
#include "sta/DcalcAnalysisPt.hh"

src/gpl/src/graphicsImpl.cpp

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@
1212
#include <memory>
1313
#include <optional>
1414
#include <string>
15+
#include <string_view>
1516
#include <utility>
1617
#include <vector>
1718

src/gpl/src/graphicsImpl.h

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,9 @@
66
#include <cstddef>
77
#include <limits>
88
#include <memory>
9+
#include <optional>
910
#include <string>
11+
#include <string_view>
1012
#include <utility>
1113
#include <vector>
1214

src/grt/src/heatMapRudy.cpp

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@
1414
#include "odb/db.h"
1515
#include "odb/dbTypes.h"
1616
#include "odb/geom.h"
17+
#include "utl/Logger.h"
1718

1819
namespace grt {
1920

src/mpl/src/hier_rtlmp.cpp

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@
3030
#include "mpl-util.h"
3131
#include "object.h"
3232
#include "odb/db.h"
33+
#include "odb/geom.h"
3334
#include "odb/geom_boost.h"
3435
#include "odb/util.h"
3536
#include "par/PartitionMgr.h"

src/odb/include/odb/db.h

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1756,12 +1756,12 @@ class dbNet : public dbObject
17561756
{
17571757
public:
17581758
///
1759-
/// Get the net name.
1759+
/// Get the hierarchical net name (not a base name).
17601760
///
17611761
std::string getName() const;
17621762

17631763
///
1764-
/// Get the net name.
1764+
/// Need a version that does not do strdup every time
17651765
///
17661766
const char* getConstName() const;
17671767

@@ -2520,6 +2520,8 @@ class dbNet : public dbObject
25202520
/// Dump dbNet info for debugging
25212521
///
25222522
void dump() const;
2523+
2524+
void checkSanityModNetConsistency() const;
25232525
};
25242526

25252527
///////////////////////////////////////////////////////////////////////////////
@@ -2532,14 +2534,14 @@ class dbInst : public dbObject
25322534
{
25332535
public:
25342536
///
2535-
/// Get the instance name.
2537+
/// Get the hierarchical instance name (not a base name).
25362538
///
2537-
std::string getName();
2539+
std::string getName() const;
25382540

25392541
///
25402542
/// Need a version that does not do strdup every time
25412543
///
2542-
const char* getConstName();
2544+
const char* getConstName() const;
25432545

25442546
///
25452547
/// Compare, like !strcmp
@@ -2828,7 +2830,7 @@ class dbInst : public dbObject
28282830
///
28292831
/// Get the block of this instance.
28302832
///
2831-
dbBlock* getBlock();
2833+
dbBlock* getBlock() const;
28322834

28332835
///
28342836
/// Get the Master of this instance.

src/odb/src/db/dbBTerm.cpp

Lines changed: 42 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -619,7 +619,11 @@ dbBTerm* dbBTerm::create(dbNet* net_, const char* name)
619619
utl::ODB,
620620
"DB_ECO",
621621
1,
622-
"ECO: dbBTerm:create");
622+
"ECO: create dbBTerm '{}' on dbNet({}, {:p}) '{}'",
623+
name,
624+
net->getId(),
625+
static_cast<void*>(net),
626+
name);
623627
block->_journal->beginAction(dbJournal::CREATE_OBJECT);
624628
block->_journal->pushParam(dbBTermObj);
625629
block->_journal->pushParam(net->getId());
@@ -680,11 +684,13 @@ void _dbBTerm::connectModNet(_dbModNet* mod_net, _dbBlock* block)
680684
utl::ODB,
681685
"DB_ECO",
682686
1,
683-
"ECO: connect dbBTerm {} at id {} to dbModNet {} at id {}",
684-
_name,
685-
getId(),
686-
mod_net->_name,
687-
mod_net->getId());
687+
"ECO: connect dbBTerm({} {:p}) '{}' to dbModNet({} {:p}) '{}'",
688+
bterm->getId(),
689+
static_cast<void*>(bterm),
690+
bterm->_name,
691+
mod_net->getId(),
692+
static_cast<void*>(mod_net),
693+
((dbModNet*) mod_net)->getHierarchicalName());
688694
block->_journal->beginAction(dbJournal::CONNECT_OBJECT);
689695
block->_journal->pushParam(dbBTermObj);
690696
block->_journal->pushParam(bterm->getId());
@@ -715,11 +721,13 @@ void _dbBTerm::connectNet(_dbNet* net, _dbBlock* block)
715721
utl::ODB,
716722
"DB_ECO",
717723
1,
718-
"ECO: connect dbBTerm {} at id {} to dbNet {} at id {}",
719-
_name,
720-
getId(),
721-
net->_name,
722-
net->getId());
724+
"ECO: connect dbBTerm({} {:p}) '{}' to dbNet({} {:p}) '{}'",
725+
bterm->getId(),
726+
static_cast<void*>(bterm),
727+
bterm->_name,
728+
net->getId(),
729+
static_cast<void*>(net),
730+
((dbNet*) net)->getName());
723731
block->_journal->beginAction(dbJournal::CONNECT_OBJECT);
724732
block->_journal->pushParam(dbBTermObj);
725733
block->_journal->pushParam(bterm->getId());
@@ -781,7 +789,10 @@ void dbBTerm::destroy(dbBTerm* bterm_)
781789
utl::ODB,
782790
"DB_ECO",
783791
1,
784-
"ECO: dbBTerm:destroy");
792+
"ECO: delete dbBTerm({}, {:p}) '{}'",
793+
bterm->getId(),
794+
static_cast<void*>(bterm),
795+
bterm->_name);
785796
block->_journal->beginAction(dbJournal::DELETE_OBJECT);
786797
block->_journal->pushParam(dbBTermObj);
787798
block->_journal->pushParam(bterm_->getId());
@@ -800,15 +811,18 @@ void _dbBTerm::disconnectNet(_dbBTerm* bterm, _dbBlock* block)
800811

801812
// Journal
802813
if (block->_journal) {
803-
debugPrint(block->getImpl()->getLogger(),
804-
utl::ODB,
805-
"DB_ECO",
806-
1,
807-
"ECO: disconnect dbBTerm {} at id {} from dbNet {} at id {}",
808-
_name,
809-
getId(),
810-
net->_name,
811-
net->getId());
814+
debugPrint(
815+
block->getImpl()->getLogger(),
816+
utl::ODB,
817+
"DB_ECO",
818+
1,
819+
"ECO: disconnect dbBTerm({} {:p}) '{}' from dbNet({} {:p}) '{}'",
820+
bterm->getId(),
821+
static_cast<void*>(bterm),
822+
bterm->_name,
823+
net->getId(),
824+
static_cast<void*>(net),
825+
net->_name);
812826
block->_journal->beginAction(dbJournal::DISCONNECT_OBJECT);
813827
block->_journal->pushParam(dbBTermObj);
814828
block->_journal->pushParam(bterm->getId());
@@ -860,11 +874,13 @@ void _dbBTerm::disconnectModNet(_dbBTerm* bterm, _dbBlock* block)
860874
utl::ODB,
861875
"DB_ECO",
862876
1,
863-
"ECO: disconnect dbBTerm {} at id {} from dbModNet {} at id {}",
864-
_name,
865-
getId(),
866-
mod_net->_name,
867-
mod_net->getId());
877+
"ECO: disconnect dbBTerm({} {:p}) '{}' from dbModNet({} {:p}) '{}'",
878+
bterm->getId(),
879+
static_cast<void*>(bterm),
880+
bterm->_name,
881+
mod_net->getId(),
882+
static_cast<void*>(mod_net),
883+
((dbModNet*) mod_net)->getHierarchicalName());
868884
block->_journal->beginAction(dbJournal::DISCONNECT_OBJECT);
869885
block->_journal->pushParam(dbBTermObj);
870886
block->_journal->pushParam(bterm->getId());

src/odb/src/db/dbChip.cpp

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -662,8 +662,7 @@ void dbChip::destroy(dbChip* chip_)
662662
dbProperty::destroyProperties(chip);
663663
db->chip_hash_.remove(chip);
664664
db->chip_tbl_->destroy(chip);
665-
db->_chip = 0;
666665
}
667666
// User Code End dbChipPublicMethods
668667
} // namespace odb
669-
// Generator Code End Cpp
668+
// Generator Code End Cpp

0 commit comments

Comments
 (0)