diff --git a/dcalc/GraphDelayCalc1.cc b/dcalc/GraphDelayCalc1.cc index 872b1a10..95f13931 100644 --- a/dcalc/GraphDelayCalc1.cc +++ b/dcalc/GraphDelayCalc1.cc @@ -828,6 +828,12 @@ GraphDelayCalc1::findInputArcDelay(LibertyCell *drvr_cell, } } +void +GraphDelayCalc1::findDelays(Vertex *drvr_vertex) +{ + findVertexDelay(drvr_vertex, arc_delay_calc_, true); +} + void GraphDelayCalc1::findVertexDelay(Vertex *vertex, ArcDelayCalc *arc_delay_calc, diff --git a/dcalc/GraphDelayCalc1.hh b/dcalc/GraphDelayCalc1.hh index ab25442a..b4b8bf79 100644 --- a/dcalc/GraphDelayCalc1.hh +++ b/dcalc/GraphDelayCalc1.hh @@ -43,6 +43,7 @@ public: virtual void deleteVertexBefore(Vertex *vertex); virtual void clear(); virtual void findDelays(Level level); + virtual void findDelays(Vertex *drvr_vertex); virtual string *reportDelayCalc(Edge *edge, TimingArc *arc, const Corner *corner, diff --git a/include/sta/GraphDelayCalc.hh b/include/sta/GraphDelayCalc.hh index d36ad3a5..235fc8de 100644 --- a/include/sta/GraphDelayCalc.hh +++ b/include/sta/GraphDelayCalc.hh @@ -47,6 +47,8 @@ public: virtual void copyState(const StaState *sta); // Find arc delays and vertex slews thru level. virtual void findDelays(Level /* level */) {}; + // Find and annotate drvr_vertex gate and load delays/slews. + virtual void findDelays(Vertex * /* drvr_vertex */) {}; // Invalidate all delays/slews. virtual void delaysInvalid() {}; // Invalidate vertex and downstream delays/slews.