jez-smith,
As for the FPGA solution aways being faster, that is not necessarily the case: if the application requires data to the algorithm, and then data returned from the algorithm, the speed of the algorithm itself may be infinitely fast (ie take 0 time), and the microprocessor will still "win" because the data has to be sent to the FPGA from the microprocessor, and then sent back to the microprocessor from the FPGA.
Thus, the system architecture as well as the algorithm may result in a slower solution when the algorithm is ported to the FPGA, rather than a faster solution (the time spent sending and receiving data may be the limiting factor).
In the Cray system, with the 64 bit AMD uC and two Virtex II Pro FPGAs per compute node (>2,000 nodes), Cray points out that some choices of algorithm will result in a longer time if ported to the FPGA.
formatting link
Algorithms with less data exchange (a whole block is sent to the FPGA to be "crunched") may offer a significant speedup, however.
So, the choice of how data is moved about the system becomes the limiting factor in the improvement offered by the FPGA. A system that has a custom architecture to solve just the problem at hand may not only take advantage of parallelism that a microprocessor solution can not, but it will also derive benefit by having its input/output architecture also optimized for the problem at hand.
A good example of the latter, is a cellular base station which does all processing at the IF frequency using FPGAs. The use of the FPGA for modulation/demodulation allows for much less power, and far fewer chips, than using microprocessor based DSP engines. The baseband (voice channel) processing is then performed by conventional DSP uC chips, as at the lower rates they become the optimal solution. The architecture of the base station is optimized for just this one task, and does not get in the way of the optimal solution. Since all elements are programmable, the basestation remains flexible (able to deal with various standards, upgrades, and changes).
Austin