01-23-2020 12:58 AM
Here are two paths, the red highlighted one from DSP48E1 instance to LUT2 instance is o, you can see the net delay is 0.298 from the below timing report,
net (fo=2, routed) 0.298 0.834 cabac_inst/o
the yellow highlighted one is r_wire, you can see the net delay is 0.818 from the timing report,
net (fo=1, routed) 0.818 4.045 r_wire
Seems the red path from DSP48E1 instance to LUT2 instance is much longer than the yellow path from CARRY4 to FDRE,
Why the longer one has the smaller net delay?
01-23-2020 01:10 AM
01-23-2020 01:10 AM
01-23-2020 02:59 AM
That sounds frustrating we could do nothing to improving the routing,
Sometimes I do lots of optimization of the code to reduce logic levels but then after implementation, the net delays increase, the critical path is even longer.
01-23-2020 06:06 AM
01-23-2020 06:24 AM
In addition to what others have said, I think we have overlooked the most singificant reason why you are seeing these differences...
All static timing (setup and hold) is performed at two timing corners - named "Slow Process Corner" and "Fast Process Corner". The difference in delay of a given cell/interconnect is quite large between these two - usually in the ratio of 3:1.
By default, for a given path, the tool reports the worst timing result from the two timing corners. Generally (not always) a setup check is worst at slow process corner and a hold time at fast timing corner.
For your red net (the long one) we can clearly see in the report that it is at the "Fast Process Corner".
For your yellow net (the shorter one) the header is cut off, so we can't see the timing corner, but it is a setup check, so is likely at the "Slow Process Corner". If this is the case, this is the main reason that this report is showing a significantly higher delay than the other one.
If you looked at these at the same timing corner, you would probably find that the shorter net does, in fact, have less delay (or at least more similar delay - the longer net is clearly using a "long line" which is faster than several short lines).