Functional Units for Addition and Subtraction Functional Units for Addition and Subtraction Functional Units for Addition and Subtraction Functional Units for Addition and Subtraction Functional Units for Addition and Subtraction Functional Units for Addition and Subtraction Functional Units for Addition and Subtraction Functional Units for Addition and Subtraction Carry LookAhead Adder 10.2.2 Carry LookAhead Adder
10.2 Functional Units for Addition and Subtraction 10.2.1 Ripple Carry Adder Half adder S= a ⊕ b Cout = a & b 10.2 Functional Units for Addition and Subtraction 10.2.2 Carry Look-Ahead Adder • Arithmetic implementation of carry bit generate: gi = & bi propagate: pi = ^ bi si = (ai ^ bi) ^ci = pi^ci Ci+1 = (( ^ bi ) & ci ) | ( a & b ) = ( pi & ci )^gi 10.2 Functional Units for Addition and Subtraction 10.2.2 Carry Look-Ahead Adder • bit Arithmetic implementation of carry bit Ci+1 = (( ^ bi ) & ci ) | ( a & b ) = ( pi & ci )^gi 10.2 Functional Units for Addition and Subtraction 10.2.2 Carry Look-Ahead Adder • 4-bit adder with carry look ahead 10.2 Implementation 4-bit adder with carry look ahead 10.2.2 Carry Look-Ahead Adder 10.2 Functional Units for Addition and Subtraction 10.2.3 Overflow and Underflow Positive + positive = negative y Negative + negative = positive => include logic for Overflow and Underflow detection