Was ist False Path?

Pfad, der strukturell existiert, über den im Betrieb aber tatsächlich kein Signal läuft. Er wird als Timing-Ausnahme von der STA ausgenommen und in SDC mit set_false_path angegeben.

Japanische Bezeichnung: フォールスパス

„False Path“ kommt in 2 Übungsfragen aus 1 Themen vor, z. B. Timing-Analyse und CDC.

Fachgebiet: Timing-Analyse und CDC

Jetzt üben: Fragen zu False Path

Für welchen Pfad ist das Setzen eines False Path (set_false_path) angemessen?

  1. AEin Pfad, der strukturell verbunden ist, über den aber z. B. wegen sich gegenseitig ausschließender Auswahlbedingungen tatsächlich nie ein Signal läuft
  2. BEin Pfad mit großer Timing-Verletzung, die schwer zu beheben ist
  3. CEin Pfad, bei dem Daten nur alle 2 Zyklen einmal übernommen werden müssen
Antwort und Erläuterung anzeigen

Antwort: A. Ein Pfad, der strukturell verbunden ist, über den aber z. B. wegen sich gegenseitig ausschließender Auswahlbedingungen tatsächlich nie ein Signal läuft

Die STA untersucht alle verbundenen Pfade, ohne die Bedeutung der Logik zu berücksichtigen. Daher können auch für Pfade, die tatsächlich nie durchlaufen werden, Verletzungen gemeldet werden, etwa bei einer Schaltung, in der zwei Multiplexer mit demselben Auswahlsignal jeweils entgegengesetzte Eingänge wählen. Solche Pfade werden als False Path angegeben und von der Analyse ausgeschlossen. Schließt man einen Pfad aus, nur weil er schwer zu beheben ist, verdeckt man einen echten Fehler. Ein Pfad, der alle 2 Zyklen einmal übernimmt, sollte als Multicycle-Pfad mit verlängerter Zeit weiter analysiert werden.

Warum kann es problematisch sein, den Pfad, über den die Gray-codierten Zeiger eines asynchronen FIFO in die Gegendomäne übertragen werden, nur weil er asynchron ist, ohne Constraint (als False Path) zu belassen?

  1. AWeil die Flipflops des Synchronisierers bei einem False Path in der Logiksynthese entfernt werden
  2. BWeil die Annahme, dass sich pro Schritt nur 1 Bit ändert, auf der Empfangsseite nicht mehr gilt, wenn die Verzögerungsunterschiede zwischen den Bits das Aktualisierungsintervall des Zeigers überschreiten
  3. CWeil die Zeiger bei einem False Path vom Tool in Binärcode zurückgewandelt werden
Antwort und Erläuterung anzeigen

Antwort: B. Weil die Annahme, dass sich pro Schritt nur 1 Bit ändert, auf der Empfangsseite nicht mehr gilt, wenn die Verzögerungsunterschiede zwischen den Bits das Aktualisierungsintervall des Zeigers überschreiten

Gray-codierte Zeiger setzen voraus, dass sich, an welcher Flanke der Empfangsseite auch immer betrachtet, höchstens 1 Bit gerade ändert. Bleibt der Pfad ohne Constraint, können die Verzögerungen der einzelnen Bits bei Platzierung und Verdrahtung stark streuen. Beträgt beispielsweise die Periode der Sendeseite 2 ns, benötigt das beim ersten Schritt wechselnde Bit 3 ns und das beim zweiten Schritt wechselnde Bit 1 ns bis zum Ziel, kommen beide zum Zeitpunkt 3 ns an, und es sieht so aus, als hätten sich 2 Bit gleichzeitig geändert. Deshalb wird ein Constraint für die maximale Verzögerung gesetzt, um den Verzögerungsunterschied auf 1 Periode der Sendeseite zu begrenzen.

„False Path“ in den Erläuterungen

Fragen mit „False Path“ (2)

  1. Für welchen Pfad ist das Setzen eines False Path (set_false_path) angemessen?
  2. Warum kann es problematisch sein, den Pfad, über den die Gray-codierten Zeiger eines asynchronen FIFO in die Gegendomäne übertragen werden, nur weil er asynchron ist, ohne Constraint (als False Path) zu belassen?

Verwandte Begriffe

Bitfehlerrate (BER) STA (statische Timing-Analyse) Multiplexer Multicycle-Pfad Platzierung und Verdrahtung (Place & Route) Asynchrones FIFO CRPR (Clock Reconvergence Pessimism Removal) Handshake Kritischer Pfad MTBF (mittlere Betriebsdauer zwischen Ausfällen)

Zur Glossarübersicht