You were asked to bring one idea for knowing the carry into column four without first working out columns one, two and three. Let us find out whether that is possible.
Take three or four of their ideas before anything goes up. Do not judge them yet. Someone will be close.
Last session left you a wall, a verdict, and a piece of homework.
the hour in three questions
Is it even possible? Can you know c4 without working out c1, c2 and c3 first? That is your homework, and it gets settled today.
Is it practical? If it works for four columns, does it still work for thirty two?
Was it worth it? Ripple could not clock past 0.77 GHz. You want 3 GHz. Does this get you there, and what does it cost?
Write 3 GHz on the board. That is the target all hour, and it is the number ripple failed to reach.
factor the equation, then click any bit to change it
Start where the chain is not: what a column knows from its own two bits.
presets
The factoring hands you an OR for p. XOR is what you use, because it is already built for the sum bit and it stops generate and propagate overlapping. The OR version computes the right carry too.
NOT FIXED YET
So write the first carry out, and look at what is still sitting in it.
where that leaves you
Every g and every p in the adder is ready at t = 1. Thirty two facts, none of them waiting on anything.
And the definition of a carry still contains a carry. Naming things did not move the dependency at all.
Do not rescue them. They need to feel that the new names alone bought nothing.
answer out loud before you press step
You have these two lines and nothing else. What can you do?
Wait for somebody to say put the first line into the second. It has to be their move. Then step it.
THE QUESTION YOU WALKED IN WITH
c4, written without ever mentioning c1, c2 or c3.
show
Say it plainly: this is the answer to what you were asked to bring. Yes, it is possible. Read one route aloud as a sentence.
the objection worth taking seriously
Surely the carry has to travel across those columns. It does not.
the sentence to take out of this hour
Everything that decides the carry into column four was on the table at t = 0. The a bits and the b bits. Nothing else was ever involved.
A carry is not something that travels. It is something you can compute.
Ripple was never the carry's nature. It was one way of working it out, and a slow one.
This is the thesis of the hour. If they remember one sentence, make it the bold one.
guess before the reveal: how many gate delays to c4?
Judge it the way you judged ripple: count the depth.
They will guess eight, from ripple. Two is the answer, and it is two for every carry at once.
guess first: how many wires arrive at the OR gate for c32?
Two delays for four columns. Now ask for thirty two.
what broke, and what did not
The maths is fine. c32 really is a sum of 33 routes, and all 33 really are ready at t = 1.
The gate is not. Class 18 put the fan-in limit at about five, and c4 is the last carry that fits under it.
So four columns is the widest group you are allowed. That number was chosen for you, not by you.
Say clearly that the idea did not fail, the hardware did. Otherwise they think lookahead was wrong.
hands up before the next slide: will this reach 3 GHz?
So build blocks of four and pass the carry between them. Does that do it?
be honest about what this is
It works, and it is a genuine win: 18 delays against 65, a ceiling of 2.78 GHz against 0.77.
But look at what you built. This is ripple again at a coarser grain. Eight waits instead of thirty two.
And it misses the target. 360 ps is 108% of a 3 GHz cycle. Most textbooks stop here and call it a lookahead adder.
Take the vote. Do not sneer at this design. It is widely built and it is nearly right.
the same two questions, asked of four columns at once
Does this block make a carry? Does it pass one through?
show
Both answers are built only from the columns' own g and p. Neither mentions the carry coming in, which is the whole trick again.
Which means you have already built the circuit for the next level up.
remember
Same box, same two gate layers, same five wires in. Only the labels on them changed.
So you do not design anything new. You build one lookahead unit and use it at every level.
Eight of them cover the columns, two cover those, one covers the last two. Three levels, thirty two columns.
If they ask whether this is recursion, yes. The identical picture does the convincing better than the word.
So how long does the whole thing take? Add up every step.
remember
Everything a level knows has to travel up before any carry can travel back down. That round trip is ten of the twelve.
Things still wait for each other, seven times, not thirty two. That is the whole difference.
Ripple waits once per column, so its waiting grows with the adder. This waits once per level, and there are only three.
If anyone says the blocks must still ripple, this slide is the answer. They are right that things wait, wrong about how often.
COST BEFORE PAYOFF
Before any of the good news: what those twelve delays cost you.
remember
The lookahead network sits alongside the sum logic from Class 20. It does not replace one gate of it.
Class 17 spent an hour deleting gates. This hour adds eighty on purpose. Both were right, about different constraints.
Do not rush this. A student who leaves thinking speed is free has learned the wrong thing today.
What you bought is not only speed. It is the same answer every time.
remember
Ripple ran anywhere from 3 delays to 65 depending on the numbers, and you had to budget for 65 on every cycle.
Lookahead is twelve whatever the inputs are. There is no worst case left to protect against.
Last session's histogram collapsed to a single bar. Say that out loud, it is the payoff in one picture.
the method from last session, one more time
Twelve delays, twenty picoseconds each. Now answer the question on the board.
clock
240 ps into a 333 ps cycle. Ripple could not. This can, with room to spare. 0.77 GHz becomes 4.17.
commit to an answer for 64 before pressing reveal
Last question of the hour. What happens when the machine gets wider?
Everyone expects 64 to cost more. It costs the same, because the number of levels did not change. This is why 64 bit machines exist.
the reason, not just the result
Three levels hold sixty four columns. At thirty two you were using half of one.
The tree was always big enough. Going to 64 filled the space you had already built and paid for.
So which one is correct? None of the three, until you say what for.
the actual skill
A microcontroller designer who picks the full hierarchy has spent 40% more area on speed nobody can use.
A desktop designer who picks ripple has a machine that will not clock, and one who picks chained blocks misses by eight per cent.
Knowing which constraint you are under is the actual skill. The adder is only an answer once the question is fixed.
Ripple is not the loser. It is still the right adder in most chips ever manufactured.
Four down, four to go.
the export from this hour, and it is not the adder
When something is defined in terms of itself, substitute the definition into itself until the self reference is gone. That move comes back for loops, for pipelines, and for anything that looks like a chain.
And when fan-in stops you, ask the same question one level up, as many times as it makes you.
You will never build a lookahead adder. You will use both of those again and again.
Name the export out loud. They will not build this circuit. They will reuse the two moves for the rest of their lives.
Would you ship it now?
Last session the answer for a desktop was no, and no amount of care rescued it. Today it is yes, for 40% more gates and a network that sits beside the one you had. A carry stopped being something the circuit waits for and became something it works out.
Next session: you have an adder that only adds. Build a subtractor, and find out you already have one.
Stop here. Send off: with only an adder and a way to flip every bit, work out how you would compute a minus b. Bring the idea, not the proof.