Now, I'm trying to implement like this.

"How many $4\times4$ multiplier would you need to perform an $8\times8$ multiply. how an $8\times8$ multiplier would be created using only $4\times4$ multipliers?"

But I can't get any hint.

Does anyone know how to solve this problem? How can I approach this problem?

Update : Sir thank you very much. But your answer a quite different from here. http://verilog-code.blogspot.kr/2014/01/design-and-implementation-of-16-bit.html?m=1

You can check that 8x8 multiplier need to 2 4x4 multiplier. Also 3 addder.

  • $\begingroup$ There's a terminology barrier, but perhaps you could exploit this algebra: $8 \cdot 8=(2 \cdot 4) \cdot (2 \cdot 4) = 4 \cdot (4 \cdot 4)$? $\endgroup$ – Ian Feb 11 '15 at 6:51
  • $\begingroup$ How would you multiply two numbers of the form $x+y 2^4$? Why is this really serious? $\endgroup$ – copper.hat Feb 11 '15 at 7:02

I am assuming you are asking about binary circuits. Lets splits your two 8bits inputs A,B into 4bits inputs: $$A= A_0 + 2^4 A_1, B= B_0 + 2^4 B_1.$$

You wish to compute $C = A\cdot B = A_0 B_0 + 2^4 (A_1B_0 + A_0B_1) + 2^8 A_1B_1$, there are three multiplication and 4 additions, but you have no adders...

The trick is you can build other gates using multipliers. Indeed, $$00ab \times 0011 = 0000(a \wedge b) (a \wedge \bar b) (a \oplus b) b $$ (Check that $0011 \times 0000 = 0$, $0011 \times 0001 = 0011$, $0011 \times 0010 = 110$ and $0011 \times 0011 = 1001$ that give you the $\texttt{and}: \wedge$ and the $\texttt{xor}: \oplus$ and the $\texttt{not}: \bar b$, so you can build anything from that.

Maybe there is something more clever to do to obtain the optimal solution...


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.