0% found this document useful (0 votes)
29 views

Adder 2

The document discusses carry-skip adders which can speed up addition by skipping carry propagation between blocks of bits. It defines carry transfer logic and how carry skipping can be detected for a given block size. The optimal block size is also discussed, which aims to minimize the worst case addition time by balancing the time for carry generation and propagation between blocks.

Uploaded by

sreekanth2728
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
29 views

Adder 2

The document discusses carry-skip adders which can speed up addition by skipping carry propagation between blocks of bits. It defines carry transfer logic and how carry skipping can be detected for a given block size. The optimal block size is also discussed, which aims to minimize the worst case addition time by balancing the time for carry generation and propagation between blocks.

Uploaded by

sreekanth2728
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 2

Quelle:Timo Hamalainen, Computer Arithmetic: Carry-Skip Adder

Carry-Skip-Adder
consider addition of the following numbers
. . .  
  010101   
 . . .
     
. . .  
 101010   
. . .

if   = 1  carry will propagate to position 

to speed-up operation, propagation is skipped to position i without waiting for ripp-


ling

operation time varies according to operands as in carry-complete addition

to implement carry-skip adder, stages are divided into blocks


operands
....

generated block previous bock

skipped carryskip
detect

carry-skip logic is added to each block to detect when carry-in the block can be
passed directly to the next block

define carry transfer   =  

carry skipping can be detected for a block size of m as follows (carry propagates
through all stages):
 
 !
. . . "#%$&
('*) +,'-+,. 0/1+23"
4 !
"/6505 5/

note: this takes into account both propagated and generated carries!

carry out from the block (m-bits in a block) is

; 7 !
85 50<>5"= !#9$&
(.:?  ; : !>< = # ?
@ "BACAED,F G D,H D2>I JCKLDMF

1
A 2m1 B2m1 A m+1 Bm+1 Am Bm A m1 Bm1 A1 B1 A0 B0

C2m
VA ... Cm+2
VA
Cm+1
VA
Cm
VA ... C2
VA
C1
VA
C0

S 2m1 T2m1 S m+1 Tm+1 Sm Tm Sm1 Tm1 S1 T1 S0 T0


... ...

block size in carry-skip adder is very important

worst case operation time takes place when

carry is generated in the first block


carry skips intermediate stages
carry is killed in the last block

Block N 1 Block 1 Block 0


M
...

CarrySkipLogic ;
H
worst case addition time is #   
( =adder width,  =block size)

for optimal block size, minimize delay:


F
      
H
#  '
H
  
FC#
'
H

#

in practise, non-uniform block sizes gives the best performance

in general, outer blocks should be smaller than middle blocks

You might also like