Overflow detector for Ripple carry adder

Embed Size (px)

Citation preview

  • 8/22/2019 Overflow detector for Ripple carry adder

    1/4

    E C 2 2 0 1 - H e u r i n g A s s i g n m e n t P r o b l e m 2 S o l v e d

    S u r a j k u m a r . H . , T h a k e r P a r t h K a s h y a p

    E E 1 1 B 0 7 5 , E E 1 1 B 0 7 6

    2 3 r d A p r i l , 2 0 1 3

    A b s t r a c t

    T h e f o l l o w i n g i s o u r t a k e o n t h e a s s i g n m e n t p r o b l e m s f r o m C h a p t e r 6 , Q u e s t i o n s 1 0 f r o m

    H e u r i n g .

    1 Q u e s t i o n 1 0

    T h e o b j e c t i v e o f t h e q u e s t i o n i s t o d e s i g n a n o v e r o w d e t e c t o r f o r t h e R i p p l e C a r r y A d d e r / S u b t r a c t o r

    C i c u i t a s g i v e n

    1 . 1 A s s u m p t i o n s

    T h e u n d e r l y i n g a s s u m p t i o n m a d e i n t h i s s o l u t i o n i s t h a t t h e 2 n u m b e r s X a n d Y a r e n - b i t S i g n e d

    i n t e g e r s . T h a t i s , t h e M S B i n e a c h n u m b e r i s u s e d t o i n d i c a t e t h e s i g n o f t h e n u m b e r . A n M S B o f 1

    i n d i c a t e s t h e n u m b e r i s n e g a t i v e .

    I t i s e v i d e n t t h a t t h e o v e r o w c o n d i t i o n i s d i e r e n t f o r a d d i t i o n a n d s u b t r a c t i o n , g i v e n t h a t t h e n u m -

    b e r s a r e s i g n e d . F o r e x a m p l e a d d i n g 2 p o s i t i v e i n t e g e r s t o g i v e a n e g a t i v e o n e i s o v e r o w . S u b t r a c t i o n

    a n e g a t i v e f r o m a p o s i t i v e s h o u l d y i e l d a p o s i t i v e n u m b e r , a n d w h e n i t g i v e s a n e g a t i v e , i t ' s o v e r o w .

    W e n e e d t o d e c o m p o s e i n t o V a r i o u s c a s e s a n d s o l v e .

    T h e r e a r e 2 s o l u t i o n m e t h o d s p o s s i b l e , b o t h o f w h i c h h a v e b e e n o u t l i n e d h e r e .

    2 M e t h o d I

    H e r e , w e r s t c o n s i d e r t h e a d d i t i o n a n d s u b t r a c t i o n c a s e s e p a r a t e l y .

    2 . 1 A d d i t i o n ( r = 0 )

    W e n e e d t o l o o k a t p o s s i b l e c a s e s f o r o v e r o w . T h i s i s d o n e b y c o n s i d e r i n g t h e v a r i o u s p o s s i b i l i t i e s o f

    o v e r o w g i v e n t h e s i g n b i t s o f t h e 2 i n p u t n u m b e r s .

    I f Xn1 = 0 a n d Yn1 = 0, i t i n d i c a t e s w e a r e t r y i n g t o a d d 2 p o s i t i v e n u m b e r s , O v e r o w c a n o c c u r h e r e i f t h e r e s u l t e x c e e d i n t e g e r r a n g e a n d g o e s n e g a t i v e , i . e i f

    Sn1 = 1 I f Xn1 = 0 a n d Yn1 = 1 , o r , Xn1 = 0 a n d Yn1 = 1 i t i n d i c a t e s w e a r e t r y i n g t o a d d a p o s i t i v e

    n u m b e r a n d a n e g a t i v e o n e . O v e r o w c a n n e v e r o c c u r h e r e .

    I f Xn1 = 1 a n d Yn1 = 1, i t i n d i c a t e s w e a r e t r y i n g t o a d d 2 n e g a t i v e n u m b e r s , O v e r o w c a n o c c u r h e r e i f t h e r e s u l t e x c e e d i n t e g e r r a n g e a n d g o e s p o s i t i v e , i . e i f

    Sn1 = 0

    W e c a n s u m m a r i z e t h e o v e r o w c o n d i t i o n a t r = 0 a s

    OV0r=0

    = Xn1Yn1Sn1 + Xn1Yn1Sn1

    2 . 2 S u b t r a c t i o n ( r = 1 )

    A g a i n , w e n e e d t o l o o k a t p o s s i b l e c a s e s f o r o v e r o w . T h i s i s d o n e b y c o n s i d e r i n g t h e v a r i o u s p o s s i b i l i t i e s

    o f o v e r o w g i v e n t h e s i g n b i t s o f t h e 2 i n p u t n u m b e r s . T h e s e a r e a s

  • 8/22/2019 Overflow detector for Ripple carry adder

    2/4

    F i g u r e 1 : O v e r o w D e t e c t o r U s i n g M e t h o d I

    I f Xn1 = 0 a n d Yn1 = 0 , i t i n d i c a t e s w e a r e t r y i n g t o s u b t r a c t a p o s i t i v e n u m b e r n u m b e r f r o m a p o s i t i v e n u m b e r . O v e r o w c a n n e v e r o c c u r h e r e . S i m i l a r l y , f o r

    Xn1 = 1 a n d Yn1 = 1 , O v e r o w n e v e r o c c u r s .

    I f Xn1 = 0 a n d Yn1 = 1 , w e a r e t r y i n g t o s u b t r a c t a n e g a t i v e n u m b e r f r o m a p o s i t i v e o n e . N a t u r a l l y , w e e x p e c t a p o s i t i v e r e s u l t . B u t w h e n t h e r e s u l t e x c e e d s t h e r a n g e , a n d g o e s n e g a t i v e ,

    i . e

    Sn1 = 1 , i t i n d i c a t e s o v e r o w

    I f

    Xn1 = 1 a n d Yn1 = 0 , w e a r e t r y i n g t o s u b t r a c t a p o s i t i v e n u m b e r f r o m a n u m b e r o n e . N a t u r a l l y , w e e x p e c t a n e g a t i v e r e s u l t . B u t w h e n t h e r e s u l t e x c e e d s t h e r a n g e , a n d g o e s p o s i t i v e ,

    i . eSn1 = 0 , i t i n d i c a t e s o v e r o w

    W e c a n s u m m a r i z e t h e o v e r o w c o n d i t i o n a t r = 1 a s

    OV0r=1

    = Xn1Yn1Sn1 + Xn1Yn1Sn1

    2 . 3 C o m b i n e d E x p r e s s i o n

    W e c a n p u t t h e 2 t o g e t h e r a n d g e t

    OV0 = r (Xn1Yn1Sn1 + Xn1Yn1Sn1) + r (Xn1Yn1Sn1 + Xn1Yn1Sn1)

    = Xn1Sn1(r Yn1) + Xn1Sn1(r Yn1)

    T h i s i s o n e e x p r e s s i o n f o r O v e r o w OV0

    3M e t h o d I I ( B e t t e r )

    I n t h i s m e t h o d , w e t r y t o c l e v e r l y t a k e t h e s a m e o v e r o w c o n d i t i o n s a s g i v e n a b o v e , a n d t r y t o r e e c t

    t h o s e c h a n g e s i n t h e C a r r y V a r i a b l e s . N a t u r a l l y , e v e r y f u l l a d d e r h a s a t r u t h t a b l e d i c t a t e d b y i n p u t

  • 8/22/2019 Overflow detector for Ripple carry adder

    3/4

    v a r i a b l e s a n d c a r r y . H e n c e f o r a g i v e n i n p u t n u m b e r a n d o u t p u t s u m , w e c a n a n a l y s e w h a t v a l u e s o f

    c a r r y c o u l d h a v e g i v e n r i s e t o t h a t c o m b i n a t i o n .

    A s a b o v e , w e t r y t o d e c o m p o s e i n t o v a r i o u s c a s e s .

    H e r e , w e t a k e

    yn1 = r Yn1 a s t h e i n p u t t o t h e F u l l a d d e r .

    3 . 1 A d d i t i o n ( r = 0 )

    N o w f r o m o u r p r e v i o u s m e t h o d , w e a l r e a d y k n o w w h i c h c a s e s g i v e r i s e t o o v e r o w . L e t u s l o o k a t t h e m

    a g a i n , b u t f r o m a c a r r y p e r s p e c t i v e . H e r e ,

    yn1 = Yn1

    W h e n Xn1 = 0 a n d yn1 = Yn1 = 0, w e k n o w Sn1 = 1 i s t h e o v e r o w c o n d i t i o n . T h e o n l y w a y t h i s c a n b e a c h i e v e d i s i f t h e C a r r y - i n i s 1 , i . e

    Cn1 = 1. L o o k i n g a t t h e T r u t h t a b l e o f t h e F u l l - A d d e r , w e s e e t h a t

    Cn = 0 i n t h i s c a s e . N o o t h e r c o m b i n a t i o n o f i n p u t s a n d o u t p u t s o t h e r t h a n t h i s o n e , g i v e s

    Cn1 = 1 & Cn = 0 . H e n c e t h i s i s a n o v e r o w c o n d i t i o n .

    W h e n Xn1 = 1 a n d yn1 = Yn1 = 1, w e k n o w Sn1 = 0 i s t h e o v e r o w c o n d i t i o n . T h e o n l y w a y t h i s c a n b e a c h i e v e d i s i f t h e C a r r y - i n i s 1 , i . e

    Cn1 = 0. R e v i e w i n g t h e T r u t h T a b l e , t h i s a m o u n t s t o

    Cn = 1. A g a i n , t h i s i s u n i q u e . S o t h i s i s a n o v e r o w c o n d i t i o n

    W e c a n s u m m a r i z e t h e o v e r o w c o n d i t i o n a t r = 0 a s

    OV1r=0

    = Cn1Cn + Cn1Cn

    = Cn1 Cn

    3 . 2 S u b t r a c t i o n ( r = 1 )

    A g a i n , l e t u s c o n s i d e r t h e p r e v i o u s o v e r o w c o n d i t i o n s . H e r e ,

    yn1 = Yn1 . N o t e h e r e t h a t y i s t h e i n p u t t o t h e f u l l a d d e r a t a n y i n s t a n t o f t i m e , s o t h a t i s t h e v a l u e t h a t w i l l h a v e t o b e c h e c k e d a g a i n s t

    t h e T r u t h T a b l e

    W h e n Xn1 = 0 a n d Yn1 = 1, w e k n o w t h e Sn1 = 1i s t h e o v e r o w c o n d i t i o n . T h i s a g a i n a m o u n t s t o

    yn1

    = 0. W e s e e t h a t t h e c o n d i t i o n h e r e i s i d e n t i c a l t o t h e p r e v i o u s c a s e , w h e r e

    Cn1

    = 1a n d

    Cn = 0 i s t h e O v e r o w c o n d i t i o n .

    W h e n Xn1 = 1 a n d Yn1 = 0, w e k n o w t h e Sn1 = 0i s t h e o v e r o w c o n d i t i o n . T h i s a g a i n a m o u n t s t o

    yn1 = 1 . W e s e e t h a t t h e c o n d i t i o n h e r e i s i d e n t i c a l t o t h e p r e v i o u s c a s e , w h e r e Cn1 = 0 a n dCn = 1 i s t h e O v e r o w c o n d i t i o n .

    W e c a n e a s i l y s e e t h a t t h e e x p r e s s i o n i s i d e n t i c a l i n e v e r y a s p e c t t o t h e p r e v i o u s c a s e .

    W e c a n s u m m a r i z e t h e o v e r o w c o n d i t i o n a t r = 1 a s

    OV1r=1

    = Cn1Cn + Cn1Cn

    = Cn1 Cn

    3 . 3 C o m b i n e d e x p r e s s i o n

    W e n o t i c e t h a t t h e e x p r e s s i o n i n b o t h c a s e s a r e t h e s a m e , h e n c e o n n a l v a l u e i s i n d e p e n d a n t o f r

    . T h i s

    m a k e s s e n s e , a s f o r s u b t r a c t i o n , t h e m a i n p u r p o s e o f

    ri s t o i n v e r t

    Ya n d m a k e

    Cin = 1 . T h i s Cin = 1r i p p l e s t h r o u g h , a n d t a k e s c a r e o f t h e c a r r y c o n d i t i o n s , m a k i n g t h e O v e r o w c o n d i t i o n i d e n t i c a l t o t h a t

    o f a d d i t i o n .

    H e n c e , t h e n a l e x p r e s s i o n i s

    OV1 = Cn1 Cn

  • 8/22/2019 Overflow detector for Ripple carry adder

    4/4

    F i g u r e 2 : O v e r o w D e t e c t o r U s i n g M e t h o d I I