Designing circuits that compute.
WHAT DIGITAL DESIGN IS
Building circuits from logic gates to perform computation.
WHAT COMBINATIONAL LOGIC IS
Output determined entirely by current inputs.
WHAT SEQUENTIAL LOGIC IS
Output depending on state, held in storage elements and updated on a clock.
WHAT A CLOCK DOES
Synchronises state changes, so every element updates together.
WHAT THE CLOCK PERIOD MUST ALLOW
The longest path between storage elements to settle.
WHAT THAT PATH IS CALLED
The critical path, and it determines maximum frequency.
WHAT TIMING CLOSURE MEANS
Achieving a design where every path meets its timing requirement.
WHY IT IS HARD
Optimising one path frequently worsens another.
WHAT METASTABILITY IS
A storage element sampling a signal while it is changing, entering an undefined state.
WHERE IT OCCURS
Crossing between clock domains.
WHAT PREVENTS IT
Synchroniser circuits, and disciplined clock domain crossing.
WHY IT MATTERS
Failures are rare, random, and extremely difficult to diagnose.
WHAT TO DESIGN FOR
Testability, from the start.
WHAT THAT MEANS
Circuitry allowing the manufactured chip to be tested.