Forum Discussion
Altera_Forum
Honored Contributor
13 years agoIf you have some spare block-ram you can do full multiplication with two table look-ups, two additions and one subtract. This was used extensively on the commodore 64 for demos and boils down to:
F(a*b)=F(a+b)-F(a-b) where F is a table of squares divided by 4 ( i.e. x^2/4 ) Depending on your needs, pipelining should bring this down to a two-clock operation and minimal LE resources. An 8x8 multiplication would take 256 16-bit words of memory and 48 LE's ( 2x8 for lookups and 2x16 for pipeline registers ). -Mux