Allgemeine Kriterien für das FPGA-Routing

Ich implementierte eine einfache Schaltung auf einem FPGA mit Quartus (6 logische Elemente) und bemerkte, dass sich der Block mit den 6 Zellen in der Nähe des Perimeters befindet. Ist das ein allgemeines Kriterium? Die Platzierung an der Grenze kann helfen, einige Verzögerungen zu minimieren? (dh ist es "näher" an den Ausgangspins und dies ist vorteilhaft)

Geben Sie hier die Bildbeschreibung ein

Antworten (2)

Es spielt eine Menge hinein, aber ich denke, man kann mit Sicherheit sagen, dass der Monteur entschieden hat, dass der beste Ort für diesen Logikblock ist, weil er sich direkt neben dem FPGA-Pin befindet. Wenn Ihr Projekt niedrige Timing-Anforderungen hat, hätte es diesen Logikblock wahrscheinlich an einer anderen Stelle platzieren können und trotzdem die Timing-Anforderungen erfüllen können.

Um Ihre Frage zu beantworten: Ja, es gibt eine Optimierung, die diesen Logikblock neben den Port platziert, und ja, in einer FPGA-Entfernung kann eine Verzögerung bedeuten, denn je weiter er entfernt ist, desto mehr Logik und Busse muss das Signal durchlaufen.

Hier ist ein Diagramm, wie Logik kompiliert wird, die Anpassung nimmt das synthetisierte HDL und entscheidet dann, wo es abgelegt wird. Wenn es Zeitbeschränkungen erfüllt, kann es in eine Datei kompiliert werden, um das Gerät damit zu programmieren.

Geben Sie hier die Bildbeschreibung ein

... the *best* place ...klingt komisch. Vielmehr hat der Monteur einen Standort gewählt, der alle bekannten Randbedingungen erfüllt. Es ist nicht unbedingt die beste Wahl, aber es ist eine ausreichende Wahl.

Wenn Ihr Design E/A enthält, befindet sich zumindest der E/A-Teil davon am Rand, da sich dort die E/A-Schnittstelle befindet. Die Schnittstelle muss dieser Funktion gewidmet werden, da die Ströme viel höher sind, die Spannungsschwankungen oft auch, und der Schutz gegen die Welt und ihre ESD (relativ) groß und sperrig ist.

FPGAs haben mehrere Ebenen von Routing-Ressourcen. Sie haben ein paar Leitungen, die den Chip überspannen, viele Leitungen, die einen Teil des Chips überspannen, und eine Fülle von Leitungen, die mit der angrenzenden Logik verbunden sind. Der Router versucht, verbundene Regionen bevorzugt nebeneinander zu platzieren, damit er die reichlich vorhandene Ressource nutzen und die seltene Ressource für den Fall aufbewahren kann, in dem sie wirklich benötigt wird. In einem einfachen Design könnte es die Logik von den Pins weg platzieren, aber es ist nicht dafür programmiert.

Nicht alle FPGAs haben alle ihre IOBs am Rand. Bei Geräten mit großer Pinzahl und einem BGA-Chip sind viele der IOBs über den gesamten Chip verteilt.