Beeinflussen Sie das Routing auf den Stromverbrauch im FPGA

Welchen Einfluss hat das Routing auf den statischen/dynamischen Stromverbrauch im FPGA-Design?

Ich möchte wissen, dass unterschiedliches Routing zu unterschiedlichem Stromverbrauch führt?

Haben Sie sich die Leistungsschätzungstabelle für Ihr Gerät angesehen? Hat es irgendwelche Eingänge im Zusammenhang mit dem Routing? Wenn nicht, glauben Sie, dass wir mehr darüber wissen als die Firma, die das Gerät herstellt?
Ich verwende ISE 14.7 und ein Xilinx-FPGA-Gerät.
@The Photon Ich folge deiner Logik überhaupt nicht. Eine Leistungsschätzungstabelle hat keine Eingaben für das Routing, da sie völlig dynamisch und zu detailliert ist, als dass sich der Benutzer darüber Gedanken machen müsste, bevor das Design abgeschlossen ist. Das bedeutet nicht, dass Xilinx die Auswirkungen des Routings nicht kennt oder dass Sie keine allgemeinen Annahmen treffen können; dein kommentar ist unberechtigt.
@jalalipop. Sie treten mit einem Mitglied, das einen viel höheren Ruf als Sie hat, aus der Reihe. Sein Kommentar ist richtig. OP möchte Details, die nur der Hersteller hat, und OP muss möglicherweise für proprietäre Informationen bezahlen.
@ Sparky256 Das ist unglaublich herablassend. Wenn Sie glauben, Repräsentanten machen jemanden immun gegen Kritik, dann kann ich nur davon ausgehen, dass Sie im Management sind. Der Kommentar, auf den ich geantwortet habe, ist fehlerhaft, da Routing-Eingaben in einer Kalkulationstabelle für Schätzungen völlig unpraktisch sind und ihr Fehlen nichts darüber aussagt, ob diese Frage allgemein beantwortet werden kann (siehe unten), was alles ist, was das OP verlangt. Der Stromverbrauch in digitalen Schaltungen ist nicht gerade ein Rätsel.

Antworten (3)

Effekte wird es auf jeden Fall geben. Längere Drähte haben mehr Kapazität, die bei jedem Übergang aufgeladen werden muss, was den Stromverbrauch erhöht. Im Allgemeinen versuchen die Platzierungs- und Routenwerkzeuge, die Drähte so kurz wie möglich zu machen, um Verzögerungen zu minimieren. Es könnte auch Variationen im statischen Stromverbrauch von Routing-Komponenten geben, obwohl dies extrem architekturabhängig wäre.

Vielen Dank. Kann ich die Drahtlänge in ISE (Plan Ahead oder FPGA Editor, ...) finden?
Ich bin mir nicht sicher, ob es eine nette Möglichkeit gibt, diese Informationen zu erhalten. Ein Blick auf die in der Timing-Analyse gemeldeten Verzögerungen könnte ein guter Anhaltspunkt sein. Sie können sich auch die physischen Positionen jedes Endes des Kabels ansehen und sich ein Bild davon machen, wie lang es mit Manhattan-Entfernung (Summe aus x- und y-Entfernung) ist. Dies berücksichtigt jedoch nicht die Vielzahl von Routing-Optionen entlang dieses Pfades.

Ja, bei jeder Leiterbahn auf der Leiterplatte gibt es parasitäre Widerstände und Induktivitäten .

Das Problem ist, dass FPGAs viele Gates haben, die gleichzeitig schalten (manche FPGAs können sogar Ampere Strom ziehen), was dazu führt, dass die Last steigt und der Strombedarf in sehr kurzen Zeiträumen steigt. Dies verursacht einen Spannungsabfall an den Power-Pins auf dem FPGA. Wenn der Spannungsabfall zu groß ist, werden die Gates nicht mit Strom versorgt und geben "Rauschen" anstelle der korrekten Spannung für eine 1 oder eine 0 aus, was zu einem Fehler in einer booleschen Berechnung führt.

PCB-Leiterbahnen sind einfach Leiter, jeder Leiter hat einen Widerstand (der einen Spannungsabfall verursacht) und eine Induktivität (die verhindert, dass sich Strom sofort von einem Ort zum anderen bewegt). Dies trägt dazu bei, dass die Spannung am FPGA abfällt.

Was können Sie dagegen tun? Es gibt zwei Möglichkeiten, dieses Problem zu bekämpfen:

1) Stellen Sie sicher, dass Sie genügend Netzfilterkondensatoren haben. Leistungsfilterkondensatoren bieten einen kurzfristigen Speicher neben dem FPGA, um die Leitungsinduktivität zu bekämpfen.

2) Stellen Sie sicher, dass der Spannungsabfall durch die Leiterplattenspuren klein genug ist, damit der Strom durch sie fließt. Das erste, was Sie tun müssen, ist, einen PCB-Leiterbahnrechner zu finden, der den Widerstand der Leiterbahn schätzen kann. Schätzen Sie dann den vom FPGA benötigten Strom ab. Die meisten bieten ein Tool oder eine Tabelle (wie Xilinx ) an, mit denen der Strom geschätzt werden kann.

Wenn Ihr FPGA höchstens 1 A benötigt und die Leiterbahn 0,100 Ω beträgt, würde dies zu einem Abfall von 0,1 V führen (V = I * R). Dies ist für ein 1,2-V- oder 1,5-V-Design möglicherweise nicht akzeptabel. Überprüfen Sie das FPGA-Datenblatt auf Leistungsgrenzen. Wenn Sie die Leiterbahngröße um das 5-fache erhöhen, haben Sie nur noch 0,020 Ω und einen Abfall von 0,02 V.

Ein FPGA, zumindest das von Xilinx, das ich verwendet habe, verfügt über eine Vielzahl von Routing-Ressourcen.

Die Taktverteilung ist für Hochgeschwindigkeitstaktung optimiert und deckt den gesamten Chip ab. Diese wird bevorzugt für Uhren vom PAR verwendet.

Daten haben eine Reihe unterschiedlicher Zeilenlängen. Einige wechseln von LUT zu LUT für sehr lokale Verbindungen, zum Beispiel schnelle Übertragungsketten. Es gibt sogenannte "lange Leitungen", die den Chip kreuzen, die in kleine Abschnitte unterteilt werden können, um den dynamischen Stromverbrauch zu begrenzen, oder direkt darüber geführt werden können. Es gibt auch mehrere Arten von Leinen mittlerer Länge. All diese haben einen unterschiedlichen dynamischen Stromverbrauch.

Der PAR wird aus den verfügbaren Ressourcen auswählen, um zeitliche Beschränkungen zu erfüllen. Bei einem dünn besetzten Würfel ist es vielleicht möglich vorherzusehen, was wofür verwendet wird. Bei einem dichten Design, wo der PAR Probleme hat, wird es schwierig sein zu erraten, was er wofür verwenden wird.

Das bedeutet, dass nur die Post-Layout-Berichte Ihnen genaue Schätzungen liefern.

Es gibt nur so viel, was Sie tun können, um die Verlustleistung von der Verbindung zu kontrollieren, sobald Sie die offensichtlichen Dinge getan haben, Addierer in Spalten anzuordnen, Logik neben ihren E / A zu platzieren, damit Sie den Chip nicht überqueren, die dedizierten Taktpuffer verwenden und so auf, die offensichtlichen Sachen. Wenn der PAR zeitliche Einschränkungen erfüllen soll, muss er grundsätzlich das verwenden, was er verwendet.