> True, I checked out the DSP sources from Altera and they were real fast. But
> the main disadvantage is the bitsize, if you have large numbers say (16?, 24
> or 32) bit you probably need external memory or a FGPA with a lot of internal
> memory (boy are they expensive). The FPGA has to control this memory (address
> lines, strobe, data etc.). So you are probably building you own processor.
> Don't do this, choose an existing processor.
Depends on the FPGA. For Xilinx 4KE, for instance, the width is not
really an issue
However, depths greater than 32 start eating on chip resources. Many of
the DSP designs I do use one or two external fast SRAMs (12ns or better)
for doing stuff that needs large amounts of memory. A 12ns SRAM can be
accessed at better than 40 MHz with a -3 or -2 Xilinx part. The
interface to the memory is usually very simple, consisting of an address
counter, I/O registers and very simple logic to create a write pulse. I
believe the Xilinx 1024 point FFT uses internal storage only, and it
does the FFT in under 200uS. A more pipelined design will use more logic
but will get better performance. Marshall advertises a 4028EX-2HQ208 for
$401 in single quantities. Quantity and/or other customer discounts will
get you the parts at significantly lower prices. -3 parts are less than
half the cost ($177 in same package). These prices compare favorably
against specific purpose chips like the graychip, sharp butterfly and
LSI logic and obtain performance close to that of the dedicated chip
(and it blows the doors off a DSP microprocessor). The FPGA also buys
you the flexibility to reuse the logic for something else when you do
not need to do FFTs.
Quote:> On the other hand, if you have small numbers (up to 16 bit) and only a small
> FFT and you don't want to do anything else, check out the FPGA's. All you need
> is an FPGA, a serial PROM and an input, et voila there's you FFT.
Performance does degrade with word width because of the carry chain used
for arithmetic operations. Pipelining can regain the performance in
most cases by trading data rate for latency.
Quote:> Which solution is the best depends on your application. Try to determine what
> you realy want. Do you want to do something concurently with your FFT, use a
> DSP. Do you want to built a small fast FFT produkt choose FPGAs (or better an
> of the shelf FFT ic). etc.etc.
I think the issue is more of how fast you need to get something done.
If you have the time to wait for a DSP micro to clunk along to do your
FFT, by all means use it. You won't get the functionality at a lower
price. However, many times the amount of processing required per sample
limits the maximum data rate through a DSP micro based processor to an
unacceptably low figure. When that happens, one is forced to either use
custom hardware or multiple DSP micros. The SRAM based FPGAs help to
bring the cost of custom hardware down and provide the flexibility
(reprogrammability) previously available only to the microprocessor
-Ray Andraka, P.E.
President, the Andraka Consulting Group, Inc.
401/884-7930 Fax 401/884-7950