The Gateway to Computer Science Excellence
+32 votes

The amount of ROM needed to implement a $4-bit$ multiplier is

  1. $64$ bits
  2. $128$ bits
  3. $1$ Kbits
  4. $2$ Kbits
in Digital Logic by
edited by | 6k views

3 Answers

+46 votes
Best answer

A ROM cannot be written. So, to implement a $4$-bit multiplier we must store all the possible combinations of $2^4 \times 2^4$ inputs and their corresponding $8$ output bits giving a total of $ 2^4 \times 2^4 \times 8$ bits $= 2048$ bits. So, (D) is the answer.

PS: We are not storing the input bits explicitly -- those are considered in order while accessing the output $8$ bits. In this way, by storing all the possible outputs in order we can avoid storing the input combinations.

edited by
Arjun Suresh sir- Can you tell the book where this topic is covered. It will be great if you can provide some link.
I guess Morris Mano book covers this. I don't have the book now to verify. This ppt also gives a very good detail:
total possible cases $ = 2^4 * 2^4$ and output of each case $= 8\;bit$
How is the input mapped to.output in the multiplier?

this image clarifies the ROM thing here..

@arjun sir ,please update the link.. it is dead.
@Arjun Suresh Sir, I have a doubt here... With 4 bits, 16 numbers (multiplicands) are possibe. Each of this number takes 4 bits in memory.. Similarly each multiplier will also take 4 bits then why dont we multiply the result u found with 4*4... 2^4 is just number of multiplicands.. It is not number of bits used to store those many multiplicands... Please clarify
@Anchit see now.
@Arjun Sir. The link isnt working. Can you kindly provide another link or update the same.
link is not working
since Multiplication follows commutative rule : so  a*b = b*a , therefore i think   ( (2^4 * 2^4) / 2  ) * 8 bits will also work , therefore 1K bits may be the ans as well, since if we get 1001 * 1110 , then there is no need to make a new entry for 1110 * 1001
+12 votes
Since we want to multiply 4bit two number .

Then number of combination of input for multiplication is=16*16

Number of output lines =8

Size of ROM=16*16*8=2048bits=2Kbits
Please update the link..Link is not working..
+5 votes

ROM is Read-Only Memory. We can just read from it, not write to it. Hence, all the possible results need to be already stored in the ROM.

A 4-bit multiplier multiplies two 4-bit numbers.

There can be $2^{4}$ such numbers.

So, total possible multiplication pairs could be $2^{4} * 2^{4}=2^{8}$

The result would be max: $(1111)_{2}*(1111)_{2}$

$=> (15)_{10}*(15)_{10}$

$=> (225)_{10}$

And 225 requires 8 bits.


Hence, we potentially need 8 bits for the $2^{8}$ possible combinations.

$=> 2^{8} * 8 bits$

$=> 2^{11} bits$


So, Option D

Edit: Alternatively,

We know that multiplying an $n$ bit number with and $m$ bit number results in a number which is of at most $(m+n)$ bits.

Hence, maximum result size: $8$ bits.

Total combinations: $2^8$

Memory required: $2^{11} bits$


PS: Addition of two $n$ bit numbers results in a max $n+1$ bit number

edited by

Related questions

Quick search syntax
tags tag:apple
author user:martin
title title:apple
content content:apple
exclude -tag:apple
force match +apple
views views:100
score score:10
answers answers:2
is accepted isaccepted:true
is closed isclosed:true
52,345 questions
60,471 answers
95,274 users