The whole ISE project (VHDL) can be found here:
Besides ISE project, it also contains two print-screen GIFs, behavioral.gif and post-route.gif.
behavioral.gif shows @40ns : start = 1, data = AAAA at next rising CLK edge CS goes LOW then, SDI serially transmits data (101010...) finally, CS goes HIGH (215ns)
That is exactly what I would expect from the VHDL code.
But the post-route.gif shows something completely different, and I don't know why.
What am I doing wrong?