Forum: FPGA, VHDL & Co. Frage zur maximalen Auslastung eines FPGA


von Norbert (Gast)


Lesenswert?

Hallo,

ich habe eine Frage zur maximal möglichen Auslastung bzw. 
Leistungsausnutzung eines FPGA.

Angenommen, ich habe eine komplexe Schaltung in einem FPGA, die dessen 
Logikkapazität optimal ausnutzt, also die vorhandenen LUTs zu ca. 60% 
und auch weitere logische Blöcke möglichst ausnutzt. Z.B. ein komplexer 
Prozessorkern oder etwas in der Art.

Zur maximalen Leistungsausnutzung ist es wohl wünschenswert, eine 
möglicht hohe, optimale Taktfrequenz zu verwenden. Hier sind natürlich 
Grenzen gesetzt, die man ausloten möchte.

Ist es richtig, dass bei den "größeren" FPGA Modellen, also solchen, mit 
größerem Logikvolumen, die Grenzen eher durch die thermische 
Belastbarkeit gesetzt werden, wobei man hier bei Last mittels Kühlkörper 
und Lüfter die Wärme abführen muß während bei den "kleinen" Modellen die 
entstehende Wärme kein Thema ist, sondern hier setzen die 
Gatterlaufzeiten die ausnutzbaren Grenzen, die durch den FPGA gesetzt 
werden?

Also so ein kleineres Modell wäre z.B. der Spartan 6 LX16 von meinem 
ExBoard.

Vielen Dank für Eure Hinweise & Antworten auf meine Frage.

Beste Grüße,

Norbert

von user (Gast)


Lesenswert?

Also termische Probleme sind eher untergeordnet. Wenn ein FPGA gut 
gefüllt ist, also über 80% wird es für das place&route immer aufweniger 
und die maximale Taktrate sinkt.

von Edi M. (Gast)


Lesenswert?

Nun es gibt schon Fälle, in denen die Thermik die Grenze setzt. Bei 
bestimmten Anforderungen im erweiterten Temperaturbereich hat der FPGA 
nicht mehr viel Reserve als Stromfresser Nummer 1.

von Fpgakuechle K. (Gast)


Lesenswert?

Norbert schrieb:
> Ist es richtig, dass bei den "größeren" FPGA Modellen, also solchen, mit
> größerem Logikvolumen, die Grenzen eher durch die thermische
> Belastbarkeit gesetzt werden, wobei man hier bei Last mittels Kühlkörper
> und Lüfter die Wärme abführen muß während bei den "kleinen" Modellen die
> entstehende Wärme kein Thema ist, sondern hier setzen die
> Gatterlaufzeiten die ausnutzbaren Grenzen, die durch den FPGA gesetzt
> werden?

Also wenn größere FPGA's größeres package meint, dann stimmt das eher 
nicht da mehr oberfläche und pins zur Wärmeableitung zur Verfügung 
stehen. Je kleiner der IC desto höher das Risiko des Verglühens (nach 
meiner Erfährung). Ferner kann es sein, das wegen der zunehmenden Länge 
der Routing-Kanäle, die Signallaufzeit auf größeren Dies höher ist als 
auf kleinen. (Aber das ist stark vom Chip-layout abhängig).
Und wenn kleines FPGA's in kompakten Geräten (Plattenstapel) verbaut 
werden dann erhöht sich das thermische Problem nochmal gegenüber großen 
FPGA's die in luftigen Racks stecken.

Thermik kann immer zum Problem werden, also mit Wachsen des designs 
regelmäßig überprüfen und von anfang an gegenmassnahmen für ein worst 
case szenario einplanen (Platz für Lüfter/heat sink einrechnen, 
Stromsparmöglichkeiten identifizieren).

MfG,

von Norbert (Gast)


Lesenswert?

Aber eigentlich müßte, bei gleicher Integrationsdichte, doch die Anzahl 
der logischen Elemente den Grad der Wärmeentwicklung im Wesentlichen 
beeinflussen. Wenn ich z.B. eine Million aktive LUTs habe und diese mit 
200MHz takte, muß die Wärmeentwicklung um den Faktor 100 höher sein als 
z.B. bei 10000 LUTs, die mit der selben Frequenz getaktet werden. Die 
Gehäusegröße und -form hat natürlich auch einen Einfluß aber der müßte 
(ohne Kühlkörper) eigentlich eher unwesentlich sein.

