Add fallback to estimateDelay() in getNetinfoRouteDelay()

Signed-off-by: Clifford Wolf <clifford@clifford.at>
This commit is contained in:
Clifford Wolf 2018-07-23 12:44:26 +02:00
parent 27c5236826
commit a436facfd0

View File

@ -92,7 +92,7 @@ delay_t Context::getNetinfoRouteDelay(NetInfo *net_info, int user_idx) const
{
WireId src_wire = getNetinfoSourceWire(net_info);
WireId cursor = getNetinfoSinkWire(net_info, user_idx);
delay_t delay = getWireDelay(src_wire).maxDelay();
delay_t delay = 0;
while (cursor != WireId() && cursor != src_wire) {
auto it = net_info->wires.find(cursor);
@ -104,6 +104,11 @@ delay_t Context::getNetinfoRouteDelay(NetInfo *net_info, int user_idx) const
cursor = getPipSrcWire(pip);
}
if (cursor == src_wire)
delay += getWireDelay(src_wire).maxDelay();
else
delay += estimateDelay(src_wire, cursor);
return delay;
}