moyarzun@bbn.com (Miguel Oyarzun) (07/03/90)
Hello again folks, A few weeks ago I posted a message asking for info on FIR chips. Since several people expressed interest in the results of my search, a brief summary follows. Note that I purposely restricted my search to FIR chips only, i.e. I specifically excluded more general purpose programmable DSP's. Also note that I didn't spend a lot of time looking thru data books; I only looked at parts suggested in the replies to my original message. If I omitted someone's favorite device, I appologize (but then again if you are so proud of the thing, why didn't you brag about it when you had your chance? ;-)). Motorola DSP56200 - 24-bit coefficient length - 16-bit input data length - 24x16 bit multiplication with 40-bit accumulation - 32-bit or 16-bit-rounded output length - 4 to 256 taps selectable filter length - 2's complement arithmetic - Three configurations: single FIR (SFIR), dual FIR (DFIR), and single adaptive FIR (AFIR). The DFIR configuration implements two independent FIR's (both must have the same number of taps up to a maximum of 128 each). The AFIR configuration cycles through memory twice per sample period: first to perform the FIR convolution, and second to update the FIR coefficients using the LMS algorithm. - Cascadable for longer filter lengths, or higher throughput - Throughput depends on filter length and configuration. SFIR 227 kHz, 32-taps, 1-device 37 kHz, 256-taps, 1-device 37 kHz, 1024-taps, 4-devices DFIR 123 kHz, 32-taps, 1-device 36 kHz, 128-taps, 1-device AFIR 19 kHz, 256-taps, 1-device 19 kHz, 1024-taps, 4-devices 115 kHz, 256-taps, 8-devices - Asynchronous parallel host interface - Serial interface for cascading multiple devices - 28-pin package, DIP Inmos A100 - 4, 8, 12, or 16-bit coefficient length - 16-bit input data length - 16x16 bit multiplication with 36-bit accumulation - 24-bit-rounded output length - 32 taps per device (fixed length) - 2's complement arithmetic - Two banks of filter coefficients; the bank not in use is accessible via the host interface; banks can be swapped either automatically after each input-computation cycle or under control from the host. - Cascadable for longer filter lengths - Throughput depends on coefficient length 15.00 MHz, 4-bit coefficients 3.75 MHz, 16-bit coefficients - Asynchronous parallel host interface - High-speed synchronous data in (16-bit), data out (12-bit), and cascade in (12-bit) interfaces - 84-pin package, PGA/flatpack Harris HSP43481/43881 - 8-bit coefficient length - 8-bit input data length - 8x8 bit multiplication with 26-bit accumulation - 26-bit output length - 4(481)/8(881) taps per device - 2's complement or unsigned arithmetic - Cascadable for longer filter lengths, or extended precision - Throughput 30 MHz - Direct support for output decimation by 2, 3, or 4 - High-speed synchronous data in (8-bit), coefficient in (8-bit), data out (26-bit), and coefficient out (8-bit) - 68(481)/84(881)-pin package, PGA/PLCC/LCC(481 only) Harris HSP43891 - 9-bit coefficient length - 9-bit input data length - 9x9 bit multiplication with 26-bit accumulation - 26-bit output length - 8 taps per device - 2's complement or unsigned arithmetic - Cascadable for longer filter lengths, or extended precision - Throughput 30 MHz - direct support for output decimation by 2, 3, or 4 - High-speed synchronous data in (9-bit), coefficient in (9-bit), data out (26-bit), and coefficient out (9-bit) - 84-pin package, PGA/PLCC Comments: - Both the Motorola and Inmos devices are fairly 'glueless'. Their asynchronous host I/F's provide for pretty straight forward interfacing to a microprocessor. The Inmos part also provides synchronous I/O I/F's for higher performance applications (the price of course is a bigger package). The Harris devices are probably intended primarily for video applications (so I didn't really spend much time looking at them) and require extra 'glue' to achieve the extended precision one would probably need(want?) in audio applications. - The Motorola part has a couple of extra nice modes of operation. The dual FIR mode can be useful when dealing with complex or stereo data. The adaptive FIR mode is provides a straight forward inplementation of the LMS algorithm. The extra bits of coefficient precision can be particularly useful when implementing longer-length FIR's. - The Inmos part doesn't have all the hooks for LMS adaptation, but it does have two banks of filter coefficients to allow modify-and-swap operation in adaptive applications. The dual coefficient banks are also useful for processing dual channel data, i.e. complex, stereo ... - Performance-wise, the Motorola is at the low-end in this group but has plenty of power for audio applications; the Harris parts are at the high-end and probably pretty useful to all you video heads out there. The Inmos part is somewhere in between. Thanks to all who replied, Miguel P.S. - For my 12 kHz filter, I ended up using the Motorola part. Thanks to the Motorola folks for their help and the free samples (hi Jim LeBlanc, it worked!). Oh yeah, we got a prototype board working in a couple of weeks; so I guess the Motorola part is pretty easy to use :-).