Skip to content
BetterDL

Stage balancing

Also called: pipeline balancing, balanced pipeline, balancing pipeline stages

Placing pipeline registers so every stage has about the same logic delay, since the slowest stage sets the clock for all of them.

In a pipeline every stage shares one clock, and the period must suit the slowest stage:

T = (largest stage logic delay) + tcq + tsu

So if one stage has much more logic than the others, the fast stages finish early and then sit idle for the rest of each cycle. Stage balancing means choosing where to put the pipeline registers so the stages have roughly equal delay. That gives the shortest possible period for a given number of stages.

How to approach it:

  • Add up the total logic delay and divide by the number of stages to get the ideal stage delay.
  • Cut the logic at points as close to that as the circuit allows. You can only place a register between gates, so perfect balance is often impossible.
  • If one block can't be split, it sets a lower bound on the period, and extra stages elsewhere won't help.

Balancing improves throughput, and it keeps the latency cost of pipelining as small as possible.

Worked example

Example

Balanced versus unbalanced

Logic made of four blocks in a row with delays 2, 6, 3 and 5 ns must be split into two stages. Registers add tcq + tsu = 1 ns.

  1. 1.

    Cut after block 1: stages of 2 and 6 + 3 + 5 = 14 ns. T = 14 + 1 = 15 ns.

  2. 2.

    Cut after block 2: stages of 8 and 8 ns. T = 8 + 1 = 9 ns.

  3. 3.

    Cut after block 3: stages of 11 and 5 ns. T = 11 + 1 = 12 ns.

  4. 4.

    The balanced cut, after block 2, gives the fastest clock: 1000 ÷ 9 ≈ 111 MHz.

Common mistakes

  • Setting the period from the average stage delay. The slowest stage decides.

  • Assuming more stages always help. A single unsplittable slow block limits the period.

Practice Stage balancing

Interactive questions with instant feedback and a worked solution for every wrong answer.

Learn it step by step

Stage balancing is taught in Timing and Sequential Logic.