What is Multicycle path?

A timing exception telling STA that a path may take several clock cycles to transfer data. When setup is set to N cycles, hold is usually set to N − 1 to move the hold check edge back to its original position.

Japanese name: マルチサイクルパス

Multicycle path appears in 3 practice questions across 1 topic, including Timing analysis and CDC.

Field: Timing analysis and CDC

Try it: questions about Multicycle path

In a circuit running on a 2.0 ns clock, a path has a data arrival time (clock-to-output plus combinational logic delay) of 3.3 ns and a setup time of 0.1 ns. Since this path only needs to capture once every two cycles, a setup multicycle path of 2 is set. What is the setup slack?

  1. A−1.4 ns
  2. B+2.6 ns
  3. C+0.6 ns
Show answer and explanation

Answer: C. +0.6 ns

A multicycle path of 2 moves the capturing edge from one period later to two periods later. The required time is 2 × 2.0 − 0.1 = 3.9 ns and the arrival time is 3.3 ns, so the slack is +0.6 ns. −1.4 ns is calculated with the normal single cycle, and +2.6 ns allows three cycles' worth of time. A multicycle path must be set only after the designer has confirmed that the circuit actually captures only every two cycles, for example via an enable signal.

When a setup multicycle path of N (N ≥ 2) is set, a hold multicycle path of N − 1 is normally set as well. Why?

  1. ABecause the hold check edge also shifts later along with setup and becomes far too strict, so it must be moved back to its original position
  2. BTo shift the hold check edge even later and increase hold margin
  3. CTo exclude the path's hold check from the analysis
Show answer and explanation

Answer: A. Because the hold check edge also shifts later along with setup and becomes far too strict, so it must be moved back to its original position

By default, STA checks hold at the edge one before the setup capture edge. Making setup two cycles moves the hold check edge from time 0 to one period later, so with a 2.0 ns period the data would violate hold unless it arrived 2.0 ns or more late. Specifying a hold multicycle path of N − 1 = 1 moves the check edge back to time 0, giving the same conditions as an ordinary path. It does not remove the hold check.

Multicycle path in the explanations

Questions that mention Multicycle path (3)

  1. In a circuit running on a 2.0 ns clock, a path has a data arrival time (clock-to-output plus combinational logic delay) of 3.3 ns and a setup time of 0.1 ns. Since this path only needs to capture once every two cycles, a setup multicycle path of 2 is set. What is the setup slack?
  2. When a setup multicycle path of N (N ≥ 2) is set, a hold multicycle path of N − 1 is normally set as well. Why?
  3. For which path is it appropriate to set a false path (set_false_path)?

Books on Timing analysis and CDC Ad

As an Amazon Associate I earn from qualifying purchases.

Related terms

STA (static timing analysis) Setup time Slack False path Asynchronous FIFO Clock domain Clock uncertainty Critical path CRPR (clock reconvergence pessimism removal) Handshake

Back to the glossary