@@ -106,7 +106,10 @@ class dbAccessPoint;
106106class dbBusPort ;
107107class dbCellEdgeSpacing ;
108108class dbChip ;
109+ class dbChipConn ;
109110class dbChipInst ;
111+ class dbChipRegion ;
112+ class dbChipRegionInst ;
110113class dbDatabase ;
111114class dbDft ;
112115class dbGCellGrid ;
@@ -6994,6 +6997,8 @@ class dbChip : public dbObject
69946997
69956998 bool isTsv () const ;
69966999
7000+ dbSet<dbChipRegion> getChipRegions () const ;
7001+
69977002 // User Code Begin dbChip
69987003
69997004 ChipType getChipType () const ;
@@ -7005,6 +7010,8 @@ class dbChip : public dbObject
70057010
70067011 dbSet<dbChipInst> getChipInsts () const ;
70077012
7013+ dbSet<dbChipConn> getChipConns () const ;
7014+
70087015 // /
70097016 // / Create a new chip.
70107017 // / Returns nullptr if there is no database technology.
@@ -7025,6 +7032,38 @@ class dbChip : public dbObject
70257032 // User Code End dbChip
70267033};
70277034
7035+ class dbChipConn : public dbObject
7036+ {
7037+ public:
7038+ std::string getName () const ;
7039+
7040+ void setThickness (int thickness);
7041+
7042+ int getThickness () const ;
7043+
7044+ // User Code Begin dbChipConn
7045+
7046+ dbChip* getParentChip () const ;
7047+
7048+ dbChipRegionInst* getTopRegion () const ;
7049+
7050+ dbChipRegionInst* getBottomRegion () const ;
7051+
7052+ std::vector<dbChipInst*> getTopRegionPath () const ;
7053+
7054+ std::vector<dbChipInst*> getBottomRegionPath () const ;
7055+
7056+ static dbChipConn* create (const std::string& name,
7057+ dbChip* parent_chip,
7058+ const std::vector<dbChipInst*>& top_region_path,
7059+ dbChipRegionInst* top_region,
7060+ const std::vector<dbChipInst*>& bottom_region_path,
7061+ dbChipRegionInst* bottom_region);
7062+
7063+ static void destroy (dbChipConn* chipConn);
7064+ // User Code End dbChipConn
7065+ };
7066+
70287067class dbChipInst : public dbObject
70297068{
70307069 public:
@@ -7045,6 +7084,8 @@ class dbChipInst : public dbObject
70457084
70467085 dbTransform getTransform () const ;
70477086
7087+ dbSet<dbChipRegionInst> getRegions () const ;
7088+
70487089 static odb::dbChipInst* create (dbChip* parent_chip,
70497090 dbChip* master_chip,
70507091 const std::string& name);
@@ -7053,6 +7094,50 @@ class dbChipInst : public dbObject
70537094 // User Code End dbChipInst
70547095};
70557096
7097+ class dbChipRegion : public dbObject
7098+ {
7099+ public:
7100+ enum class Side
7101+ {
7102+ FRONT,
7103+ BACK,
7104+ INTERNAL,
7105+ INTERNAL_EXT
7106+ };
7107+
7108+ std::string getName () const ;
7109+
7110+ void setBox (const Rect& box);
7111+
7112+ Rect getBox () const ;
7113+
7114+ // User Code Begin dbChipRegion
7115+ dbChip* getChip () const ;
7116+
7117+ Side getSide () const ;
7118+
7119+ dbTechLayer* getLayer () const ;
7120+
7121+ static dbChipRegion* create (dbChip* chip,
7122+ const std::string& name,
7123+ Side side,
7124+ dbTechLayer* layer);
7125+
7126+ // User Code End dbChipRegion
7127+ };
7128+
7129+ class dbChipRegionInst : public dbObject
7130+ {
7131+ public:
7132+ // User Code Begin dbChipRegionInst
7133+
7134+ dbChipInst* getChipInst () const ;
7135+
7136+ dbChipRegion* getChipRegion () const ;
7137+
7138+ // User Code End dbChipRegionInst
7139+ };
7140+
70567141class dbDatabase : public dbObject
70577142{
70587143 public:
@@ -7064,6 +7149,10 @@ class dbDatabase : public dbObject
70647149
70657150 dbSet<dbChipInst> getChipInsts () const ;
70667151
7152+ dbSet<dbChipRegionInst> getChipRegionInsts () const ;
7153+
7154+ dbSet<dbChipConn> getChipConns () const ;
7155+
70677156 // User Code Begin dbDatabase
70687157
70697158 void setTopChip (dbChip* chip);
0 commit comments