Data arrival Path in timing analyser
Hi everyone,
I just came across a very confusing thing about data arrival path in timing analyser. This path mismatched the actual routing path in the chip planner.
I placed a 20-bit adder between two registers which are clocked respectively at positive and negative edges. (I deliberately do this though it is not a good design practice.)
When I checked the placement and routing in the chip planner, I found all of fanouts and fanins are correct. The blue region in picture below shows that this 20-bit adder has been placed into 10 LABCELL blocks from its first bit adder to its last one.
However, when I checked the timing analyser, a very confusing thing happened as shown in the screenshot below.
One could see clearly in the screenshot that the entry the first bit adder "LPM_ADD_SUB...|78" is NOT connected to "LPM_ADD_SUB....|op_1~74" which is the second bit adder, but connected to "LPM_ADD_SUB....|op_1~38". The delay path length of 20-bit adder is thus shrinking to only 11-bit according to the data arrival path in the timing analyser.
May I kindly ask has anyone come across similar situation before? Why the delay path in chip planner is not the same as shown in timing analyser.
Is it because routing of the 20-bit adder goes wrong? However, if it goes wrong, why fan-in and fan-out of each bit adder are correct?
Could anyone please kindly help me with this?
Thank you very much!
Mingqiang