@@ -88,13 +88,21 @@ sta_to_db_inst(Instance *inst)
8888{
8989 ord::OpenRoad *openroad = ord::getOpenRoad ();
9090 sta::dbNetwork *db_network = openroad->getDbNetwork ();
91- odb::dbInst *db_inst;
92- odb::dbModInst* mod_inst;
91+ odb::dbInst *db_inst = nullptr ;
92+ odb::dbModInst* mod_inst = nullptr ;
9393 db_network->staToDb (inst, db_inst, mod_inst);
94- if (db_inst) {
95- return db_inst;
96- }
97- return nullptr ;
94+ return db_inst;
95+ }
96+
97+ odb::dbModInst *
98+ sta_to_db_mod_inst (Instance *inst)
99+ {
100+ ord::OpenRoad *openroad = ord::getOpenRoad ();
101+ sta::dbNetwork *db_network = openroad->getDbNetwork ();
102+ odb::dbInst *db_inst = nullptr ;
103+ odb::dbModInst* mod_inst = nullptr ;
104+ db_network->staToDb (inst, db_inst, mod_inst);
105+ return mod_inst;
98106}
99107
100108odb::dbMTerm *
@@ -111,25 +119,49 @@ sta_to_db_port(Port *port)
111119 ord::OpenRoad *openroad = ord::getOpenRoad ();
112120 sta::dbNetwork *db_network = openroad->getDbNetwork ();
113121 Pin *pin = db_network->findPin (db_network->topInstance (), port);
114- odb::dbITerm *iterm;
115- odb::dbBTerm *bterm;
116- odb::dbModITerm *moditerm;
122+ odb::dbITerm *iterm = nullptr ;
123+ odb::dbBTerm *bterm = nullptr ;
124+ odb::dbModITerm *moditerm = nullptr ;
117125 db_network->staToDb (pin, iterm, bterm, moditerm);
118126 return bterm;
119127}
120128
129+ odb::dbModBTerm *
130+ sta_to_db_mod_port (Port *port)
131+ {
132+ ord::OpenRoad *openroad = ord::getOpenRoad ();
133+ sta::dbNetwork *db_network = openroad->getDbNetwork ();
134+ odb::dbBTerm *bterm = nullptr ;
135+ odb::dbMTerm *mterm = nullptr ;
136+ odb::dbModBTerm *modbterm = nullptr ;
137+ db_network->staToDb (port, bterm, mterm, modbterm);
138+ return modbterm;
139+ }
140+
121141odb::dbITerm *
122142sta_to_db_pin (Pin *pin)
123143{
124144 ord::OpenRoad *openroad = ord::getOpenRoad ();
125145 sta::dbNetwork *db_network = openroad->getDbNetwork ();
126- odb::dbITerm *iterm;
127- odb::dbBTerm *bterm;
128- odb::dbModITerm *moditerm;
146+ odb::dbITerm *iterm = nullptr ;
147+ odb::dbBTerm *bterm = nullptr ;
148+ odb::dbModITerm *moditerm = nullptr ;
129149 db_network->staToDb (pin, iterm, bterm, moditerm);
130150 return iterm;
131151}
132152
153+ odb::dbModITerm *
154+ sta_to_db_mod_pin (Pin *pin)
155+ {
156+ ord::OpenRoad *openroad = ord::getOpenRoad ();
157+ sta::dbNetwork *db_network = openroad->getDbNetwork ();
158+ odb::dbITerm *iterm = nullptr ;
159+ odb::dbBTerm *bterm = nullptr ;
160+ odb::dbModITerm *moditerm = nullptr ;
161+ db_network->staToDb (pin, iterm, bterm, moditerm);
162+ return moditerm;
163+ }
164+
133165Port *
134166sta_pin_to_port (Pin *pin)
135167{
@@ -143,7 +175,21 @@ sta_to_db_net(Net *net)
143175{
144176 ord::OpenRoad *openroad = ord::getOpenRoad ();
145177 sta::dbNetwork *db_network = openroad->getDbNetwork ();
146- return db_network->staToDb (net);
178+ odb::dbNet *db_net = nullptr ;
179+ odb::dbModNet *db_mod_net = nullptr ;
180+ db_network->staToDb (net, db_net, db_mod_net);
181+ return db_net;
182+ }
183+
184+ odb::dbModNet *
185+ sta_to_db_mod_net (Net *net)
186+ {
187+ ord::OpenRoad *openroad = ord::getOpenRoad ();
188+ sta::dbNetwork *db_network = openroad->getDbNetwork ();
189+ odb::dbNet *db_net = nullptr ;
190+ odb::dbModNet *db_mod_net = nullptr ;
191+ db_network->staToDb (net, db_net, db_mod_net);
192+ return db_mod_net;
147193}
148194
149195odb::dbMaster *
0 commit comments