Daher nochmal meine konkrete Frage an die Experten. Ist es so, dass bei 
FPGAs mit kleinem Logikvolumen keine thermische Belastung entstehen kann 
weil man hier längst an die Grenzen der Gatterlaufzeit stößt bevor sich 
ein thermisches Problem entwickeln kann während bei "großen" FPGAs, also 
solchen mit recht großem Logikvolumen bei einem entsprechenden Füllgrad 
die Wärmeableitung bei hohen Taktfrequenzen eine wesentliche Rolle 
spielt und hier wesentlich eher die Grenzen für hohe Taktfrequenzen 
setzt?

Soweit mir bekannt, gibt es in den Strukturen der Hardware keine 
Unterschiede zwischen den verschieden großen FPGAs eines bestimmten Typs 
(z.B. Spartan 6) von einem bestimmten Hersteller. Also müßte 
hauptsächlich die Anzahl der verwendeten Logikelemente der wesentliche 
und ausschlaggebende Faktor für eine Erwärmung sein.

von Dude (Gast)


Lesenswert?

klar is (deutlich!) mehr drin!

Wirst nicht drum herum kommen, den Timing-Analyzer anzuwerfen und 
nachzusehen, wo
- DU zu viele "Logic Levels" zwischen den FF-Stufen hast
oder
- MAP/PAR (ggf. auf Grund Deiner Pin-Vorgaben o.ä.) zu viel 
Routing-Delay hat

von Fpgakuechle K. (Gast)


Lesenswert?

Norbert schrieb:
> Aber eigentlich müßte, bei gleicher Integrationsdichte, doch die Anzahl
> der logischen Elemente den Grad der Wärmeentwicklung im Wesentlichen
> beeinflussen. Wenn ich z.B. eine Million aktive LUTs habe und diese mit
> 200MHz takte, muß die Wärmeentwicklung um den Faktor 100 höher sein als
> z.B. bei 10000 LUTs, die mit der selben Frequenz getaktet werden. Die
> Gehäusegröße und -form hat natürlich auch einen Einfluß aber der müßte
> (ohne Kühlkörper) eigentlich eher unwesentlich sein.

Dynamische Power ist nur ein teil der abzuführenden leistung, Leckströme 
haben auch Anteil. Ebenso verbraten die IO's einen nicht unwesentlichen 
teil und ein FPGA mit 100 mehr benutzer logic hat selten 100 mal mehr 
IO's
und bei gleicher technologie bleibt die energiedichte (heizer pro um*um)
gleich.

> Daher nochmal meine konkrete Frage an die Experten. Ist es so, dass bei
> FPGAs mit kleinem Logikvolumen keine thermische Belastung entstehen kann
> weil man hier längst an die Grenzen der Gatterlaufzeit stößt bevor sich
> ein thermisches Problem entwickeln kann während bei "großen" FPGAs, also
> solchen mit recht großem Logikvolumen bei einem entsprechenden Füllgrad
> die Wärmeableitung bei hohen Taktfrequenzen eine wesentliche Rolle
> spielt und hier wesentlich eher die Grenzen für hohe Taktfrequenzen
> setzt?

