Propagation Delay: Why Signals Arrive Late

In an ideal circuit world, all signals would change instantly: flip an input and the output flips in the same nanosecond. In reality, every gate takes a small but nonzero time to switch. This time is called propagation delay, and it is why signals "arrive late".

Every gate is a small delay

A logic gate is a physical device. When the voltage on its input changes, the transistors inside need time to switch: to charge or discharge capacitances and stabilize the output. This takes picoseconds or nanoseconds, depending on the technology.

The key consequence: delays add up. If a signal passes through a chain of 10 gates, it will be 10 times later than a signal passing through a single gate.

The adder carry chain

The best example is a multi-bit adder. Recall how it works: each full adder adds two bits and the carry from the previous digit. Each block's CarryOut feeds the CarryIn input of the next one.

This forms a chain: to know the carry at the output of the last digit, you must first compute the carry in the first digit, then the second, and so on up to the eighth. Each step adds a couple of gate delays. So the carry signal ripples through every block in the chain.

What about the sum? The low sum bit Sum[0] depends only on the inputs A[0] and B[0] — there is no carry chain on its path. That is why the low-order sum bits appear almost immediately, while the carry and the high-order sum bits arrive later.

FA0 + 1 FA1 + 2 FA2 + 4 FA3 + 8 C C C t t + Δ t + 2Δ t + 3Δ time
The carry chain: every full adder (FA) adds its own delay Δ — the carry of low digits "waits" for the high ones

What it looks like on a timing diagram

In the simulator (and on a real oscilloscope) this shows up as follows: on the diagram, the Carry signal switches later than the Sum signal. Not because the sum is computed "faster" or "first", but because the carry has a longer path: more gates between input and output.

If on level 43 "Freezing Time" the carry output appears with a delay relative to the sum — that is not a simulator bug. It is a real effect of real circuits, and the more digits the adder has, the more noticeable the carry lag.

Why it matters

Try it in the simulator →