ExpertQuestion 11 of 161

Functional constraints were loaded into test mode. What evidence exposes it?

From PDVerse PnR Interview Handbook, part of the pdVerse Mentor Guide

Short Answer

This is a debugging exercise, and the way you catch it is by comparing what a scenario actually contains against what it should contain for its declared mode โ€” a mislabeled scenario usually leaves fingerprints across several categories at once. Start with scenario-mode association: does report_scenarios or the equivalent actually show test mode pointing at the SDC file/constraints intended for functional mode? This is often the most direct smoking gun โ€” a filename or mode tag mismatch.

Technical Reference DiagramFunctional constraints were loaded into test mode. What evidence exposes it?

Technical Explanation

  • Check the clocks active in that scenario โ€” functional mode and test mode frequently run at different frequencies (test/scan clocks are often much slower, or use a different source entirely), so if test mode shows functional-frequency clocks, that's a strong tell.
  • Look at case analysis โ€” test mode typically has specific scan-enable/test-mode select pins forced to particular values; if those case-analysis settings are missing or contradict what functional mode would set, the constraints clearly weren't written for this mode.
  • , via ATE constraints), is another red flag.
  • , certain CDC paths, certain mode-exclusive muxes) shouldn't appear as exceptions in a genuinely test-mode-specific SDC, since test mode often exercises paths that functional mode treats as false.
  • Package this as a repeatable diff: pull the constraint sets for both modes side by side (clocks, case analysis, I/O delays, exceptions) and look for functional-mode fingerprints sitting where test-mode fingerprints should be โ€” a single named discrepancy in any of these categories is usually enough to prove the mix-up.

What To Check

  • Warning sign: Test analysis inherits functional constants or functional interfaces disappear.
  • Inspect: Keep at least two possible causes open, then use one named object and the active mode or scenario to separate them.
  • Correct: Reload constraints in their intended mode context and compare mode-specific reports before proceeding.

Command Checks & Actions

  • report_scenarios: shows the MCMM scenario matrix and analysis status
  • report_clocks: shows clock definitions and relationships
  • report_case_analysis: shows constants applied for the active mode
  • report_exceptions: shows timing exceptions and their scope

Run the commands in order. Each line answers a separate part of the check.

Healthy, Suspicious & Hard-stop Results

  • Expected: Compare scenario-mode associations, clocks, case analysis, I/O delays, and exception membership across modes.
  • Stop before floorplanning when required logic or timing coverage is missing or unexplained.

Common Mistake

The Trap: Do not assume the check passed just because ICC2 continued. Fix or narrowly justify the named objects, then rerun the same command.

What The Interviewer Is Testing

Be ready to explain why this matters before floorplanning.

Follow-up Question & Model Response

Model response: โ€œI would save the report, inspect one affected object in the correct block and scenario, and make or request this correction. โ€

Physical Design & Planning Handbook

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

Offline PDF Bundle

Want all 1109 questions offline?

Get the complete 4-book PDF bundle (PnR, STA, MMMC, Low Power) with a clickable table of contents - no ads, no internet needed.

See what's inside the bundle
Timing Constraints (SDC) Handbook โ€” nine chaptersSDC ConstraintsNine chapters on clocks, exceptions, and constraint linting.