parallaxsw / OpenSTA

GNU General Public License v3.0
52 stars 23 forks source link

How to use the gateDelay API without a specific Pin in CCS? #31

Closed maliberty closed 6 months ago

maliberty commented 6 months ago

In OR's Resizer::gateDelays we call arc_delay_calc_->gateDelay(nullptr, .... With the default delay calculator this works fine but when switched to CCS it fails. In CcsSimDelayCalc::gateDelay it calls

  Vertex *drvr_vertex = graph_->pinDrvrVertex(drvr_pin);

with the nullptr drvr_pin resulting in a nullptr drvr_vertex which is subsequently dereferenced.

What is the recommended way to call this API in the use model that the resizer is operating without a specific Pin to pass?

parallaxsw commented 6 months ago

That is dead code. I would much rather see the test that demonstrates the problem than an english interpretation. The debugger can tell me what line of code fails. Fixed by f9618418 ccs_ceff, ccs_sim allow null drvr_pin, vdd check