Was genau sind in der FPGA-Welt falsche Pfadbeschränkungen für einen HDL-Compiler? Warum sind sie nützlich?
Was genau sind in der FPGA-Welt falsche Pfadbeschränkungen für einen HDL-Compiler? Warum sind sie nützlich?
Antworten:
Falsche Pfade sind Zeitpfade, die im endgültigen Entwurf niemals wirklich ausgeübt werden. Angenommen, Sie entwerfen einen 4-Bit-Zähler und es stellt sich heraus, dass beim Inkrementieren von 12 auf 13 ein sehr langsamer Verzögerungspfad auftritt. Wenn Ihr Entwurf den Zähler immer zurücksetzt, wenn die Anzahl 9 beträgt, wird dieser langsame Pfad in der nie angezeigt tatsächliches Design. Sie kennzeichnen den langsamen Pfad als falschen Pfad, damit der Compiler keine Zeit damit verbringt oder zusätzliche Logik hinzufügt, um den falschen Pfad schneller laufen zu lassen.
Ein falscher Pfad ist ein Pfad, der im Entwurf vorhanden ist, aber keine Rolle in der Operation spielt. Daher ist es nicht erforderlich, ihn in die Timing-Analyse einzubeziehen.
Es kann verschiedene Gründe dafür geben, aber da das Timing-Analyse-Tool normalerweise nicht weiß (obwohl es einige Tools gibt, die sie erkennen können), welche Pfade verwendet werden können oder nicht, müssen Sie es angeben. Es ähnelt einem Pfad mit mehreren Zyklen, bei dem Sie feststellen können, dass ein bestimmter Pfad mehr als einen Zyklus zum Abschließen verwenden darf.
Ein Beispiel (für einen falschen Pfad) ist ein Register, das beim Einschalten möglicherweise einmal geschrieben wird, dann aber im selben Zustand bleibt.
Ein falscher Pfad ist einfach ein Logikpfad, der nicht überprüft werden soll, um festzustellen, ob er während der Timing-Analyse dem Timing entspricht. Es gibt zwei Gründe, Pfade auszuschließen: Erstens, weil der falsche Pfad dazu führt, dass die Tools härter arbeiten, um das Timing für dieses Signal einzuhalten, was sich wiederum auf legitime Signalpfade auswirkt, die möglicherweise zusätzliche Timing-Fehler verursachen, und weil die Timing-Prüfung Fehler meldet möglicherweise den Designer von legitimen Zeitfehlern ablenken.
Falsche Pfade werden durch Logikpfade zwischen nicht verwandten asynchronen Takten oder Takten derselben Frequenz, jedoch mit unbekannter Phasenbeziehung oder einem Pfad verursacht, der während des normalen Schaltungsbetriebs niemals aktiviert werden würde. Wenn Sie dem Tool sagen, dass es einen Pfad ignorieren soll, funktioniert das Timing nicht nur, wenn das Timing nicht überprüft wird. Es ist Sache des Konstrukteurs, manuell sicherzustellen, dass für diese ignorierten Signalpfade die richtige Synchronisationslogik verwendet wird.