Understanding Digital Circuit Timing: Setup, Hold, Contamination Delay, and Clock Skew
7 min
It is the second article in the series on propagation delay in digital circuits. There are two main things we have to make sure of when designing a digital circuit: the first is functionality, and the second is timing. we have covered the basic blocks in one article. Because time is nothing but the clock ticks when it comes to electronics. Because everything is based on these clock ticks, it determines the operating frequency, speed, and much more in an electronics circuit. We have seen circuits previously that only work in synchronisation with the clock, known as sequential circuits. When working with a microcontroller, FPGA or ASIC, the timing constraints must be met in order to achieve the correct functioning of the circuit. Today, we will see what type of timing constraints there are that we have to look into. This guide covers the fundamentals: setup time, hold time, contamination (min) delay, and clock skew, and shows how they interact in timing equations and real designs.
Timing parameters in Digital Design:
Two delay metrics are important for combinational blocks:
- Tpd (Propagation Delay, max): It is the longest possible delay caused by combinational circuit elements, and it is used in setup checks.
- Tcd (Contamination Delay, min): It is the shortest possible delay, used in hold checks.
- Clock period (Tclk): The time between consecutive clock edges used for a path.
Propagation Delay vs Contamination Delay:
- Propagation Delay (Tpd, max): It is the worst-case (longest) delay through a gate/logic block. Used for setup checks because we need to ensure the latest data still meets setup.
- Contamination/Min Delay (Tcd/min): It is the best-case (shortest) delay through a gate/logic block. Used for hold checks because we need to account for the earliest that a changed signal can appear at the capture flop.
Clock Skew:
The time difference in clock arrival between the source flop and the destination flop. It can be caused by the long system wires from the clock to flop A and B. There will be a mismatch in the timing because signals can not arrive at the same time on all flops. The main sources of skew are clock tree imbalance, routing differences, buffers, synthesis/CTS choices, local clock gating, and PLL/BUF insertion jitter.
- Positive Skew: Capture clock arrives later than the other logic block.
- Negative Skew: Capture clock arrives earlier in comparison to the other logic block.
Intentionally, the skew is introduced to improve timing (commonly to relax setup on a critical path) while ensuring hold constraints remain satisfied.
Setup Time:
Setup time (Tsu) is the minimum interval before the active clock edge during which the input data to a flip-flop must be stable. If the data is not stable before that clock edge in the specified interval, there will be setup time violations. If data arrives too late, the capture flop may sample the wrong value.
Timing check: The setup time is violated mostly by the inappropriate propagation delays. If the propagation delay from the first flop is more than the next clock edge there will be no capture of data, and data will appear after the clock or maybe at the same time, which can push the flop into metastability.
Hold Time:
Hold time (Thold) is the minimum interval after the active clock edge during which the input data must remain stable. If data changes too quickly after the launch edge and arrives at the capture flop before its internal sampling latch has finished holding, the capture flop can sample a corrupted value.
Timing check: The earliest possible arrival of new data is given by Tcq + Tcd. That must not reach the capture flop before the capture flop has completed its hold interval.
Timing Paths in a Digital Circuit:
A typical synchronous timing path is given below. We will examine each and every part one by one:
Launch Edge (Flip-Flop A) → Tcq (clock-to-Q) → Combinational Logic → Tpd/Tcd (propagation/contamination) → Capture Flip-Flop B → Setup/Hold Checks
- Launch event: Flip‑flop A produces a new data value after its clock event. Now, the output of this flip-flop is fixed to that particular value. That data propagates through combinational logic.
- Capture event: The data is the output line of flip-flop A, which serves as the input to Flip‑flop B. It will sample the data at the next relevant clock edge.
Launch and capture are the first and last events in the timing path, but in between, a lot of things are going on, which are discussed in the next section.
Timing Equations:
Setup:
Hold:
Where Jclk is clock jitter (add positive jitter conservatively to the setup equation and subtract or add appropriately to hold as a safety margin. Jitter is treated as a reduction of available timing margin.
Worked Numerical Example (Single-Cycle Path):
Given (typical numbers):
- Tclk = 5.0 ns (target period)
- Tskew = +0.10 ns (capture clock arrives 0.1 ns later)
- Tcx (Tcq) = 0.12 ns (clock-to-Q)
- Tpd = 2.80 ns (max combinational propagation)
- Tsu = 0.08 ns (setup time)
- Tcd = 0.02 ns (contamination/min delay)
- Thold = 0.05 ns (flip-flop hold requirement)
Setup Check:
Required period: Tcq + Tpd + Tsu - Tskew = 0.12 + 2.80 + 0.08 - 0.10 = 2.90 ns
Slack_setup = Tclk - 2.90 = 5.00 - 2.90 = 2.10 ns → PASS (comfortable margin).
Hold Check:
Allowable hold = Tcq + Tcd - Tskew = 0.12 + 0.02 - 0.10 = 0.04 ns
Slack_hold = 0.04 - Thold = 0.04 - 0.05 = -0.01 ns → HOLD VIOLATION by 10 ps.
The path meets setup easily (large slack), but a very fast path causes a hold violation. This is common in real designs: setup is comfortable while hold fails.
Common Causes of Violations and Practical Fixes
Setup Violations (typical fixes):
- Path too long: To fix this issue, try to insert a pipeline/register, reduce logic depth, or restructure the algorithm.
- Slow process corner: To improve, try to consider faster library cells (higher drive strength), increase VDD, and improve routing to reduce Tpd.
Hold Violations (typical fixes):
- Path too fast: we have to add a deliberate delay (place buffer/inverter), use minimum delay insertion in place-and-route, or route the path longer.
- Multi-cycle path: Convert the specific path to a multi-cycle if functionally allowed (Safely mark multi-cycle paths in the STA tool).
Design Tricks (Useful Skew, Multi-Cycle Paths, Retiming)
- Useful Skew: In this, the skew is deliberately introduced to relax the setup on a critical path, while ensuring the hold remains safe. This is an advanced technique used after careful analysis.
- Multi-Cycle Paths: If a path is architecturally allowed to take multiple cycles, mark it as multi-cycle in STA (static timing analysis). We have to set appropriate constraints instead of forcing single-cycle timing.
Conclusion
In this article, we have seen setup time and hold time in more detail with examples. The contamination delay and clock skew are interlinked with the timing equations. Setup is governed by worst-case (max) delays, while hold is governed by best-case (min) delays. Some design tricks with common violations and solutions to them are also shared in this. When it comes to the digital circuit, not only the functionality but also the timing is equally important. The series will continue for some more digital design and timing-related concepts in the future. Visit the JLCPCB section to grab this knowledge quickly.
Popular Articles
• PCBs Explained: A Simple Guide to Printed Circuit Boards
• Guide to the Top 10 Commonly Used Electronic Components
• Understanding the Basics of Electronic Devices and Circuits
• Choosing the Right Electronic Components for Your Electronic Design: Tips and Best Practices
• Digital 101: Fundamental Building Blocks of Digital Logic Design
Keep Learning
PCB Layers Explained : Building Better Boards Through Smart Stackup, Standards, and Design Practices
A PCB is a sandwich of copper and insulating sheets that are stacked together to form a circuit board. Each PCB layer has a specific purpose; for example, some carry signals (traces connecting components), while others serve as solid planes for power or ground. Think of PCB layers like the floors in a building, where each floor can have a different role. We can think of it as offices (signals) on one floor and storage (ground/power) on another. The number of layers varies by design complexity, from ju......
Integrating Standoff Spacers in PCB: Key Considerations for Mechanical Reliability and Performance
Standoff spacers are essentially small posts that serve as supports for circuit boards. They are much more than just small parts in a PCB assembly. These components work by lifting the PCB a bit, which then allows for proper airflow. So there will be better insulation and mechanical support. Standoffs keep a board steady and prevent it from touching other pieces. Choosing a good standoff can really change things; it ensures your device works right instead of failing or coming apart. With this, they ar......
PCB Holder Essentials: Top Types for Soldering and Circuit Board Stability Tips
A circuit board holder, also known as a PCB holder, is a mechanical fixture designed to clamp a PCB firmly in place. It secures the board so it won’t move during tricky operations like soldering, desoldering or testing. This hands-free support not only conveniences but also enhances safety and accuracy when you are working on delicate electronics. A good PCB holders ensure stability, keeping the board firmly located. Also helps in better alignment for positioning parts precisely throughout the assembl......
PCBs Explained: A Simple Guide to Printed Circuit Boards
Printed Circuit Boards (PCBs) are the essential building blocks behind almost all modern electronic devices. PCBs play an important role in that they provide electrical interconnections between electronic components, rigid support to hold components, and a compact package that can be integrated into an end product. They are the main component in an electronic device that is responsible for form and function, and they allow advanced semiconductors to communicate with each other at very high data rates.......
Guide to the Top 10 Commonly Used Electronic Components
Electronic components are fundamental elements of electronic technology serving as the essential building blocks of electronic circuits. As technology and its applications advance rapidly, the number of components used in design processes is increasing daily.It is crucial for electronic engineers or enthusiasts to master the characteristics and applications of commonly used electronic components. This article introduces the top ten electronic components commonly used by engineers and provides guidance......
Understanding the Basics of Electronic Devices and Circuits
In the realm of modern technology, electronic devices and circuits play a crucial role in powering everything from everyday gadgets to complex machinery. Understanding the fundamentals of these components can provide valuable insights into how various electronic systems operate and interact. This blog explores the basics of electronics devices and circuits, their types, functions, and the significance of their design in today's technological landscape. Electronics means the study of the flow of electr......