I for one welcome our new S6-LX150 300MH/s overlord.
Ah, not so fast yet.
As expected, moving up the frequency ladder turns into a game of whack-a-mole... fix one thing, something else becomes the critical path. I'm back to fighting the corner turn.
What was not expected was how hard it would be to get control over the routing from Xilinx's tools. I can get them to route the corner turn by itself, and I can get everything-but-the-corner turn to route, and I can show that the routing resources used are disjoint, but I can't get them both to route at once!
The sad reality is that Xilinx really does not provide any mechanism at all that says to the router "you absolutely must route this wire along this path". There are placer directives that can force placement, but even the "DIRT strings" used to try to force routing can be ignored by PAR under some circumstances, and I'm hitting them. Ditto for SmartGuide.
Very frustrating. I know where the wires should go, but I've spent countless hours trying to "trick" Xilinx's tools into doing what I already know how to do.
The very, very, very last resort is to write my own router by scripting fpga_edline. I know that sounds desperate, but that's what it might come down to.