ExpertQuestion 310 of 111Source PDF page undefined

What determines whether a gate can automatically be identified as part of a false path via sensitization, and why is this genuinely hard?

From PDVerse PnR Interview Handbook · pdVerse Mentor Guide

Short Answer

A gate is sensitized if a transition can propagate through it from a particular input to the output while other inputs hold a NON-controlling value (logic 1 at an AND input, logic 0 at an OR input) -- a controlling value (logic 0 at AND, logic 1 at OR) would force the output regardless, blocking propagation. Sensitization criteria are static (a set of input vectors exists giving non-controlling values at all side inputs along the path) or dynamic (vectors applied at different TIMES produce non-controlling values when the propagating transition actually arrives -- considered very complex and still an active research area).

Technical Reference DiagramWhat determines whether a gate can automatically be identified as part of a false path via sensitization, and why is this genuinely hard?
What determines whether a gate can automatically be identified as part of a false path via sensitization, and why is this genuinely hard?, illustrating the physical design concept.

Technical Explanation

  • A controlling logic value is a single input value that forces a gate's output to a known value independent of other inputs -- logic 0 at an AND input, logic 1 at an OR input.
  • A gate is sensitized if a transition can propagate through it from a particular input to the output while other inputs hold a NON-controlling value (logic 1 at AND, logic 0 at OR).
  • Static sensitization: a set of input vectors exists that creates non-controlling static values at all side inputs along the entire path -- a fixed-vector condition.
  • Dynamic sensitization: input vectors applied at DIFFERENT TIMES produce non-controlling values at side inputs specifically when the propagating transition arrives at a particular gate -- considered very complex, and still an active area of research, because it requires reasoning about relative timing of multiple signal arrivals, not just static logic values.
  • Automatic false-path detection via sensitization must not under- or overestimate path delays and must accommodate imperfect timing information -- getting this wrong either misses real false paths (wasting analysis effort) or incorrectly marks a real path as false (a genuine correctness risk).

What To Check

  • Warning sign: an automatically-identified false path later turns out to be functionally exercisable under some real operating condition.
  • Inspect: review whether the false-path identification relied on static sensitization analysis that may have missed a dynamic (timing-dependent) sensitization case.
  • Correct: manually verify any automatically-flagged false path against the actual functional intent before trusting set_false_path on it, especially for paths involving complex timing-dependent control logic.

Command Checks & Actions

ICC2report_exceptions

Lists every currently declared false-path and multicycle exception, letting you audit which paths were actually excluded from timing and cross-check that against real functional intent.

ICC2check_timing

Surfaces missing or inconsistent timing setup broadly -- a useful cross-check that an aggressive false-path declaration hasn't silently hidden a real constraint gap.

Healthy, Suspicious & Hard-stop Results

  • Expected: every declared false path has a clear, verifiable functional justification (e.g. a genuinely mutually-exclusive mux select), not just an automated sensitization result taken at face value.
  • Investigate: an automated false-path candidate relies on complex, timing-dependent control logic -- this is exactly the case where dynamic sensitization's genuine difficulty makes manual verification worthwhile.
  • Stop: a false path is declared based purely on automated sensitization analysis for a path with real, timing-dependent functional relevance, with no manual verification of the underlying functional intent.

Common Mistake

The Trap: Assuming sensitization analysis is a solved, purely-static logic problem -- dynamic sensitization specifically requires reasoning about relative arrival TIMES of multiple signals, which is genuinely harder and still an active research area, not a fully automated solved problem.

What The Interviewer Is Testing

Whether you understand the real distinction between static and dynamic sensitization, and why dynamic sensitization specifically is described as genuinely hard rather than just "more complex."

Practical Example

Debug Scenario: An automated sensitization analysis flags a path as false based on static logic values, but the path actually depends on the relative arrival time of two control signals -- a dynamic sensitization condition the static analysis wasn't built to catch. Declaring it false via set_false_path without manual review would incorrectly exclude a path that can, under specific timing conditions, actually be exercised.

Physical Design & Planning Handbook

Dive into 14 comprehensive chapters covering netlist sanity, FinFET grids, macro placement, power grids, CTS, and timing budgeting.