2424#include " dft/MakeDft.hh"
2525#include " dpl/MakeOpendp.h"
2626#include " dst/MakeDistributed.h"
27+ #include " est/EstimateParasitics.h"
28+ #include " est/MakeEstimateParasitics.h"
2729#include " exa/MakeExample.h"
2830#include " fin/MakeFinale.h"
2931#include " gpl/MakeReplace.h"
@@ -115,6 +117,7 @@ OpenRoad::~OpenRoad()
115117 deleteDistributed (distributer_);
116118 deleteSteinerTreeBuilder (stt_builder_);
117119 dft::deleteDft (dft_);
120+ est::deleteEstimateParasitics (estimate_parasitics_);
118121 delete logger_;
119122 delete verilog_reader_;
120123 delete callback_handler_;
@@ -187,6 +190,7 @@ void OpenRoad::init(Tcl_Interp* tcl_interp,
187190 distributer_ = dst::makeDistributed ();
188191 stt_builder_ = stt::makeSteinerTreeBuilder ();
189192 dft_ = dft::makeDft ();
193+ estimate_parasitics_ = est::makeEstimateParasitics ();
190194
191195 // Init components.
192196 Ord_Init (tcl_interp);
@@ -207,7 +211,8 @@ void OpenRoad::init(Tcl_Interp* tcl_interp,
207211 sta_,
208212 stt_builder_,
209213 global_router_,
210- opendp_);
214+ opendp_,
215+ estimate_parasitics_);
211216 initDbVerilogNetwork (verilog_network_, sta_);
212217 initIoplacer (ioPlacer_, db_, logger_, tcl_interp);
213218 initReplace (
@@ -217,7 +222,6 @@ void OpenRoad::init(Tcl_Interp* tcl_interp,
217222 initGlobalRouter (global_router_,
218223 db_,
219224 sta_,
220- resizer_,
221225 antenna_checker_,
222226 opendp_,
223227 stt_builder_,
@@ -230,6 +234,7 @@ void OpenRoad::init(Tcl_Interp* tcl_interp,
230234 sta_,
231235 stt_builder_,
232236 resizer_,
237+ estimate_parasitics_,
233238 logger_,
234239 tcl_interp);
235240 initTapcell (tapcell_, db_, logger_, tcl_interp);
@@ -243,22 +248,37 @@ void OpenRoad::init(Tcl_Interp* tcl_interp,
243248 initExample (example_, db_, logger_, tcl_interp);
244249 initOpenRCX (extractor_, db_, logger_, getVersion (), tcl_interp);
245250 initICeWall (icewall_, db_, logger_, tcl_interp);
246- initRestructure (restructure_, logger_, sta_, db_, resizer_, tcl_interp);
251+ initRestructure (restructure_,
252+ logger_,
253+ sta_,
254+ db_,
255+ resizer_,
256+ estimate_parasitics_,
257+ tcl_interp);
247258 initTritonRoute (detailed_router_,
248259 db_,
249260 logger_,
250261 callback_handler_,
251262 distributer_,
252263 stt_builder_,
253264 tcl_interp);
254- initPDNSim (pdnsim_, logger_, db_, sta_, resizer_, opendp_, tcl_interp);
265+ initPDNSim (
266+ pdnsim_, logger_, db_, sta_, estimate_parasitics_, opendp_, tcl_interp);
255267 initAntennaChecker (antenna_checker_, db_, logger_, tcl_interp);
256268 initPartitionMgr (
257269 partitionMgr_, db_, getDbNetwork (), sta_, logger_, tcl_interp);
258270 initPdnGen (pdngen_, db_, logger_, tcl_interp);
259271 initDistributed (distributer_, logger_, tcl_interp);
260272 initSteinerTreeBuilder (stt_builder_, db_, logger_, tcl_interp);
261273 dft::initDft (dft_, db_, sta_, logger_, tcl_interp);
274+ initEstimateParasitics (estimate_parasitics_,
275+ tcl_interp,
276+ logger_,
277+ callback_handler_,
278+ db_,
279+ sta_,
280+ stt_builder_,
281+ global_router_);
262282
263283 // Import exported commands to global namespace.
264284 Tcl_Eval (tcl_interp, " sta::define_sta_cmds" );
0 commit comments