What this chapter covers

By default, data launched from a register must be captured in one cycle. A multicycle path (MCP) is a path the design guarantees is allowed N cycles. SDC uses setup and hold multipliers; relaxing setup without moving hold is the classic error. An MCP relaxes timing โ€” it does not remove the check.

Slow datapaths held stable across cycles, periodic compute results, and some integer-ratio crossings are legitimate MCPs. The RTL or protocol must actually wait N cycles; the constraint cannot invent that behavior.

Worked example

A path allowed two cycles for setup typically uses set_multicycle_path 2 -setup and set_multicycle_path 1 -hold (the usual pairing that moves the hold check back to the original edge). The exact hold multiplier depends on edge alignment; copying โ€œMCP 2โ€ without a hold adjustment produces a flood of false hold failures or a real hold hole.

A common misconception

Setting only the setup multiplier. Setup moves the required edge later; hold, if left at default, is still checked to the same-cycle edge and becomes impossibly tight โ€” or, if someone then false-paths hold, a real short-path risk. Another trap: MCP on a path that is not actually sampled late in the design.

Sample interview answers

Does a multicycle path disable timing? No. It changes which launch/capture edges are used. The path is still checked, with more time for setup if the design really waits.

Why is a hold multiplier usually required with setup MCP? Moving the setup capture edge without adjusting hold leaves a same-cycle hold check that no longer matches the intended sampling.

How do you verify an MCP? report_timing on that path should show the intended cycle count in the required-time stack, and the RTL/protocol must match that count.

The paid chapter works the setup/hold cycle-count diagram, default versus explicit hold multipliers, report_timing checks for MCP, and 80 interview questions.

Previous: False paths ยท Next: Combinational and modal analysis ยท Related: STA interview questions

๐Ÿ’ก Key Technical Topics Covered

  • set_multicycle_path Setup Multiplier (-setup)
  • set_multicycle_path Hold Correction (-hold)
  • Enable-Controlled Flip-Flop Multicycle Timing
  • Phase Shifted Multicycle Constraints

๐ŸŽฏ VLSI Physical Design Interview Questions Addressed

  • Why must you specify a hold multicycle constraint whenever you set a setup multicycle path?
  • How do you constrain a 2-cycle multicycle path in SDC?
  • What happens if you omit set_multicycle_path -hold?