crpr rearrange funcs
This commit is contained in:
parent
afa58b5001
commit
77f22e482e
|
|
@ -297,10 +297,10 @@ CheckCrpr::findCrpr1(const PathVertex *src_clk_path,
|
||||||
const EarlyLate *tgt_el = tgt_clk_path->minMax(this);
|
const EarlyLate *tgt_el = tgt_clk_path->minMax(this);
|
||||||
Arrival src_arrival = src_clk_path->arrival(this);
|
Arrival src_arrival = src_clk_path->arrival(this);
|
||||||
Arrival tgt_arrival = tgt_clk_path->arrival(this);
|
Arrival tgt_arrival = tgt_clk_path->arrival(this);
|
||||||
float crpr_mean = delayAsFloat(src_arrival) - delayAsFloat(tgt_arrival);
|
float crpr_mean = abs(delayAsFloat(src_arrival) - delayAsFloat(tgt_arrival));
|
||||||
float crpr_sigma2 = delaySigma2(src_arrival, src_el)
|
float crpr_sigma2 = delaySigma2(src_arrival, src_el)
|
||||||
+ delaySigma2(tgt_arrival, tgt_el);
|
+ delaySigma2(tgt_arrival, tgt_el);
|
||||||
return makeDelay2(abs(crpr_mean), -crpr_sigma2, -crpr_sigma2);
|
return makeDelay2(crpr_mean, -crpr_sigma2, -crpr_sigma2);
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
// The source and target edges are different so the crpr
|
// The source and target edges are different so the crpr
|
||||||
|
|
@ -319,6 +319,15 @@ CheckCrpr::findCrpr1(const PathVertex *src_clk_path,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
float
|
||||||
|
CheckCrpr::crprArrivalDiff(const PathVertex *path)
|
||||||
|
{
|
||||||
|
Arrival other_arrival = otherMinMaxArrival(path);
|
||||||
|
float crpr_diff = abs(delayAsFloat(path->arrival(this))
|
||||||
|
- delayAsFloat(other_arrival));
|
||||||
|
return crpr_diff;
|
||||||
|
}
|
||||||
|
|
||||||
Crpr
|
Crpr
|
||||||
CheckCrpr::outputDelayCrpr(const Path *src_clk_path,
|
CheckCrpr::outputDelayCrpr(const Path *src_clk_path,
|
||||||
const ClockEdge *tgt_clk_edge)
|
const ClockEdge *tgt_clk_edge)
|
||||||
|
|
@ -387,15 +396,4 @@ CheckCrpr::crprPossible(Clock *clk1,
|
||||||
|| PinSet::intersects(clk1->pins(), clk2->pins()));
|
|| PinSet::intersects(clk1->pins(), clk2->pins()));
|
||||||
}
|
}
|
||||||
|
|
||||||
float
|
|
||||||
CheckCrpr::crprArrivalDiff(const PathVertex *path)
|
|
||||||
{
|
|
||||||
Arrival other_arrival = otherMinMaxArrival(path);
|
|
||||||
float crpr_diff = abs(delayAsFloat(path->arrival(this),
|
|
||||||
EarlyLate::late(), this)
|
|
||||||
- delayAsFloat(other_arrival,
|
|
||||||
EarlyLate::early(), this));
|
|
||||||
return crpr_diff;
|
|
||||||
}
|
|
||||||
|
|
||||||
} // namespace
|
} // namespace
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue