Looking for core that does a vector product

May 22, 2005 4 Replies

Hi ,



I'm looking for a core in VHDL that does a vector product. Basically the following calculation:



Out = Coeff(1) * In(1) + Coeff(2) * In(2) + ... +Coeff(n) * In(n)



for n=15 or more.



Note that input signal "In(i)" is not a time delayed signal, but rather a "present" time vector of data. Hence using a FIR core or similar would not do this. The input and coefficients are 12-bit minimum. I'm looking for a readily available core that is optimized for latency and space, preferrably a Xilinx core or other that allows for variable coefficient sizes and vector lengths.



Anything would be helpful. Thanks,



Andrew


Hi Andrew,

That's going to cost a lot of internal signals. However, this is easy to write yourself. Just use two arrays, Coeff and Input, and use a for loop to go through the array saying Result := Result + (Coeff(index) * Input(index))

Good luck!

Ben

In article , Andrew Lohbihler writes

Core?, isn't this a multiplier, an accumulator, coef table, data table & a sequencer or am I missing something? Sounds like it could be run off in the time it takes to read the core documentation.

fred

This looks very similar to convolution. I suggest looking at cores that can do this.

Regards,

Luc

It is basically an FIR core with the delay queue stripped off. Which device family? What is the data rate? If you don't have, don't have enough or don't want to use the embedded multipliers, you can also use a distributed arithmetic approach. One of the advantages of not relying on the xilinx cores is that somethinglike this is easily extracted from the existing library.

--Ray Andraka, P.E. President, the Andraka Consulting Group, Inc. 401/884-7930 Fax 401/884-7950 email ray@andraka.com http://www.andraka.com "They that give up essential liberty to obtain a little temporary safety deserve neither liberty nor safety." -Benjamin Franklin, 1759

Join the Discussion

Have something to add? Share your thoughts — no account required.

Didn't find your answer?

Ask the community — no account required