Was ist Multicycle-Pfad?

Timing-Ausnahme, die der STA mitteilt, dass ein Pfad für die Datenübertragung mehrere Taktzyklen benötigen darf. Wird Setup auf N Zyklen gesetzt, setzt man Hold meist auf N − 1, um die Prüfflanke für Hold an ihre ursprüngliche Position zurückzuschieben.

Japanische Bezeichnung: マルチサイクルパス

„Multicycle-Pfad“ kommt in 3 Übungsfragen aus 1 Themen vor, z. B. Timing-Analyse und CDC.

Fachgebiet: Timing-Analyse und CDC

Jetzt üben: Fragen zu Multicycle-Pfad

In einer Schaltung mit einem Takt der Periode 2,0 ns gibt es einen Pfad mit einer Datenankunftszeit (Summe aus Clock-to-Q-Verzögerung und Verzögerung der kombinatorischen Logik) von 3,3 ns und einer Setup-Zeit von 0,1 ns. Da dieser Pfad nur alle 2 Zyklen einmal übernommen werden muss, wurde für Setup ein Multicycle-Pfad von 2 gesetzt. Wie groß ist der Setup-Slack?

  1. A−1,4 ns
  2. B+2,6 ns
  3. C+0,6 ns
Antwort und Erläuterung anzeigen

Antwort: C. +0,6 ns

Mit einem Multicycle-Pfad von 2 liegt die übernehmende Flanke nicht 1 Periode, sondern 2 Perioden später. Die geforderte Zeit beträgt 2 × 2,0 − 0,1 = 3,9 ns, die Ankunftszeit 3,3 ns; der Slack beträgt also +0,6 ns. −1,4 ns ist der Wert, der wie für einen normalen 1-Zyklus-Pfad berechnet wurde, +2,6 ns der Wert, bei dem die Zeit von 3 Zyklen gewährt wurde. Ein Multicycle-Pfad darf nur gesetzt werden, nachdem der Entwickler sich vergewissert hat, dass die Schaltung, etwa über ein Enable-Signal, tatsächlich nur alle 2 Zyklen übernimmt.

Wird für Setup ein Multicycle-Pfad von N (N ≥ 2) gesetzt, wird üblicherweise auch für Hold ein Multicycle-Pfad von N − 1 gesetzt. Was ist der richtige Grund dafür?

  1. AWeil sich die Prüfflanke für Hold zusammen mit der für Setup nach hinten verschiebt und die Prüfung zu streng wird; sie soll an die ursprüngliche Position zurückgesetzt werden
  2. BUm die Prüfflanke für Hold noch weiter nach hinten zu verschieben und so den Hold-Spielraum zu vergrößern
  3. CUm die Hold-Prüfung dieses Pfads von der Analyse auszuschließen
Antwort und Erläuterung anzeigen

Antwort: A. Weil sich die Prüfflanke für Hold zusammen mit der für Setup nach hinten verschiebt und die Prüfung zu streng wird; sie soll an die ursprüngliche Position zurückgesetzt werden

Standardmäßig prüft die STA Hold an der Flanke, die eine vor der Setup-Übernahmeflanke liegt. Wird Setup auf 2 Zyklen gesetzt, wandert auch die Prüfflanke für Hold von Zeitpunkt 0 um 1 Periode nach hinten; bei einer Periode von 2,0 ns entsteht dann eine Verletzung, sofern die Daten nicht mindestens 2,0 ns verspätet ankommen. Wird für Hold ein Multicycle-Pfad von N − 1 = 1 angegeben, kehrt die Prüfflanke zu Zeitpunkt 0 zurück, und es gelten dieselben Bedingungen wie für normale Pfade. Die Hold-Prüfung wird dabei nicht entfernt.

„Multicycle-Pfad“ in den Erläuterungen

Fragen mit „Multicycle-Pfad“ (3)

  1. In einer Schaltung mit einem Takt der Periode 2,0 ns gibt es einen Pfad mit einer Datenankunftszeit (Summe aus Clock-to-Q-Verzögerung und Verzögerung der kombinatorischen Logik) von 3,3 ns und einer Setup-Zeit von 0,1 ns. Da dieser Pfad nur alle 2 Zyklen einmal übernommen werden muss, wurde für Setup ein Multicycle-Pfad von 2 gesetzt. Wie groß ist der Setup-Slack?
  2. Wird für Setup ein Multicycle-Pfad von N (N ≥ 2) gesetzt, wird üblicherweise auch für Hold ein Multicycle-Pfad von N − 1 gesetzt. Was ist der richtige Grund dafür?
  3. Für welchen Pfad ist das Setzen eines False Path (set_false_path) angemessen?

Verwandte Begriffe

Bitfehlerrate (BER) STA (statische Timing-Analyse) Setup-Zeit Slack False Path Multiplexer Asynchrones FIFO CRPR (Clock Reconvergence Pessimism Removal) Handshake Kritischer Pfad

Zur Glossarübersicht