Hi. I'm curious about exactly what sort of things are done with FPGAs. Is the main reason for their use the additional speed over using a generic processor, due to clock rate and/or parallelism? Is it mainly to make cheaper low-run products? What sort of things can be done with them?
As an example, it would be possible to build a digital reverberation unit using a *REALLY BIG* FIR filter. If the reverb impulse response lasted for say 15 seconds requiring M samples to be buffered, then assuming that x[n] is the current sample and that suitable b[0..M] coefficients can be found, then the reverb could be calculated as:
reverb[n] = SUM {i=0 to M} x[n - (M - i - 1)] * b[i]
This could be done in fixed point arithmetic.
Given that 15 seconds of 44.1khz sound requires 15 * 44100 = 661500 past input samples to be cached along with the 661500 b[] coefficients, would this be feasible with current FPGAs?
Cheers,
Ross-c