Basic Adders and Counters: Lecture 3 - Half-adder and Full-adder Implementations, Study notes of Electrical and Electronics Engineering

Lecture 3 Material Type: Notes; Class: Computer Arithmetic; Subject: Electrical & Computer Enginrg; University: George Mason University; Term: Unknown 1989;

Typology: Study notes

Pre 2010

Uploaded on 02/12/2009

koofers-user-jzq-2
koofers-user-jzq-2 ๐Ÿ‡บ๐Ÿ‡ธ

10 documents

1 / 11

Toggle sidebar

This page cannot be seen from the preview

Don't miss anything!

bg1
1
Basic Adders and Counters
Lecture 3
Half-adder
x
y
c
sHA
x +y = ( c s )2
2 1
x y c s
0
0
1
1
0
1
0
1
0
0
0
1
0
1
1
0
Half-adder
Alternative implementations (1)
s = xy + xy
b)
a)
s = x โŠ•y
c = xy
c = x + y
pf3
pf4
pf5
pf8
pf9
pfa

Partial preview of the text

Download Basic Adders and Counters: Lecture 3 - Half-adder and Full-adder Implementations and more Study notes Electrical and Electronics Engineering in PDF only on Docsity!

Basic Adders and Counters

Lecture 3

Half-adder

x y

c s

HA

x + y = ( c s ) 2

2 1

x y c s 0 0 1 1

0 1 0 1

0 0 0 1

0 1 1 0

Half-adder

Alternative implementations (1)

s = xy + xy

b)

a)

s = x โŠ• y

c = xy

c = x + y

c) c = xy

s = xc + yc = xc โ‹… yc

Half-adder

Alternative implementations (2)

Full-adder

x y

cout s

FA

x + y + cin = ( cout s ) 2

2 1

x y cout s 0 0 0 0 1 1 1 1 0 0 1 1 0 0 1 1 0 0 0 1 0 1 1 1 0 1 1 0 1 0 0 1

cin

0 1 0 1 0 1 0 1

cin

Full-adder

Alternative implementations (1)

a) (^) s = (x โŠ• y) โŠ• cin

cout = xy + cin (x โŠ• y)

s

c c

Latency of a k -bit ripple-carry adder

Tripple-add = TFA(x,yโ†’cout) +
+ ( k -2) โ‹… TFA(cinโ†’cout) +
+ TFA(cin โ†’s)

Latency โ‰ˆ k โ‹… TFA

Latency โˆ k

Addition of a constant (1)

xk-1 xk-2... x 1 x 0 yk-1 yk-2... y 1 y 0

variable

  • constant

xk-1 xk-2... xh+1 xh xh-1... x 0 yk-1 yk-2... yh+1 1 0... 0

variable

  • constant

xh xh-1... x 0

sk-1 sk-2... s 1 s 0

sk-1 sk-2... sh+

Addition of a constant (2)

HA/^... MHA

HA/ MHA

HA/ MHA

HA/ MHA

xk-1 xk-2... xh+2 xh+1 xh^ xh-1... x 0

..

sk-1 sk-2... (^) sh+2 sh+1 xh xh-1... x 0

If yi = 0 Half-adder (HA) yi = 1 Modified half-adder (MHA)

ck

Modified half-adder

x y

c s

MHA

x + y + 1 = ( c s ) 2

2 1

x y c s 0 0 1 1

0 1 0 1

0 1 1 1

1 0 0 1

HA HA HA HA

xk-1 xk-2... x 2 x 1

..

sk-1 sk-2... s 2 s 1

x 0

x 0

ck

Incrementer

MHA MHA MHA MHA

xk-1 xk-2... x 2 x 1

..

sk-1 sk-2... s 2 s 1

x 0

x 0

ck

Decrementer

Expected length of the carry chain
that starts at position i (1)

Expected length( i , k ) =

k i
k i
k j i
j i
j i
โˆ’^ โˆ’

Length of the carry chain

Probability of the given length

Probability of propagation till the end of adder

Distance till the end of adder

Expected length of the carry chain
that starts at position i (2)

Expected length( i , k ) =

k i

For i << k

Expected length of the carry propagation is โ‰ˆโ‰ˆโ‰ˆโ‰ˆ 2

Carry completion detection

Two-rail code

bi ci

0 0

0 1

1 0

carry not yet known

carry known to be 1

carry known to be 0

Meaning

Manchester Carry Chains and Adders

Generate signal: gi = xiyi Propagate signal: pi = xi โŠ• yi Anihilate (absorb) signal: ai = xi yi = x + y

Transfer signal: ti = gi + pi = ai = xi + yi cout =1 given cin = 1

ci+1 = gi + cipi = = (gi + cigi) + cipi = = gi + ci (gi + pi) = = gi + ci ti

X + XY = X Absorption law