report_check_types -max_fanout/-max_cap do not report ideal clks

This commit is contained in:
James Cherry 2020-06-22 18:59:34 -07:00
parent a4dcb62c02
commit b6e3ab889e
3 changed files with 19 additions and 7 deletions

View File

@ -26,6 +26,8 @@
#include "Corner.hh"
#include "PortDirection.hh"
#include "Sim.hh"
#include "Graph.hh"
#include "GraphDelayCalc.hh"
namespace sta {
@ -316,9 +318,13 @@ CheckCapacitanceLimits::checkPin(const Pin *pin)
const Network *network = sta_->network();
const Sim *sim = sta_->sim();
const Sdc *sdc = sta_->sdc();
const Graph *graph = sta_->graph();
GraphDelayCalc *dcalc = sta_->graphDelayCalc();
Vertex *vertex = graph->pinLoadVertex(pin);
return network->direction(pin)->isAnyOutput()
&& !sim->logicZeroOne(pin)
&& !sdc->isDisabled(pin);
&& !sdc->isDisabled(pin)
&& !(vertex && sta_->graphDelayCalc()->isIdealClk(vertex));
}
} // namespace

View File

@ -22,6 +22,8 @@
#include "Sdc.hh"
#include "Sim.hh"
#include "PortDirection.hh"
#include "Graph.hh"
#include "GraphDelayCalc.hh"
namespace sta {
@ -285,9 +287,13 @@ CheckFanoutLimits::checkPin(const Pin *pin)
const Network *network = sta_->network();
const Sim *sim = sta_->sim();
const Sdc *sdc = sta_->sdc();
const Graph *graph = sta_->graph();
GraphDelayCalc *dcalc = sta_->graphDelayCalc();
Vertex *vertex = graph->pinLoadVertex(pin);
return network->direction(pin)->isAnyOutput()
&& !sim->logicZeroOne(pin)
&& !sdc->isDisabled(pin);
&& !sdc->isDisabled(pin)
&& !(vertex && dcalc->isIdealClk(vertex));
}
} // namespace

View File

@ -4817,7 +4817,7 @@ Sta::slowDrvrIterator()
return new SlowDrvrIterator(insts);
}
////////////////////////////////////////////////////////////////'
////////////////////////////////////////////////////////////////
void
Sta::checkSlewLimitPreamble()
@ -4907,8 +4907,8 @@ Sta::checkFanoutLimitPreamble()
{
if (check_fanout_limits_ == nullptr)
makeCheckFanoutLimits();
// Sim values required to suppress reporting constant nets.
ensureLevelized();
// For sim values and ideal clocks.
findDelays();
}
Pin *
@ -4974,8 +4974,8 @@ Sta::checkCapacitanceLimitPreamble()
{
if (check_capacitance_limits_ == nullptr)
makeCheckCapacitanceLimits();
// Sim values required to suppress reporting constant nets.
ensureLevelized();
// For sim values and ideal clocks.
findDelays();
}
Pin *