Electronic Circuits Forum

Electronic circuit & projects discussion forum for Electronic enthusiasts to share and discuss. Place to discuss about electronic circuits, projects and hobby stuff.

Gate delay in 4-bit ripple-carry full adder

New to electronics? Don't know where to start. No problem! Post your questions here.

Moderator: pebe

Gate delay in 4-bit ripple-carry full adder

Hello everyone

I have tried searching the forums and the web and couldn't find a good explanation for the following problem:

Problem:
A full adder is implemented using 9 NAND gates as shown. For the NAND gate used, an input change on A will propagate to X in 3.4ps. An input change on B will propagate to X in 4.1ps. Wire delay is neglected.Use 4 set of the full adder design shown to form the fastest possible 4 bit ripple-carry adder! A and B on the NAND gate can be chosen freely in the design. Given that there are registers before and after the adder, each of them driven by exactly the same clock! Delay to and from the registers are set to 0ns.What is the minimum clock cycle-time (maximum frequency), where the adder will work correctly for all input value changes on {A[3:0], B[3:0], CIN} to form the result {S[3:0], COUT}?

Solutions:
43.6 ps
42.9 ps
39.5 ps
38.8 ps

Problem solving method:
What I've done for a start is counting the worst-case gate delays for each process.

A[i],B[i] -> S[i] = 6 gate delays
A[i],B[i] -> Cout = 5 gate delays
Cin -> S[i] = 3 gate delays
Cin -> Cout = 2 Gate delays

Because the carry-out of one stage is the next's input I found that the total amount of gate delays is:

6 gate delays for generating the first signal (A,B -> Cout)
2 gate delays per intermediate stage (Cin -> Cout)
3 gate delays for producing the sum and carry-out outputs (Cin -> S)

Total gate delays: 12

So what I am asking is if my method is correct. And how you guys would recommend I proceed.

Best regards,

NB: I should note that I've never done anything like this before and my field of study is completely different.
squashbuddy

Posts: 2
Joined: Tue Apr 24, 2012 3:39 pm

Re: Gate delay in 4-bit ripple-carry full adder

I have revised my approach abit. I have identified the different paths A -> Cout, B->Cout, Cin->Cout and Cin->S can follow.

I’ll use the following notation; UTF means approach gate U from top where top is configured as fast and Cout is denoted C.

So looking at the initiation phase (A,B -> Cout) would the following be correct:

way1 A->Cout: TTF - UBF - WTF - XTS - CTF = 4*3.4 + 4.1 = 17.7 ps
way2 A->Cout: TTF - VTF - WBS - XTS - CTF = 3*3.4 + 2*4.1 = 18.4 ps

way1 B->Cout: TBS - UBF – WTF – XTS – CTF = 3*3.4 + 2*4.1 = 18.4 ps
way2 B->Cout: TBS – VTF – WBS – XTS – CTF = 2*3.4 + 3*4.1 = 19.1 ps

Intermediate phase (Cin -> Cout) times 2

Cin->Cout: XBF – CTF = 2*2*3.4 = 13.6 ps

Summation phase (Cin -> S)

Way1 Cin->S: XBF – YBF – STF = 3*3.4 = 10.2 ps
Way2 Cin->S: XBF – ZTF – SBS = 2*3.4 + 4.1 = 10.9 ps

My problem now lies within the question. Whether you design 4 identical adders or whether you can design each adder and optimize it for each stage. What do you guys think?

Thanks for the help.
squashbuddy

Posts: 2
Joined: Tue Apr 24, 2012 3:39 pm