checkInterClkUncertainty for null tgt clk
Signed-off-by: James Cherry <cherry@parallaxsw.com>
This commit is contained in:
parent
8f01e53a94
commit
fc3143609d
|
|
@ -433,7 +433,8 @@ PathEnd::checkInterClkUncertainty(const ClockEdge *src_clk_edge,
|
||||||
{
|
{
|
||||||
Sdc *sdc = sta->sdc();
|
Sdc *sdc = sta->sdc();
|
||||||
if (src_clk_edge
|
if (src_clk_edge
|
||||||
&& src_clk_edge != sdc->defaultArrivalClockEdge()) {
|
&& src_clk_edge != sdc->defaultArrivalClockEdge()
|
||||||
|
&& tgt_clk_edge) {
|
||||||
sdc->clockUncertainty(src_clk_edge->clock(),
|
sdc->clockUncertainty(src_clk_edge->clock(),
|
||||||
src_clk_edge->transition(),
|
src_clk_edge->transition(),
|
||||||
tgt_clk_edge->clock(),
|
tgt_clk_edge->clock(),
|
||||||
|
|
@ -1889,10 +1890,8 @@ PathEndPathDelay::requiredTime(const StaState *sta) const
|
||||||
float src_clk_offset = sourceClkOffset(sta);
|
float src_clk_offset = sourceClkOffset(sta);
|
||||||
// Path delay includes target clk latency and timing check setup/hold
|
// Path delay includes target clk latency and timing check setup/hold
|
||||||
// margin or external departure at target.
|
// margin or external departure at target.
|
||||||
if (minMax(sta) == MinMax::max())
|
return delay - src_clk_offset + tgt_clk_arrival
|
||||||
return delay - src_clk_offset + tgt_clk_arrival - margin(sta);
|
+ ((minMax(sta) == MinMax::max()) ? -margin(sta) : margin(sta));
|
||||||
else
|
|
||||||
return delay - src_clk_offset + tgt_clk_arrival + margin(sta);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue