fixed point dot product with log2(n) pipe stages in vhdl

I would like to write a parameterizeable component in vhdl that would do an N element fixed point dot product. I was wondering if there was a (synthesizable) way to generate a first stage of multiplies (ceil(N/2) multiply blocks), and then ceil(log2(N)) - 1 add stages. I would like to be able to use generics to specify the length of the vector and the bit width (this in turn specifies the length of the MAC pipeline).

--
Geoffrey Wall
Masters Student in Electrical/Computer Engineering
Florida State University, FAMU/FSU College of Engineering
wallge@eng.fsu.edu
Cell Phone:
850.339.4157

ECE Machine Intelligence Lab
http://www.eng.fsu.edu/mil
MIL Office Phone:
850.410.6145

Center for Applied Vision and Imaging Science
http://cavis.fsu.edu/
CAVIS Office Phone:
850.645.2257
Reply to
geoffrey wall
Loading thread data ...

Forgive my ignorance and/or stupidity, but how can you get away with only N/2 multipliers and logN adders? Is there something special about the values you're processing, or is there some cool math I don't know about?

--
Jonathan Bromley, Consultant

DOULOS - Developing Design Know-how
VHDL, Verilog, SystemC, Perl, Tcl/Tk, Verification, Project Services

Doulos Ltd. Church Hatch, 22 Market Place, Ringwood, BH24 1AW, UK
Tel: +44 (0)1425 471223          mail:jonathan.bromley@doulos.com
Fax: +44 (0)1425 471573                Web: http://www.doulos.com

The contents of this message may contain personal views which 
are not the views of Doulos Ltd., unless specifically stated.
Reply to
Jonathan Bromley

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.