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
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.
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.
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,
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.
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
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
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,
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.
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,
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.
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.
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...
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" ;-)
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.