Skip to content

Commit

Permalink
Merge remote-tracking branch 'origin/master' into TR-maxspacing
Browse files Browse the repository at this point in the history
Signed-off-by: osamahammad21 <[email protected]>
  • Loading branch information
osamahammad21 committed Aug 6, 2024
2 parents 7de464f + 3f36a37 commit b40dfbc
Show file tree
Hide file tree
Showing 64 changed files with 6,999 additions and 1,029 deletions.
38 changes: 37 additions & 1 deletion src/dbSta/include/db_sta/dbNetwork.hh
Original file line number Diff line number Diff line change
Expand Up @@ -96,6 +96,7 @@ class dbNetwork : public ConcreteNetwork
void init(dbDatabase* db, Logger* logger);
void setBlock(dbBlock* block);
void clear() override;
CellPortIterator* portIterator(const Cell* cell) const override;

void readLefAfter(dbLib* lib);
void readDefAfter(dbBlock* block);
Expand All @@ -118,7 +119,7 @@ class dbNetwork : public ConcreteNetwork
bool isPlaced(const Pin* pin) const;

LibertyCell* libertyCell(dbInst* inst);

LibertyPort* libertyPort(const Pin*) const override;
dbInst* staToDb(const Instance* instance) const;
void staToDb(const Instance* instance,
dbInst*& db_inst,
Expand All @@ -143,6 +144,11 @@ class dbNetwork : public ConcreteNetwork
dbMaster* staToDb(const LibertyCell* cell) const;
dbMTerm* staToDb(const Port* port) const;
dbMTerm* staToDb(const LibertyPort* port) const;
void staToDb(const Port* port,
dbBTerm*& bterm,
dbMTerm*& mterm,
dbModBTerm*& modbterm) const;

void staToDb(PortDirection* dir,
dbSigType& sig_type,
dbIoType& io_type) const;
Expand All @@ -169,6 +175,7 @@ class dbNetwork : public ConcreteNetwork
const dbIoType& io_type) const;
// dbStaCbk::inDbBTermCreate
Port* makeTopPort(dbBTerm* bterm);
dbBTerm* isTopPort(const Port*) const;
void setTopPortDirection(dbBTerm* bterm, const dbIoType& io_type);
ObjectId id(const Port* port) const override;

Expand All @@ -189,6 +196,8 @@ class dbNetwork : public ConcreteNetwork
Instance* topInstance() const override;
// Name local to containing cell/instance.
const char* name(const Instance* instance) const override;
const char* name(const Port* port) const override;
const char* busName(const Port* port) const override;
ObjectId id(const Instance* instance) const override;
Cell* cell(const Instance* instance) const override;
Instance* parent(const Instance* instance) const override;
Expand Down Expand Up @@ -218,6 +227,24 @@ class dbNetwork : public ConcreteNetwork
Pin* pin(const Term* term) const override;
ObjectId id(const Term* term) const override;

////////////////////////////////////////////////////////////////
// Cell functions
const char* name(const Cell* cell) const override;

bool isConcreteCell(const Cell*) const;
void registerConcreteCell(const Cell*);

////////////////////////////////////////////////////////////////
// Port functions
Cell* cell(const Port* port) const override;
void registerConcretePort(const Port*);

bool isConcretePort(const Port*) const;
bool isLibertyPort(const Port*) const;

LibertyPort* libertyPort(const Port* port) const override;
PortDirection* direction(const Port* port) const override;

////////////////////////////////////////////////////////////////
// Net functions
ObjectId id(const Net* net) const override;
Expand Down Expand Up @@ -265,6 +292,13 @@ class dbNetwork : public ConcreteNetwork
void setHierarchy() { hierarchy_ = true; }
bool hasHierarchy() const { return hierarchy_; }

int fromIndex(const Port* port) const override;
int toIndex(const Port* port) const override;
bool isBus(const Port*) const override;
bool hasMembers(const Port* port) const override;
Port* findMember(const Port* port, int index) const override;
PortMemberIterator* memberIterator(const Port* port) const override;

using Network::cell;
using Network::direction;
using Network::findCellsMatching;
Expand Down Expand Up @@ -313,6 +347,8 @@ class dbNetwork : public ConcreteNetwork

private:
bool hierarchy_ = false;
std::set<const Cell*> concrete_cells_;
std::set<const Port*> concrete_ports_;
};

} // namespace sta
Loading

0 comments on commit b40dfbc

Please sign in to comment.