How do you triage a combinational loop before floorplanning?
From PDVerse PnR Interview Handbook · pdVerse Mentor Guide
Short Answer
Distinguish an intentional feedback model from an accidental netlist loop and identify any automatic timing-arc break chosen by the tool.
Technical Explanation
Treat this as a readiness check. It should produce named objects and a result that another engineer can repeat from the same handoff.
What To Check
• Warning sign: Timing propagation is interrupted and a loop warning names unexpected functional logic. • Inspect: Keep at least two possible causes open, then use one named object and the active mode or scenario to separate them. • Correct: Trace the loop, consult synthesis/RTL ownership, repair a netlist bug upstream, or document the intentional model and exact timing treatment.
Command Checks & Actions
• check_timing -include {loops}: finds missing or inconsistent timing setup
• check_netlist: reports structural connectivity problems
• report_disable_timing: shows timing arcs that cannot propagate
Run the commands in order. Each line answers a separate part of the check.Healthy, Suspicious & Hard-stop Results
• Expected: Distinguish an intentional feedback model from an accidental netlist loop and identify any automatic timing-arc break chosen by the tool. • Investigate: Timing propagation is interrupted and a loop warning names unexpected functional logic. • Stop before floorplanning when required logic or timing coverage is missing or unexplained. Trace the loop, consult synthesis/RTL ownership, repair a netlist bug upstream, or document the intentional model and exact timing treatment.
Common Mistake
Do not assume the check passed just because ICC2 continued: Timing propagation is interrupted and a loop warning names unexpected functional logic. 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: Timing propagation is interrupted and a loop warning names unexpected functional logic.
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: Trace the loop, consult synthesis/RTL ownership, repair a netlist bug upstream, or document the intentional model and exact timing treatment. Then I would reopen the clean checkpoint and rerun the same evidence.”
Practical Example
Symptom: Timing propagation is interrupted and a loop warning names unexpected functional logic. Corrective path: Trace the loop, consult synthesis/RTL ownership, repair a netlist bug upstream, or document the intentional model and exact timing treatment.
Continue practising