Using the library
Each card shows a command to explain. A missed card returns later in the round and starts the schedule over. A card answered correctly moves up the schedule and next appears after 1, 3, 7, then 21 days. Keys 1 to 4 choose an option, h shows a hint, and Enter moves on. A hint keeps the card where it is on the schedule. An ordering card is answered by clicking its items in order, and one wrong click ends it. Time values are in nanoseconds. Progress is stored in this browser.
All 4 cards in this section, with answers
-
swap a cell on a path with plenty of slack for a higher threshold versionIt leaks far less and switches more slowly, which spare slack pays for.
Hint: Ask what a higher threshold does to speed, and what it does to leakage.
Leakage falls roughly exponentially with threshold voltage while delay rises gently, so swapping the cells off the critical path is close to free. Flows do this as a late pass, and the reverse swap is a way to recover a small amount of timing. the open libraries reference
-
INV_X1 -> INV_X8 on a slow stageIt drives the load faster but presents a bigger load to the stage before.
Hint: The bigger cell drives more. Ask what it does to whatever drives it.
Input capacitance grows with drive strength, so the delay moves upstream rather than disappearing. Sizing helps when the cell is genuinely overloaded and stops helping once the load is mostly the gate that drives it, which is why repair sizes a whole path rather than one cell. the open libraries reference
-
a chain of buffers sized so each drives about four times its own inputA ratio near four per stage gives the least delay over the chain.
Hint: There is an optimum, and it is not the biggest possible step.
A larger step per stage needs fewer stages but each is slower; a smaller step is quick per stage but needs more of them. The total is flat near a ratio of about four, which is why buffer trees are built that way and why driving a huge load from one cell is always wrong. the open libraries reference
-
insert a buffer halfway along a long net, or upsize the driverSplitting the wire beats sizing, since each half is a quarter.
Hint: Wire delay grows with the square of the length.
The resistance and the capacitance of a wire both scale with its length, so its delay scales with the square. Two halves cost two quarters plus the buffer. Sizing the driver fights the resistance of the whole wire and runs out of benefit quickly, which is why repair buffers long nets. the open libraries reference