Problems / ECO / Buffer insertion

Buffer insertion

ECO medium interactive · in-browser

Buffer insertion. A driver reaches a far flip-flop through a long wire, and the path misses setup. On an unbuffered wire every segment carries all of the load downstream of it, so the delay grows with the square of the length: long nets are quadratically slow.

Inserting a buffer splits the wire. Each buffer re-drives the signal, so the piece after it starts fresh and the driver upstream sees only the load up to the buffer. Splitting one long quadratic into several shorter pieces cuts the delay sharply. But each buffer adds its own fixed delay, so past a point more buffers make the path slower again: there is an optimum.

Click a tick on the wire to add or remove a buffer, watch the far-sink delay move against the limit, and get it at or under the limit with as few buffers as you can. Then Submit buffers.