The chip we are going to design is an adaptive noise cancellation DSP circuit. The particular application we envision this circuit being used in is for removing background noise from speech signals. The idea of this design is to place a noise cancellation filter unit between the microphone and the remote speaker in order to eliminate the noise surrounding the person speaking making the signal on the remote end more audible. A diagram depicting an air combat communication application is shown in Figure 1 below. The pilot speaks into the main microphone that picks up both his voice and the noise surrounding him, while a second microphone picks up only noise as a reference signal to be used in the adaptive filter. The result is that the two pilots are able to communicate with minimal interference from the noise of the plane.

Air Combat Application of Adaptive Filters
We have decided to us the LMS algorithm in order to adaptively remove the noise from our signal. Details on this algorithm and the variations we have made on this algorithm can be viewed here.
We implement the multiplication and the accumulation necessary for the LMS algorithm using the 8-bit Radix-4 Booth Recoder Multiplier and 12-bit Adder. We also require a large piece of memory in the form of a stack that can rotate its contents, MUXes to choose between various inputs to the multiplier and adder, and several latches to store inputs, intermediate values, and outputs. A PLA controls the entire system.