Forum: FPGA, VHDL & Co. Ungenutzte Pins am FPGA


von Lisa (Gast)


Lesenswert?

Wie sollte man mit ungenutzten Pins am FPGA umgehen?
Beim Microcontroller kann es ja sinnvoll sein, diese auf ein Level zu 
ziehen, um z.B. Strom zu sparen, der sonst durch ständige Umladevorgänge 
in den floatenden Eingangsstufen verbraucht würde.

Wie sieht das bei FPGAs aus?
Kann man das überhaupt verallgemeinern, oder kommt es auf den 
FPGA-Hersteller/Typ an?

von Vancouver (Gast)


Lesenswert?

Wenn die entsprechenden IOPads unkonfiguriert bleiben, sind die Pins 
hochohmig. Die floaten dann zwar herum, aber da die Eingangstreiber 
disabled sind, richtet das keinen Schaden an und man kann die Pins 
einfach hängen lassen.
Macht auch Sinn, sonst müsste man bei großen FPGA alle unbenutzen Pins 
auf einen definierten Level legen, was das Platinenlayout schon massiv 
kompliziert machen kann.

von User (Gast)


Lesenswert?

Für FPGAs gilt das gleiche, keine CMOS Eingänge floaten lassen.
Es gibt für alle Synthesetools eine Einstellung was mit ungenutzen Pins 
passieren soll. Da kann man "0", "1" oder auch Pull-Up einstellen.

Bei Altera/Intel ist es das hier im QSF-File:
set_global_assignment -name RESERVE_ALL_UNUSED_PINS "AS INPUT TRI-STATED 
WITH WEAK PULL-UP"

von Lisa (Gast)


Lesenswert?

Danke für die schnellen Antworten.
Leider scheinen diese sich etwas zu widersprechen.

@User Was genau sind ungenutzte Pins? Dürfen diese Pins gar nicht im 
constraints-file auftauchen, oder sind Pins gemeint, die nicht 
getrieben/gelesen werden, aber trotzdem z.B. im Hauptmodul des HDL-Codes 
als Eingang vorkommen, aber nicht weiter verwendet werden.

von Blechbieger (Gast)


Lesenswert?

Bei Intel gibt mehrere verschiedene Optionen mit Vor- und Nachteilen. 
Manche reduzieren den Stromverbrauch, andere z.B. den Ground Bounce. 
Diese Optionen haben dann auch unterschiedliche Anforderungen an die 
Beschaltung der Pins.

von Tobias B. (Firma: www.elpra.de) (ttobsen) Benutzerseite


Lesenswert?

Lisa schrieb:
> @User Was genau sind ungenutzte Pins? Dürfen diese Pins gar nicht im
> constraints-file auftauchen, oder sind Pins gemeint, die nicht
> getrieben/gelesen werden, aber trotzdem z.B. im Hauptmodul des HDL-Codes
> als Eingang vorkommen, aber nicht weiter verwendet werden.

Auch hier haengt es von FPGA Hersteller / Typ und der zugehoerenden 
software ab.

In der Regel kannst du aber davon ausgehen, dass Pins die im Hauptmodul 
vorkommen aber nicht weiter verwendet werden wegoptimiert werden und 
dann die gesetzte Regel fuer nicht verwendete Pins greift.

von Andreas S. (Firma: Schweigstill IT) (schweigstill) Benutzerseite


Lesenswert?

Bei einigen Famlien von Logikbausteinen (CPLD, FPGA) von Xilinx gibt es 
auch die interessante Option, einen Pin mit dem KEEPER-Attribut zu 
versehen. Solch ein Pin wird dann durch einen schwachen Treiber auf den 
Pegel gezogen, den er eh schon hat. Hierdurch hat mit eine ähnliche 
Charakteristik wie bei einem Pull-Up- oder Pull-Down-Widerstand, aber es 
fließen keine unnötigen Ausgleichsströme, wenn der Pin extern doch auf 
einen anderen festen Pegel gezogen werden sollte.

Ob das für Deinen konkreten Fall das richtige ist, muss von Pin zu Pin 
separat entschieden werden.

von Lisa (Gast)


Lesenswert?

Vielen Dank für die interessanten Antworten.

Ich werde dann wohl erst herausfinden müssen, was meine Tools machen und 
wie ich dieses Verhalten überhaupt beeinflussen kann.
Konkret sind das Yosys zusammen mit nextpnr auf einem ice40 FPGA.
Ich denke mal, dass in diesem Fall wohl nextpnr die Entscheidung über 
ungenutzte Pins treffen bzw. festlegen muss.

von Weltbester FPGA-Pongo (Gast)


Lesenswert?

Lies dir am Besten die Beschreibung der IOs mal durch.
In deinem Fall wäre pull down oder GND sicher das Passendste.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.