in Digital Logic
9,629 views
42 votes

Consider an array multiplier for multiplying two $n$ bit numbers. If each gate in the circuit has a unit delay, the total delay of the multiplier is

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

1 comment

0

Subscribe to GO Classes for GATE CSE 2022

4 Answers

53 votes
 
Best answer

 

Now to MULTIPLY these two Numbers:

  1. $4$ AND GATEs REQUIRED $B0$ MULTIPLY WITH $A3 \ A2 \ A1 \ A0$.
  2. $4$ AND GATEs REQUIRED $B1$ MULTIPLY WITH $A3 \ A2 \ A1 \ A0$.
  3. $4$ BIT ADDER
  4. $4$ AND GATEs REQUIRED $B2$ MULTIPLY WITH $A3 \ A2 \ A1 \ A0$.
  5. $4$ BIT ADDER
  6. $4$ AND GATEs REQUIRED $B3$ MULTIPLY WITH $A3 \ A2 \ A1 \ A0$.
  7. $4$ BIT ADDER


For $4$ bits, Total Delay$= 3+4=7$

For $n$ bits, Total Delay$=n-1+n = 2n-1$ 

So, Total Delay $=\Theta(n).$

Correct Answer: $C$

edited by
by

9 Comments

@VS ji. Thanks for valuable effort. Just small addition if look ahead carry adder is used then 4-Unit of delay in each adder. But it will  not change answer because 4 is  a constant with respect to n.

5

16 AND gates are used, but in the calculation 4 are considered...is it because every time 4 AND gates will work simultaneously? (Like for multiplication of B0 with A3A2A1A0, the AND gates used work simultaneously and so the total delay is 1?)

0
As per the figure, all AND gates can perform their task independently, making all ANDing operation O(1). Only Only adders will face delay of O(n) as last adder will wait for all the above adder to add.
3

for multiply NxN number we will need N-1 , N-bit adders.

one adder has delay of 2n-1 then n-1 will have delay of : (n-1)*(2n-1)=O(n2)

Please solve my doubt...

0

Dharmendra Lodhi

How r u saying that 1 Adder has a delay of 2n-1??

0

@akash.dinkar12

What is the delay per Adder

If it is Ripple carry Adder 

If it is lookahead Adder

1
How many levels of gates are there in the n-bit adder.Because the delay of n-bit adder will depend on the number of levels of gates in it. In the solution above there it is taken as 1 for each n-bit adder.
0

In the diagram they are using simple adder only (having carry propagated to next bit level sequentially). But then also the adder will take O(1) time instead of O(n) time can be explained by implementation below. We are not propagating carry to the same level rather we are propagating that carry to next level.Which helps us to implement the adder in O(1) by parallely generating the sum as (Ai xor Bi) and carry as (Ai and Bi) for ever i.

 

The implementation is using the fact that when we have to add the three bits and an outstanding carry the result is independent of when we add carry. Example we have to add 5,4 and 3 with carry as 1, then we can add first (5+4+carry)  and then add 3 or we can add first (5+4) and then add (9+3+carry) result would be same.

0
Cant all and gates works in parallel and the effective delay caused by them would be 1
1
23 votes
Take A = A1 A2 A3 A4

        B=   B1 B2 B3 B4

NOW TO MULTIPLY THESE TWO NUMBER .  

1 AND GATE REQUIRE B1 MULTIPLY WITH A1 A2 A3 A4.

1 AND GATE REQUIRE B2 MULTIPLY WITH A1 A2 A3 A4.

1 AND GATE REQUIRE B3 MULTIPLY WITH A1 A2 A3 A4.

1 AND GATE REQUIRE B4 MULTIPLY WITH A1 A2 A3 A4.  

 NOW 3 OR GATE REQUIRE.

TOTAL 7 GATE REQUIRE FOR 4 BIT TAKE N BIT U FIND 2N-1.

SO TIME COMPLEXITY WILL BE = ϴ(n)

2 Comments

Diagramatic answer seems to helpful. But still dont know how to drive the equation "So the delay is approxiamtely sqrt(2)*(2n-1)."

http://stackoverflow.com/questions/27095216/time-complexity-in-n-bit-array-multiplication

2
how b1 multply with a1a2a3a4 take only 1 and .. it wil be 4 yes they can perform at same level
0
12 votes
by

3 Comments

reshown by

 if Td = Θ(1) , then the total delay of multiplexer is Θ(n) 
worst case delay would be 
(2n+1)td .where td is the time delay of gates. , is it correct ???

0
Can you give another link of array multiplier ? This link given is not working !
1
@arjun sir : another link for array multiplier please :(
0
4 votes
Answer: C

The no. of gates used in a n bit array multiplier (n*n) is 2n-1.

So, if every single gate takes unit delay, then total delay O(2n-1) = O(n).
edited by

3 Comments

How number of gates are 2n-1,I am getting n^2 Gates
2
I think they mean GATE levels.
0
Answer:

Related questions