in Digital Logic
11,522 views
29 votes
29 votes

The maximum gate delay for any output to appear in an array multiplier for multiplying two $n$ bit numbers is

  1. $O(n^2)$
  2. $O(n)$
  3. $O(\log n)$
  4. $O(1)$
in Digital Logic
11.5k views

4 Comments

0
0
edited by
this video will give inside idea about multiplication. You might also understand why n bit is required, if you understand this video(Starting 5 min is enough).

https://youtu.be/vcvgvqnH7GA
0
0

just 5 min only to get idea of multiplication.

0
0

3 Answers

27 votes
27 votes
Best answer

In an $N \times M$ array multiplier we have $N \times M$ AND gates and $(M-1),$ $N-bit$ adders are used.  

Total delay in $N \times M (N\geq M)$ array multiplier due to AND gate in partial products at all level is just $1$ unit AND gate delay as the operation is done parallel wise at each step. Now delays at level $1$ to $(M-1) = (M-1) \times $ delay due to $1$ unit of $N-bit$ adder.  Therefore the maximum gate delay is $O(M)$ but here $M=N \therefore O(N).$

http://www.dauniv.ac.in/downloads/CArch_PPTs/CompArchCh03L06ArrayMult.pdf or archive

Refer this article page 16.

Correct Answer: $B$

edited by

4 Comments

Nice PDF, I learned booths algo from here.
1
1
edited by

@kshitij provided an excellent NPTEL video below to understand array multipliers – https://youtu.be/5-PI4T25OXI

Based on what I understand from the video, your adders do not need to be carry look ahead adders. Yes, carry look ahead adders do speed up the process, but the speed up does not affect the asymptotic time complexity of the array multiplier circuit (which is what the question asks for), assuming the time taken to generate a sum or a carry by a single full adder/half adder circuit (inside a carry look ahead adder, or a ripple carry adders, or any such multi-bit adder circuit) to be \(O(1)\). You can very well use ripple carry adders in your array multiplier circuit, due to which its asymptotic time complexity equals the time for the last adder to generate the last carry bit to be placed in the product (i.e., \(P_{n+m-1}\), if we were to denote the product as \(P_{n+m-1} \ P_{n+m-2}\ ...\ P_0\); note that the size of the product is equal to the sum of the sizes of the multiplicand and the multiplier), because all the other operations in the array multiplier circuit is taking place simultaneously as the carry is getting propagated. And, the time for that carry to propagate is nothing but \(O(1)\) (to form the first partial product, and to produce the first carry from \(a_0b_1+a_1b_0\)) \(\ + \ \) \(O\big((n-1)+(m-1)\big)\) (since the carry traverses \((n-1)\) bits in the first adder, then falls off as one the last input bits in the second adder, falls off as one the last input bits in the third adder,…,one the last input bits in the \((m-1)\)th adder, and falls of into \(P_{n+m-1}\); it similar to going from \((1,1)\) to \((n-1,m-1)\) in a \((n-1)\times (m-1)\) sized grid, via \((n-1)\) left/right moves, followed by \((m-1)\) up/down moves) \(=O(n+m)\). So the asymptotic time complexity of the array multiplier circuit using any form of multi-bit adders is \(O(n+m)\). As \(n=m\) in the above question, we have the asymptotic time complexity of the array multiplier circuit as \(O(n+n)=O(n)\).

P.S. Why isn’t using carry look ahead adder reducing the asymptotic time complexity of the array multiplier circuit? It’s because we forget that the (complex) carry generation circuitry of any \((i+1)\)th level adder cannot proceed unless the output from the \(i\)th level adder is available, so a similar logic as above works in this case as well.

0
0
4 votes
4 votes
maximum Gate delay should be O(2n-1) = O(n)

4 Comments

2n-1 ?? how ??
0
0
1
1
https://youtu.be/5-PI4T25OXI
Watch this NPTEL video.
2
2
1 vote
1 vote

Answer is (b) $O(n)$.

In $1\ unit$ we can find all the the partial products (if we assume we have enough space to store the partial products).

Then for subsequent n-1 additions we will have n-1 unit 

so total is O(1+n-1) = O(n)

edited by

1 comment

answer is 0(n).
0
0
Answer:

Related questions