4.7k views

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

1. $64$ bits
2. $128$ bits
3. $1$ Kbits
4. $2$ Kbits

edited | 4.7k views

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.

by Veteran (425k points)
edited by
0
Arjun Suresh sir- Can you tell the book where this topic is covered. It will be great if you can provide some link.
0
I guess Morris Mano book covers this. I don't have the book now to verify. This ppt also gives a very good detail:
http://www.cs.uiuc.edu/class/fa05/cs231/lectures/review(11-4).ppt
+9
total possible cases $= 2^4 * 2^4$ and output of each case $= 8\;bit$
0
How is the input mapped to.output in the multiplier?
+2

this image clarifies the ROM thing here.. 0
0
@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
+2
@Anchit see now.
+1
@Arjun Sir. The link isnt working. Can you kindly provide another link or update the same.
+2
0
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
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
by Boss (10k points)
+1
+1 vote

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

by Active (2.5k points)