Hi all, This is something I've been fighting with for a while now, and I wonder if anyone on this maillist has any insight (because I'm pretty sure I may just be doing something wrong with the tools).
The problem: I'm playing with a ROACH2 design that (sometimes) compiles at 312 MHz. However, every now and then I'll make a small change to the design and the compile will fail timing catastrophically, with paths failing sometimes with -2 ns (or worse) slack. When I look at the failing path(s), the delays are usually ~80% routing. I'll see a signal take a huge detour to use a shift register in some arbitrary location on the chip. Upon closer inspection of the relevant SRL, it appears that the LUT concerned is being used for two signal paths, one on the O5 output, one on the O6. The result seems to be that it is poorly placed for both it's roles. I'm only using ~50% of the slices and about 30% of the registers / luts on the FPGA, and there are plenty of sensibly located SLICEMs the placer could use if it so desired. I've switched lut combining off (with the -lt flag), in planahead which doesn't seem to have made any difference. Can anyone offer me any words of advice / wisdom which might reduce my confusion at what's going on (or, even better, help me solve the problem)? Despairingly yours, Jack