ExpertQuestion 58 of 161

How does Physical Register Retiming work during placement, and how is Formal Verification maintained?

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

Short Answer

When a combinational logic cone between two pipeline stages has badly imbalanced delay, sizing and buffering alone often can't close setup timing — retiming actually moves the register boundary itself to rebalance the pipeline. Mechanically: forward retiming slides a flip-flop from a logic gate's input pins to its output pin, and backward retiming does the reverse — moving a register from a gate's output back across to all of its input pins — reshaping where pipeline stage boundaries physically sit.

Technical Reference DiagramHow does Physical Register Retiming work during placement, and how is Formal Verification maintained?

Technical Explanation

  • When a combinational logic cone between two pipeline stages has badly imbalanced delay, sizing and buffering alone often can't close setup timing — retiming actually moves the register boundary itself to rebalance the pipeline.
  • Mechanically: forward retiming slides a flip-flop from a logic gate's input pins to its output pin, and backward retiming does the reverse — moving a register from a gate's output back across to all of its input pins — reshaping where pipeline stage boundaries physically sit.
  • Retiming also has to preserve correct power-up behavior: the engine computes new, equivalent reset/preset initialization vectors so the retimed circuit still powers up into an identical functional state, even though the registers moved.
  • The formal-verification challenge is real: because register names, counts, and even boundaries change across the transformation, ordinary combinational-equivalence formal checking simply doesn't apply anymore — you need sequential equivalence checking instead.
  • The tool solves this by writing an automated Setup Verification File (SVF) documenting every register-shift operation, which sequential formal tools (Formality, Conformal) consume to prove the retimed netlist is still functionally equivalent to the original.

Common Mistake

The Trap: Retiming registers with asynchronous resets without exporting the SVF file. Formality / Conformal will fail with hundreds of non-equivalent register state mismatches.

Follow-up Question & Model Response

"Why can't registers with multiple fanouts to different clock domains be retimed easily?"

Candidate Model Response: Retiming across multiple clock domains or async interfaces alters CDC synchronizer depth and breaks metastability guarantees.

Practical Example

Enabling Adaptive Retiming in place_opt:

# Synopsys ICC2: Record SVF verification file and enable adaptive retiming
set_svf design_retiming.svf
set_app_options -name opt.adaptive_retiming.enable -value true
place_opt
set_svf -off

PnR Flow Mentor Guide

Read the complete 8-chapter PnR Flow Mentor Guide free on the web — library setup through placement, clock tree synthesis, routing, chip finishing, hierarchical implementation, and ECO, all the way to stream-out.

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
PnR Flow Physical Design Mentor Guide — eight chaptersPnR Flow Mentor GuideEight chapters, library setup through to stream-out.