Subject: FIR Chip Summary
From: [email-masked] (Miguel Oyarzun)
Date: 3 Jul 90 02:59:54 GMT
Newsgroups: comp.dsp

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 :-).