Rather, I think the 5ns clock cycle is due to two sequential 32 bit additions, implemented with ripple carries.
In Spartan6, the ternary addition uses only ~2ns. The routing delays - and ISE's inability to
consistently minimize them - are a bigger problem.
-rph