The Gateway to Computer Science Excellence

First time here? Checkout the FAQ!

x

+24 votes

Given two three bit numbers $a_{2}a_{1}a_{0}$ and $b_{2}b_{1}b_{0}$ and $c$ the carry in, the function that represents the c*arry* generate function when these two numbers are added is:

- $a_{2}b_{2}+a_{2}a_{1}b_{1}+a_{2}a_{1}a_{0}b_{0}+a_{2}a_{0}b_{1}b_{0}+a_{1}b_{2}b_{1}+a_{1}a_{0}b_{2}b_{0}+a_{0}b_{2}b_{1}b_{0}$
- $a_{2}b_{2}+a_{2}b_{1}b_{0}+a_{2}a_{1}b_{1}b_{0}+a_{1}a_{0}b_{2}b_{1}+a_{1}a_{0}b_{2}+a_{1}a_{0}b_{2}b_{0}+a_{2}a_{0}b_{1}b_{0}$
- $a_{2}+b_{2}+(a_{2}\oplus b_{2}) ( a_{1}+b_{1}+(a_{1}\oplus b_{1})+(a_{0}+b_{0}))$
- $a_{2}b_{2}+\overline{a_{2}}a_{1}b_{1}+\overline{a_{2}a_{1}}a_{0}b_{0}+\overline{a_{2}}a_{0}\overline{b_{1}}b_{0}+a_{1}\overline{b_{2}}b_{1}+\overline{a_{1}}a_{0}\overline{b_{2}}b_{0}+a_{0}\overline{b_{2}b_{1}}b_{0}$

+33 votes

Best answer

$c_1=a_0 b_0$

$c_2 = a_1b_1 + a_1c_1 + b_1c_1$

$c_3=a_2b_2 + a_2c_2 + b_2c_2 \\=a_2b_2 + a_2a_1b_1 + a_2a_1c_1 +a_2b_1c_1 + b_2a_1b_1 +b_2a_1c_1 + b_2b_1c_1 \\= a_2b_2 + a_2a_1b_1 +a_2a_1a_0b_0 + a_2b_1a_0b_0 + b_2a_1b_1 + b_2a_1a_0b_0 +b_2b_1a_0b_0$

Option A.

Considering the carry in function $c$, $c_1 = a_0b_0 + a_0c + b_0c$, but $c$ is missing in all options and hence ignored.

$c_2 = a_1b_1 + a_1c_1 + b_1c_1$

$c_3=a_2b_2 + a_2c_2 + b_2c_2 \\=a_2b_2 + a_2a_1b_1 + a_2a_1c_1 +a_2b_1c_1 + b_2a_1b_1 +b_2a_1c_1 + b_2b_1c_1 \\= a_2b_2 + a_2a_1b_1 +a_2a_1a_0b_0 + a_2b_1a_0b_0 + b_2a_1b_1 + b_2a_1a_0b_0 +b_2b_1a_0b_0$

Option A.

Considering the carry in function $c$, $c_1 = a_0b_0 + a_0c + b_0c$, but $c$ is missing in all options and hence ignored.

please give it a look ,

c_{1}=a_{0}b_{0}

c_{2}= a_{1}b_{1 }+ ( a_{1}$\oplus$_{ }b_{1}) c_{1}

c_{3}= a_{2}b_{2}+ ( a_{2}$\oplus$_{ }b_{2}) c_{2 }

now replace c_{2 }accordingly .

at first I also did what you did but the problem with it that you get C=11 or 1 but in 2nd one if the carry C will be 1 . Is it okay to have carry 11 ( 1st one will be neglected in that case ) ?

It is ai ⊕ bi. But

$a_1b_1 + \left(a_1 \oplus b_1 \right) c_ 1 = a_1b_1 + \overline {a_1}b_1c_1 + a_1\overline{b_1}c_1\\=a_1b_1 + b_1c_1 + a_1c_1$

Just seeing a normal adder and how carry term is formed from lowest position on ward.

xyz + abc- we get carry if z and c are 1, and so on..

xyz + abc- we get carry if z and c are 1, and so on..

+6 votes

First we have to know how carry can be generated.

1) If we add 2-bits carry can only be generated if both digits are 1.

so c=a_{0}b_{0}

2) If we add two 2-bit numbers then carry can be generated in two cases ,

a)MSB of both number is 1

b)One MSB is 0 and Other one is 1 and both a_{0 }and b_{0 }are =1

so C=a_{1}b_{1 }+ (a_{1}+b_{1})a_{0}b_{0}

3) If we add two 3-bit numbers then carry can be generated in 3 cases ,

a) MSB of both numbers is = 1

b) MSB of one of the digit is 1 and a_{1 }and b_{1 }both are 1.

c) MSB of one of the digit is 1 and other MSB=0 and one of a_{1 }, b_{1 }is 1 and other 0 but LSB of both digit must be 1

so **C= a _{2}b_{2 }+ (a_{2}+b_{2})a_{1}b_{1 }+ (a_{2}+b_{2})(a_{1}+b_{1})a_{0}b_{0 }**

+1 vote

**:** For carry look ahead adder we know carry generate function—

Where

As we are having two 3 bits number to add so final carry out will be C3-

Putting value of Pi,Gi in 3

C3=(A2.B2)+(A1.B1)(A2+B2)+(A0.B0)(A1+B1)(A2+B2) (TAKING C0=0)

C3=A2.B2 +A1A2B1+A1B2B1+(A0B0)(A1A2+A1B2+B1A2+B1B2)

C3=A2B2+A1A2B1+A1B2B1+A0A1A2B0+A0A1B0B2+A0A2B1B0+A0B0B1B2

SO ANS IS (A) PART.

- All categories
- General Aptitude 1.2k
- Engineering Mathematics 4.7k
- Digital Logic 1.9k
- Programming & DS 3.5k
- Algorithms 3k
- Theory of Computation 3.7k
- Compiler Design 1.5k
- Databases 2.8k
- CO & Architecture 2.5k
- Computer Networks 2.9k
- Non GATE 837
- Others 1.2k
- Admissions 278
- Exam Queries 396
- Tier 1 Placement Questions 17
- Job Queries 50
- Projects 7

33,687 questions

40,231 answers

114,271 comments

38,803 users