dcalc no slew merge for constant disabled arcs
Signed-off-by: James Cherry <cherry@CerezoBook.local>
This commit is contained in:
parent
e9c075ab94
commit
8b511bc012
|
|
@ -47,6 +47,7 @@
|
|||
#include "Sdc.hh"
|
||||
#include "Scene.hh"
|
||||
#include "SearchPred.hh"
|
||||
#include "search/Sim.hh"
|
||||
#include "Stats.hh"
|
||||
#include "TimingArc.hh"
|
||||
#include "TimingRole.hh"
|
||||
|
|
@ -88,8 +89,10 @@ DcalcPred::searchFrom(const Vertex *from_vertex,
|
|||
const Pin *from_pin = from_vertex->pin();
|
||||
const Sdc *sdc = mode->sdc();
|
||||
const Network *network = sta_->network();
|
||||
const Sim *sim = mode->sim();
|
||||
Net *net = network->net(from_pin);
|
||||
return !(sdc->isDisabledConstraint(from_pin)
|
||||
|| sim->isConstant(from_vertex)
|
||||
|| (net && (network->isPower(net)
|
||||
|| network->isGround(net))));
|
||||
}
|
||||
|
|
|
|||
|
|
@ -191,6 +191,7 @@ StaSimObserver::StaSimObserver(StaState *sta) :
|
|||
void
|
||||
StaSimObserver::valueChangeAfter(const Pin *pin)
|
||||
{
|
||||
graph_delay_calc_->delayInvalid(pin);
|
||||
Vertex *vertex = graph_->pinDrvrVertex(pin);
|
||||
if (vertex) {
|
||||
search_->arrivalInvalid(vertex);
|
||||
|
|
@ -3676,8 +3677,10 @@ void
|
|||
Sta::delayCalcPreamble()
|
||||
{
|
||||
ensureLevelized();
|
||||
for (Mode *mode : modes_)
|
||||
for (Mode *mode : modes_) {
|
||||
mode->sim()->ensureConstantsPropagated();
|
||||
mode->clkNetwork()->ensureClkNetwork();
|
||||
}
|
||||
}
|
||||
|
||||
void
|
||||
|
|
|
|||
Loading…
Reference in New Issue