12 min readASIC Signoff
Timing Signoff Convergence in MCMM
Master the complexities of Multi-Corner Multi-Mode (MCMM) timing signoff to ensure silicon reliability and performance across all operating conditions.
Introduction to Timing Signoff Convergence
Timing signoff represents the final, most critical gate in the ASIC development lifecycle. While synthesis and place-and-route (PnR) tools strive to meet timing targets during the implementation phase, the signoff stage is where the design is rigorously validated against the most pessimistic conditions possible. The goal is not merely to achieve a 'passing' grade, but to ensure that the design will operate reliably across every possible combination of process variation, voltage fluctuation, and temperature swing.\n\nConvergence in timing signoff is the process of iteratively reducing timing violations—specifically setup and hold failures—until the design meets all specifications across all required scenarios.
This process is often the most time-consuming part of the physical design flow because a fix in one corner may inadvertently create a violation in another. Achieving convergence requires a disciplined approach to constraint management, a deep understanding of the technology library, and a strategic focus on the most critical paths.
The Multi-Corner Multi-Mode (MCMM) Framework
Modern SoC designs operate in a variety of modes and across a wide range of environmental conditions. This complexity is managed through the Multi-Corner Multi-Mode (MCMM) framework.\n\n### Defining Modes\n\nA 'Mode' refers to the functional state of the device. A typical ASIC may have several distinct modes:\n- **Functional Mode**: The primary operational state where the chip performs its intended task.\n- **Scan/Test Mode**: Used for Design-for-Test (DFT) purposes, where clocks and resets are routed differently to allow for scan-chain shifting.\n- **Low Power/Sleep Mode**: States where certain blocks are powered down or clocks are gated to save energy.\n\nEach mode has its own set of constraints, clock definitions, and timing exceptions.
A path that is critical in Functional Mode might be completely irrelevant in Scan Mode.\n\n### Defining Corners\n\nA 'Corner' represents a specific combination of physical and environmental parameters. These parameters typically include:\n- **Process**: Variations in the manufacturing of transistors (e.g., Fast-Fast (FF), Slow-Slow (SS), Typical-Typical (TT)).\n- **Voltage**: Fluctuations in the power supply (e.g., VDD + 10%, VDD - 10%).\n- **Temperature**: The range of operating temperatures (e.g., -40°C to 125°C).\n\nWhen you combine modes and corners, you get a matrix of analysis scenarios.
For example, 'Functional Mode at SS corner at -125°C' might be the worst case for setup timing, while 'Functional Mode at FF corner at 125°C' might be the worst case for hold timing. The signoff engineer must ensure that no violation exists in any cell of this matrix.
Managing Timing Corners: PVT and RC Variations
To achieve a robust signoff, one must look beyond basic PVT (Process, Voltage, Temperature) and consider the parasitic variations of the interconnects.\n\n### The Role of RC Corners\n\nInterconnect delay is a dominant factor in advanced process nodes. Engineers use RC corners to model the variation in wire thickness and dielectric constants:\n- **Cbest/RCbest**: Minimum capacitance and resistance, leading to the fastest signal propagation.\n- **Cworst/RCworst**: Maximum capacitance and resistance, leading to the slowest signal propagation.\n\nIn a full signoff flow, the tool analyzes the intersection of PVT and RC corners.
For instance, a 'Slow' process corner combined with an 'RCworst' interconnect corner creates the most pessimistic delay, which is critical for verifying setup timing.\n\n### On-Chip Variation (OCV) and Derates\n\nEven within a single chip, transistors on one side of the die may be slightly faster or slower than those on the other. To account for this, On-Chip Variation (OCV) is applied.
Rather than using a single fixed delay, OCV applies 'derates'—multipliers that artificially increase or decrease the delay of a path to create a safety margin. Advanced flows use Advanced OCV (AOCV) or Parametric OCV (POCV), which vary the derate based on the distance between pins or the depth of the timing path, reducing the unnecessary pessimism of traditional flat derates.
Strategies for Iterative Convergence
Timing convergence is rarely a linear process. It is an iterative loop of analysis, fixing, and re-verification.\n\n### Bottleneck Analysis\n\nThe first step in convergence is identifying the 'bottleneck' paths. Not all violations are created equal. A path with a -100ps slack is much easier to fix than one with -2ns. By focusing on the paths with the largest negative slack (Worst Negative Slack, or WNS), engineers can make the most impactful changes first.\n\n### Balancing Setup and Hold\n\nThere is a fundamental tension between setup and hold timing:\n- **Setup Timing**: Requires the data to arrive *before* the clock edge.
Fixing setup often involves speeding up the data path (e.g., using larger buffers or lower-threshold voltage cells).\n- **Hold Timing**: Requires the data to remain stable *after* the clock edge. Fixing hold often involves slowing down the data path (e.g., adding buffers).\n\nIf an engineer aggressively fixes a setup violation in the SS corner by adding fast buffers, they may inadvertently create a hold violation in the FF corner.
The key to convergence is 'balanced fixing'—ensuring that a fix in one corner does not break another.\n\n### The Danger of 'Whack-a-Mole'\n\nWithout a strategic plan, timing fixes can become a game of 'whack-a-mole,' where fixing one path creates two more. To avoid this, engineers use 'path groups' to isolate critical logic and apply targeted optimizations. They also analyze the 'slack distribution' to see if a large number of paths are near the edge, which indicates a systemic issue with the floorplan or clock tree rather than a few isolated bad paths.
Handling False Paths and Multicycle Constraints
Not every path reported by the timing tool is a real path that needs to be timed. Over-constraining a design leads to wasted effort and impossible convergence goals.\n\n### False Paths\n\nA false path is a path that exists physically but is logically impossible or irrelevant to the design's operation. Examples include:\n- Paths between asynchronous clock domains (which should be handled by synchronizers).\n- Static configuration registers that are only set once at boot-up.\n\nBy declaring these as `set_false_path` in the SDC file, the tool ignores them, allowing the engineer to focus only on the paths that actually affect chip performance.\n\n### Multicycle Paths\n\nSome logic is designed to take multiple clock cycles to complete.
For example, a complex mathematical operation might be spread over three cycles. If the timing tool assumes a single-cycle limit, it will report a massive violation. Using `set_multicycle_path` informs the tool of the intended latency, shifting the timing requirement to the correct clock edge.
Signoff Metrics: WNS, TNS, and Slack Distribution
To quantify the state of convergence, signoff engineers rely on three primary metrics.\n\n### Worst Negative Slack (WNS)\n\nWNS is the slack of the single worst path in the entire design (or a specific group). It is the primary indicator of whether the chip will hit its target frequency. If WNS is negative, the chip cannot run at the target speed without risking failure.\n\n### Total Negative Slack (TNS)\n\nTNS is the sum of all negative slacks across all paths in the design.
While WNS tells you how bad the worst path is, TNS tells you how much 'work' is left to do. A design with a small WNS but a massive TNS is 'unhealthy' because it has thousands of paths on the verge of failure, making it highly susceptible to process variation.\n\n### Slack Distribution\n\nA histogram of slack (the Slack Distribution) is the most powerful diagnostic tool.
A healthy distribution shows a clear gap between the zeros and the bulk of the paths. A distribution that peaks right at zero indicates a design that is too tightly constrained and lacks the necessary margins for reliable mass production.
Conclusion
Timing signoff is a transition from the optimism of implementation to the pessimism of verification. Convergence in an MCMM environment is a disciplined exercise in managing margins. By systematically addressing the worst bottlenecks, balancing the trade-off between setup and hold, and rigorously pruning irrelevant paths through SDC exceptions, engineers can transform a failing design into a signoff-ready artifact. Ultimately, the goal is to create a design where the timing is not just 'met,' but is robust enough to survive the realities of the fabrication plant and the unpredictable conditions of the end-user's environment.
Frequently asked questions
What is the difference between WNS and TNS?
Worst Negative Slack (WNS) is the slack of the single most violated path in the design, indicating the absolute limit of the chip's frequency. Total Negative Slack (TNS) is the sum of all negative slacks across all paths, indicating the overall volume of timing failures and the general 'health' of the implementation.
How do we handle 'corner explosion' in large designs?
As the number of modes and corners increases, the analysis time grows exponentially. To manage this, engineers use 'corner pruning' or 'corner grouping,' where they identify which corners are mathematically redundant or dominated by others. They also use hierarchical timing signoff to analyze blocks independently before integrating them into the top-level MCMM matrix.
Why is MCMM critical for advanced process nodes (e.g., 7nm, 5nm)?
In advanced nodes, the relative impact of process variation and voltage droop is much higher compared to the nominal delay. Small fluctuations in voltage or temperature can lead to significant timing shifts. MCMM allows engineers to model these sensitivities explicitly, ensuring that the chip doesn't fail due to a local voltage drop or a slight temperature gradient across the die.
Related reading
- noteOn-Chip Variation in Static Timing
- noteTiming Exceptions Without Signoff Gaps
- noteAdvanced DRC and Signoff Strategies
More engineering notes
Working through a problem like this?
Tell us about your flow: the tools, the PDK, what is failing and when it needs to be clean.