ExpertQuestion 97 of 50Source PDF page undefined

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.

Original guide diagramHow do you triage a combinational loop before floorplanning?
How do you triage a combinational loop before floorplanning?, illustrating the physical design concept.