Again, the Spartan 6 is probably overkill for your needs. It has a dedicated memory controller, it has 16 clock nets, 8 clock pins per side (4 differential pairs) multiple clock synthesizers on the CMT(clock management tiles), it supports several LVDS IO standards, at the same time..it can operate up to 500Mhz, maybe even some parts up to 1Ghz internally, I think. But none of this performance is needed to do PWM motor control.
If you want to offload the PWM control of several motors, I'd look at a small to medium sized CPLD, controlled by a micro.
The micro will have built in memory, a development environment that will have a fast turnaround cycle, a far easier debug cycle, and you can get most of your application logic running in no time flat.
A small watch crystal will be accurate enough to get PWM control at 32Khz for all of your PWM modules inside the CPLD
I think a CPLD + micro will be less $ cost and easier to develop (less dev cost) rather than trying to go all out with a single FPGA and a soft core micro.
There are also several micros (look at Renenas) that have multiple PWM controllers built in. If you are controlling 3 motors, you can probably find one. if you are controlling 6 motors, and can only find a micro with 3 PWMs, I'd just use two micros and have them communicate.