Spiel doch mal mit dem Powerestimator 
(http://www.xilinx.com/support/documentation/sw_manuals/xilinx13_4/ug786_PowerMethodology.pdf)
und berichte dann von deinen Ergebnissen.

MfG

von Fpgakuechle K. (Gast)


Lesenswert?

Dude schrieb:
> klar is (deutlich!) mehr drin!
>
> Wirst nicht drum herum kommen, den Timing-Analyzer anzuwerfen und
> nachzusehen, wo
> - DU zu viele "Logic Levels" zwischen den FF-Stufen hast
> oder
> - MAP/PAR (ggf. auf Grund Deiner Pin-Vorgaben o.ä.) zu viel
> Routing-Delay hat

Das sollte wohl an den anderen Norbert-Thread: 
Beitrag "Spartan XC6SLX16, bei 100MHz schon Ende der Fahnenstange?"

MfG,

von Edi M. (Gast)


Lesenswert?

Norbert schrieb:
> Ist es so, dass bei
> FPGAs mit kleinem Logikvolumen keine thermische Belastung entstehen kann
Sehe ich auch so. In einen kleinen Spartan 3A kriegt keiner viel Logik 
rein, um ihn zu grillen und schnell taktet der auch nicht.

von Dude (Gast)


Lesenswert?

Fpga Kuechle schrieb:
> Das sollte wohl an den anderen Norbert-Thread:

stimmt!
danke!

von Fpgakuechle K. (Gast)


Lesenswert?

E. M. schrieb:
> Norbert schrieb:
>> Ist es so, dass bei
>> FPGAs mit kleinem Logikvolumen keine thermische Belastung entstehen kann
> Sehe ich auch so. In einen kleinen Spartan 3A kriegt keiner viel Logik
> rein, um ihn zu grillen und schnell taktet der auch nicht.

Grillen ist keine Frage der kombinatorik sondern der togglerate.Eines 
der "heißesten " Designs kommt mit überschand wenig Kombinatorik aus:

Alle FF als D-FF hintereinanderschalten und das erste als Toggle-FF 
betreiben. Dann 100 MHz an den Takt und das Thermoter steigen sehen wie 
der Schuldenstand Griechenlands. Wer noch eins trauf setzen will häng 
noch die LUT#s als SRL16 rein. Viel-Logik Designs sind eher langsam, da 
viele Routingresourcen benötigt werden, kleine 8 bit cores takten meist 
schneller oder genaus schnell wie 32bit cores.

MfG,

von Norbert (Gast)


Lesenswert?

Fpga Kuechle schrieb:
> Grillen ist keine Frage der kombinatorik sondern der togglerate.Eines
> der "heißesten " Designs kommt mit überschand wenig Kombinatorik aus:

Das würde also bedeuten, ich kann auch den kleinen XC6SLX16 von meinem 
Experimentierboard verheizen wenn ich nicht vorsichtig bin?

Gut, sowas zu wissen. Im Handbuch vom Nexys3 steht diesbezüglich 
keinerlei Warnung. Das finde ich schon bedenklich.

Mit dem Bitcoin Miner Code konnte ich dem FPGA übrigens nicht sonderlich 
einheizen. Das Design hat ihn trotz grenzwertiger Taktrate noch 
überraschend kalt gelassen. Allerdings kam ich auch "nur" bis 100MHz. 
Mehr ist wohl nur mit händischen Optimierungen noch drin.

von Hardwareentwickler (Gast)


Lesenswert?

Du kannst jeden Halbleiter grillen, wenn Du ihn rasch genug schaltest 
und nicht genügend kühlst. FPGAs sind hochdicht gepackt, wundert mich 
also nicht.

von Mac G. (macgyver0815)


Lesenswert?

Schon ein kleines LX9 FPGA was ich hier habe wird mit einem recht 
einfachen und nicht sonderlich hoch getakteten Design nach ner Weile 
grob 44°C warm (bei 25°C Umgebungstemp).
Kann mir gut vorstellen dass das richtig heiss wird wenn man da so ne FF 
Kaskade @maximaltakt reinbaut...

von Fpgakuechle K. (Gast)


Lesenswert?

Norbert schrieb:
> Fpga Kuechle schrieb:
>> Grillen ist keine Frage der kombinatorik sondern der togglerate.Eines
>> der "heißesten " Designs kommt mit überschand wenig Kombinatorik aus:
>
> Das würde also bedeuten, ich kann auch den kleinen XC6SLX16 von meinem
> Experimentierboard verheizen wenn ich nicht vorsichtig bin?

Naja, so aus Versehen grillt man selten einen FPGA. Man muss den schon 
richtig auslasten und trotzdem clever genug routen das eine hohe 
taktrate möglich ist. Meist pasiert das wenn Cheffes 3. Sonderwunsch 
realisiert wird und alles in das schicke Minigehäuse gequetscht wird in 
dem die Luft steht.
Das Entwärmkonzept erkennt man erst dann als notwendig an, wenn alles in 
Flammen steht.

So ein Evalboard bekommt gut Luft und ist selten ausgelastet. Und auf 
dem Evalboard ist schnell der Temperaturfühler "Finger" am messobjekt, 
damit spürt man Probleme ruckzuck auf.

Ist übrigens ein beliebter Eignungstest für FPGA-Entwickler:
mit einer Hand zwei Scope_tastköpfe an durchkontaktierungen fixieren und 
mit dem kleinen Finger die Temperatur "überwachen" ;-)

von FPGA-Vollprofi (Gast)


Lesenswert?

Ich empfehle vor der Abgabe der Hardware wenigstens mal eine 
Poweranalyse laufen zu lassen, die Aufschluss über die zu erwartende 
Leistung gibt. Ab 1W werden die Dinger nennenswert warm, ab 3W 
kühlpflichtig! Oder man sieht im ersten Design pauschal einen Kühlkörper 
vor.

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.