in Digital Logic edited by
36 votes

The amount of ROM needed to implement a $4\text{-bit}$ multiplier is

  1. $64$ bits
  2. $128$ bits
  3. $1$ Kbits
  4. $2$ Kbits
in Digital Logic edited by

Subscribe to GO Classes for GATE CSE 2022

3 Answers

55 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:
edited by
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

Arjun that page you mentioned does not exist

please can you provide any similar link to clear this concept!




this link is  not working..
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

1 comment

Please update the link..Link is not working..
10 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