I'm just starting to dive into digital logic and I'm stuck on making a circuit that multiplies two 2-bit numbers. I partially understand that you need to use adders but I just cant fully wrap my head around the concept. I have made my truth table and then proceeded with the K-maps, but that's where I'm stuck. Any help would be much appreciated!

  • 2
    $\begingroup$ Please show what you have done. $\endgroup$ Jan 27, 2016 at 12:41
  • 4
    $\begingroup$ Olin's answer is an example of why you need to show what work you have done and what specific problem you are having. His answer demonstrates how a professional would solve the problem given modern business requirements. But it's likely that using Olin's answer for your homework would result in your losing marks from your work as that's not the lesson your instructor wants you to learn. Please edit your question to more better state the problem you're solving and what specific issue you're having with your work. $\endgroup$
    – user16
    Jan 27, 2016 at 18:32
  • $\begingroup$ @Glen: While I understand what you're saying, and agree with it, I don't want people to think that my answer is flippant. Your comment may leave people thinking that I found a way to answer the letter of the question without actually being useful. Implementing a multiplier as a lookup is a valid approach that certainly has been used in real world situations. If the point is to learn about combinatorial logic, then it's not useful. If the point is to get the job done, then it may well be a good approach. $\endgroup$ Jan 27, 2016 at 21:24
  • $\begingroup$ @OlinLathrop - My apologies. In re-reading the earlier version of my comment, I can see how someone might misconstrue my words. I think your answer is a good answer from a professional's perspective. I have updated my earlier comment to better reflect the difference between academic and professional expectations. $\endgroup$
    – user16
    Jan 27, 2016 at 21:30
  • $\begingroup$ I actually figured out what I was doing wrong, I will post my work next time I have a question. Thanks for the help gentlemen! $\endgroup$
    – Bgordon81
    Jan 28, 2016 at 15:42

1 Answer 1


Since there are only 16 possible inputs to this multiplier and its output is only 4 bits, it can be easily implemented as a lookup. In case you think that sounds silly, consider that many FPGAs actually implement soft logic this way. All you need is a memory with 16 words of 4 bits each.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

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