https://de.wikipedia.org/w/index.php?action=history&feed=atom&title=Field_Programmable_Gate_Array Field Programmable Gate Array - Versionsgeschichte 2025-11-06T00:44:48Z Versionsgeschichte dieser Seite in Wikipedia MediaWiki 1.45.0-wmf.25 https://de.wikipedia.org/w/index.php?title=Field_Programmable_Gate_Array&diff=257506786&oldid=prev Trustable: wikilinks 2025-06-30T18:34:55Z <p>wikilinks</p> <table style="background-color: #fff; color: #202122;" data-mw="interface"> <col class="diff-marker" /> <col class="diff-content" /> <col class="diff-marker" /> <col class="diff-content" /> <tr class="diff-title" lang="de"> <td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">← Nächstältere Version</td> <td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">Version vom 30. Juni 2025, 19:34 Uhr</td> </tr><tr> <td colspan="2" class="diff-lineno">Zeile 25:</td> <td colspan="2" class="diff-lineno">Zeile 25:</td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>Weitere oft vorzufindende Elemente von FPGA sind:</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>Weitere oft vorzufindende Elemente von FPGA sind:</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>* ''Eingangs-/Ausgangs-Blöcke'' (englisch ''IO-Blocks'' oder ''IOB'') dienen der Kommunikation mit der Außenwelt. Über sie werden die externen Anschlüsse des FPGA mit der internen Schaltmatrix verbunden. Sie können an die jeweilige Anwendung angepasst werden, z.&amp;nbsp;B. kann die Ausgangsspannung für den jeweiligen Standard eingestellt werden ([[Transistor-Transistor-Logik|TTL]]/[[Complementary metal-oxide-semiconductor|CMOS]] usw.). Spezielle IOB-Blöcke mit integrierten Serializern gestatten die Anbindung an Hochgeschwindigkeits-Busse und [[Double Data Rate|Double-Data-Rate]]-(DDR)-Schnittstellen.</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>* ''Eingangs-/Ausgangs-Blöcke'' (englisch ''IO-Blocks'' oder ''IOB'') dienen der Kommunikation mit der Außenwelt. Über sie werden die externen Anschlüsse des FPGA mit der internen Schaltmatrix verbunden. Sie können an die jeweilige Anwendung angepasst werden, z.&amp;nbsp;B. kann die Ausgangsspannung für den jeweiligen Standard eingestellt werden ([[Transistor-Transistor-Logik|TTL]]/[[Complementary metal-oxide-semiconductor|CMOS]] usw.). Spezielle IOB-Blöcke mit integrierten Serializern gestatten die Anbindung an Hochgeschwindigkeits-Busse und [[Double Data Rate|Double-Data-Rate]]-(DDR)-Schnittstellen.</div></td> </tr> <tr> <td class="diff-marker" data-marker="−"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>* Ein oder mehrere ''Taktgeneratoren'' erzeugen, ausgehend von an den Eingängen zur Verfügung gestellten [[Taktsignal]]en, alle für die Anwendung benötigten internen Taktsignale. Diese können gegenüber den Eingangstaktsignalen in der Phase verschoben sein und besitzen eine von dem jeweiligen Eingangstaktsignal abgeleitete Frequenz. ''Taktverstärker'' sowie eine entsprechende Verschaltung sorgen dafür, dass jedes verwendete Taktsignal überall im Chip synchron zur Verfügung steht. Moderne FPGAs besitzen typischerweise mehrere [[Phase-locked loop<del style="font-weight: bold; text-decoration: none;">|Phase-locked loops</del> (PLL)<del style="font-weight: bold; text-decoration: none;">]]</del>, mit denen sich rational gebrochene Taktfrequenzteilungen/-vervielfachungen erzeugen lassen. Den gleichen Zweck erfüllen [[Delay-Locked Loop|Delay-locked loops (DLL)]] und digital frequency synthesizer (DFS), die manche FPGA-Hersteller gegenüber der PLL bereitstellen.</div></td> <td class="diff-marker" data-marker="+"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>* Ein oder mehrere ''Taktgeneratoren'' erzeugen, ausgehend von an den Eingängen zur Verfügung gestellten [[Taktsignal]]en, alle für die Anwendung benötigten internen Taktsignale. Diese können gegenüber den Eingangstaktsignalen in der Phase verschoben sein und besitzen eine von dem jeweiligen Eingangstaktsignal abgeleitete Frequenz. ''Taktverstärker'' sowie eine entsprechende Verschaltung sorgen dafür, dass jedes verwendete Taktsignal überall im Chip synchron zur Verfügung steht. Moderne FPGAs besitzen typischerweise mehrere [[Phase-locked loop<ins style="font-weight: bold; text-decoration: none;">]]s</ins> (PLL), mit denen sich rational gebrochene Taktfrequenzteilungen/-vervielfachungen erzeugen lassen. Den gleichen Zweck erfüllen [[Delay-Locked Loop|Delay-locked loops (DLL)]] und digital frequency synthesizer (DFS), die manche FPGA-Hersteller gegenüber der PLL bereitstellen.</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>* In vielen FPGAs sind zusätzliche festverdrahtete Funktionen enthalten, wie z.&amp;nbsp;B. Speicherblöcke (sog. ''Block [[Random-Access Memory|RAM]]''), die sich in vielfältiger Weise nutzen lassen.</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>* In vielen FPGAs sind zusätzliche festverdrahtete Funktionen enthalten, wie z.&amp;nbsp;B. Speicherblöcke (sog. ''Block [[Random-Access Memory|RAM]]''), die sich in vielfältiger Weise nutzen lassen.</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>* Für Aufgaben der [[Digitale Signalverarbeitung|digitalen Signalverarbeitung]] sind viele FPGAs zusätzlich zu den normalen Logikzellen mit DSP-Blöcken ausgestattet.&lt;ref name="XilinxDSP"&gt;[https://www.xilinx.com/support/documentation/user_guides/ug479_7Series_DSP48E1.pdf Xilinx User Guide: ''7 Series DSP48E1 Slice''] (PDF, abgerufen am 10. Oktober 2020)&lt;/ref&gt;&lt;ref name="AlteraDSP"&gt;[https://www.intel.com/content/dam/www/programmable/us/en/pdfs/literature/wp/wp-01131-stxv-dsp-architecture.pdf Altera Whitepaper: ''Enabling High-Performance DSP Applications with Stratix Variable-Precision DSP Blocks''] (PDF, abgerufen am 10. Oktober 2020)&lt;/ref&gt; Diese erlauben, neben der schnellen Multiplikation zweier Zahlen, auch die Verwendung als [[Multiply-Accumulate]]-Blöcke, wie sie insbesondere für [[Digitales Filter|digitale Filter]] und andere [[Faltung (Mathematik)|Faltungsoperationen]] benötigt werden. Dies ist häufig effizienter, als die zugrundeliegende Funktion aus den universellen Logik-Ressourcen des FPGA zu synthetisieren.</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>* Für Aufgaben der [[Digitale Signalverarbeitung|digitalen Signalverarbeitung]] sind viele FPGAs zusätzlich zu den normalen Logikzellen mit DSP-Blöcken ausgestattet.&lt;ref name="XilinxDSP"&gt;[https://www.xilinx.com/support/documentation/user_guides/ug479_7Series_DSP48E1.pdf Xilinx User Guide: ''7 Series DSP48E1 Slice''] (PDF, abgerufen am 10. Oktober 2020)&lt;/ref&gt;&lt;ref name="AlteraDSP"&gt;[https://www.intel.com/content/dam/www/programmable/us/en/pdfs/literature/wp/wp-01131-stxv-dsp-architecture.pdf Altera Whitepaper: ''Enabling High-Performance DSP Applications with Stratix Variable-Precision DSP Blocks''] (PDF, abgerufen am 10. Oktober 2020)&lt;/ref&gt; Diese erlauben, neben der schnellen Multiplikation zweier Zahlen, auch die Verwendung als [[Multiply-Accumulate]]-Blöcke, wie sie insbesondere für [[Digitales Filter|digitale Filter]] und andere [[Faltung (Mathematik)|Faltungsoperationen]] benötigt werden. Dies ist häufig effizienter, als die zugrundeliegende Funktion aus den universellen Logik-Ressourcen des FPGA zu synthetisieren.</div></td> </tr> <tr> <td colspan="2" class="diff-lineno">Zeile 61:</td> <td colspan="2" class="diff-lineno">Zeile 61:</td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>Die im FPGA erforderlichen Ablaufsteuerungen lassen sich durch [[Endlicher Automat|endliche Automaten]] darstellen. Der beschreibende Code wird entweder als HDL eingegeben oder ebenfalls mit einem grafischen Entwurfswerkzeug in einem Zwischenschritt automatisch erzeugt.</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>Die im FPGA erforderlichen Ablaufsteuerungen lassen sich durch [[Endlicher Automat|endliche Automaten]] darstellen. Der beschreibende Code wird entweder als HDL eingegeben oder ebenfalls mit einem grafischen Entwurfswerkzeug in einem Zwischenschritt automatisch erzeugt.</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> </tr> <tr> <td class="diff-marker" data-marker="−"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>Darüber hinaus lassen sich mit herstellerunabhängigen grafischen Programmiersystemen wie [[LabVIEW]], [[Matlab<del style="font-weight: bold; text-decoration: none;">|Matlab</del>/Simulink]] oder dem kostenfreien [[Logiflash]]&lt;ref&gt;{{Internetquelle |autor=Damm, Klauer, Waldschmidt |url=https://tiweb.hsu-hh.de/LogiFlash |titel=LogiFlash |hrsg=Goethe-Universität Frankfurt am Main |datum=2018 |abruf=2020-07-21}}&lt;/ref&gt; Schaltungsmodule und Abläufe für einen FPGA automatisch erstellen.</div></td> <td class="diff-marker" data-marker="+"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>Darüber hinaus lassen sich mit herstellerunabhängigen grafischen Programmiersystemen wie [[LabVIEW]], [[Matlab<ins style="font-weight: bold; text-decoration: none;">]]</ins>/<ins style="font-weight: bold; text-decoration: none;">[[</ins>Simulink]] oder dem kostenfreien [[Logiflash]]&lt;ref&gt;{{Internetquelle |autor=Damm, Klauer, Waldschmidt |url=https://tiweb.hsu-hh.de/LogiFlash |titel=LogiFlash |hrsg=Goethe-Universität Frankfurt am Main |datum=2018 |abruf=2020-07-21}}&lt;/ref&gt; Schaltungsmodule und Abläufe für einen FPGA automatisch erstellen.</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>In den letzten Jahren versuchten mehrere Projekte, Hardwareimplementierungen für [[Anwendungsspezifische integrierte Schaltung|ASICs]], FPGAs und [[Complex Programmable Logic Device|CPLDs]] mit der [[C (Programmiersprache)|Programmiersprache C]] (HardwareC, HandelC, BachC) zu beschreiben. Aktuelle Ansätze bauen direkt auf den weit verbreiteten Standardsprachen ANSI C bzw. [[C++]] oder [[Python (Programmiersprache)|Python]] (mit [[MyHDL]]&lt;ref&gt;{{Internetquelle |url=http://www.myhdl.org/ |titel=MyHDL - open source HDL |hrsg=MYHDL.ORG |datum=2020 |sprache=en |abruf=2020-07-21}}&lt;/ref&gt;) auf. Für [[SystemC]] existieren keine Synthesetools, der praktische Nutzen für konkrete FPGA-Entwicklungen liegt bei der abstrakten Verhaltensmodellierung und deutlich beschleunigten Systemsimulationen, weshalb es dort zum weitverbreiteten Industriestandard avanciert ist. Es gibt auch [[High-Level Synthese|High-Level-Synthese]]-Werkzeuge, um aus Hochsprachen (C/C++, MATLAB, [[Java (Programmiersprache)|Java]], [[Python (Programmiersprache)|Python]], [[Unified Modeling Language|UML]]) einen Entwurf auf [[Registertransferebene]] ([[Very High Speed Integrated Circuit Hardware Description Language|VHDL]], [[Verilog]]) zu erzeugen. Beispiele sind [[Catapult C Synthesis]] von [[Mentor Graphics]], [[CoDeveloper]] von [[Impulse Accelerated Technologies]], [[Cynthesizer]] von [[Forte Design Systems]] oder das oben erwähnte freie MyHDL.</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>In den letzten Jahren versuchten mehrere Projekte, Hardwareimplementierungen für [[Anwendungsspezifische integrierte Schaltung|ASICs]], FPGAs und [[Complex Programmable Logic Device|CPLDs]] mit der [[C (Programmiersprache)|Programmiersprache C]] (HardwareC, HandelC, BachC) zu beschreiben. Aktuelle Ansätze bauen direkt auf den weit verbreiteten Standardsprachen ANSI C bzw. [[C++]] oder [[Python (Programmiersprache)|Python]] (mit [[MyHDL]]&lt;ref&gt;{{Internetquelle |url=http://www.myhdl.org/ |titel=MyHDL - open source HDL |hrsg=MYHDL.ORG |datum=2020 |sprache=en |abruf=2020-07-21}}&lt;/ref&gt;) auf. Für [[SystemC]] existieren keine Synthesetools, der praktische Nutzen für konkrete FPGA-Entwicklungen liegt bei der abstrakten Verhaltensmodellierung und deutlich beschleunigten Systemsimulationen, weshalb es dort zum weitverbreiteten Industriestandard avanciert ist. Es gibt auch [[High-Level Synthese|High-Level-Synthese]]-Werkzeuge, um aus Hochsprachen (C/C++, MATLAB, [[Java (Programmiersprache)|Java]], [[Python (Programmiersprache)|Python]], [[Unified Modeling Language|UML]]) einen Entwurf auf [[Registertransferebene]] ([[Very High Speed Integrated Circuit Hardware Description Language|VHDL]], [[Verilog]]) zu erzeugen. Beispiele sind [[Catapult C Synthesis]] von [[Mentor Graphics]], [[CoDeveloper]] von [[Impulse Accelerated Technologies]], [[Cynthesizer]] von [[Forte Design Systems]] oder das oben erwähnte freie MyHDL.</div></td> </tr> <tr> <td colspan="2" class="diff-lineno">Zeile 87:</td> <td colspan="2" class="diff-lineno">Zeile 87:</td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>Besonders in Bereichen, in denen Algorithmen bzw. Protokolle einer schnellen Weiterentwicklung unterliegen, ist die Verwendung rekonfigurierbarer FPGAs statt ASICs angebracht. Die Vorteile sind schnelle Marktreife, die Möglichkeit nachfolgender Fehlerbehebungen, Anpassung an neue Entwicklungen.</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>Besonders in Bereichen, in denen Algorithmen bzw. Protokolle einer schnellen Weiterentwicklung unterliegen, ist die Verwendung rekonfigurierbarer FPGAs statt ASICs angebracht. Die Vorteile sind schnelle Marktreife, die Möglichkeit nachfolgender Fehlerbehebungen, Anpassung an neue Entwicklungen.</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> </tr> <tr> <td class="diff-marker" data-marker="−"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>Für einige Klassen von Rechenproblemen sind auch FPGA-basierte Parallelcomputer sehr geeignet. Das wahrscheinlich bekannteste Beispiel sind FPGA-Rechner zum Brechen kryptographischer Verfahren, wie dem [[Data Encryption Standard]] (DES). Der aus 120 FPGAs bestehende Parallelrechner [[Copacobana<del style="font-weight: bold; text-decoration: none;">|COPACOBANA</del>]] ist ein solcher Parallelcomputer zum Codebrechen.</div></td> <td class="diff-marker" data-marker="+"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>Für einige Klassen von Rechenproblemen sind auch FPGA-basierte Parallelcomputer sehr geeignet. Das wahrscheinlich bekannteste Beispiel sind FPGA-Rechner zum Brechen kryptographischer Verfahren, wie dem [[Data Encryption Standard]] (DES). Der aus 120 FPGAs bestehende Parallelrechner [[Copacobana]] ist ein solcher Parallelcomputer zum Codebrechen.</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>Die inzwischen erreichbare Anzahl von Logikblöcken erlaubt die Integration mehrerer eingebetteter Computersysteme in einen einzigen FPGA-Baustein inklusive CPU(s), Bussystem(en), RAM, ROM, RAM-Controller, Peripherie-Controller etc. Solche kompletten Systeme werden als [[System-on-a-Chip]] (SoC) bezeichnet. Auf Grund ihrer Rekonfigurierbarkeit bilden die</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>Die inzwischen erreichbare Anzahl von Logikblöcken erlaubt die Integration mehrerer eingebetteter Computersysteme in einen einzigen FPGA-Baustein inklusive CPU(s), Bussystem(en), RAM, ROM, RAM-Controller, Peripherie-Controller etc. Solche kompletten Systeme werden als [[System-on-a-Chip]] (SoC) bezeichnet. Auf Grund ihrer Rekonfigurierbarkeit bilden die</div></td> </tr> <!-- diff cache key dewiki:diff:1.41:old-257498658:rev-257506786:wikidiff2=table:1.14.1:ff290eae --> </table> Trustable https://de.wikipedia.org/w/index.php?title=Field_Programmable_Gate_Array&diff=257498658&oldid=prev Trustable: Kleinigkeiten verbessert 2025-06-30T12:44:23Z <p>Kleinigkeiten verbessert</p> <a href="//de.wikipedia.org/w/index.php?title=Field_Programmable_Gate_Array&amp;diff=257498658&amp;oldid=257497624">Änderungen zeigen</a> Trustable https://de.wikipedia.org/w/index.php?title=Field_Programmable_Gate_Array&diff=257497624&oldid=prev ~2025-99532: /* Unterschiede zu CPLDs */ was vergessen 2025-06-30T12:01:15Z <p><span class="autocomment">Unterschiede zu CPLDs: </span> was vergessen</p> <table style="background-color: #fff; color: #202122;" data-mw="interface"> <col class="diff-marker" /> <col class="diff-content" /> <col class="diff-marker" /> <col class="diff-content" /> <tr class="diff-title" lang="de"> <td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">← Nächstältere Version</td> <td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">Version vom 30. Juni 2025, 13:01 Uhr</td> </tr><tr> <td colspan="2" class="diff-lineno">Zeile 36:</td> <td colspan="2" class="diff-lineno">Zeile 36:</td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>Oft werden FPGAs mit den digitalen und ebenfalls rekonfigurierbaren [[CPLD]]-Bausteinen (Complex Programmable Logic Devices) gleichgesetzt bzw. verglichen. Die wesentlichen Unterschiede zwischen FPGAs und CPLDs sind:</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>Oft werden FPGAs mit den digitalen und ebenfalls rekonfigurierbaren [[CPLD]]-Bausteinen (Complex Programmable Logic Devices) gleichgesetzt bzw. verglichen. Die wesentlichen Unterschiede zwischen FPGAs und CPLDs sind:</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> </tr> <tr> <td class="diff-marker" data-marker="−"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>* CPLD gehört noch zur Gruppe der PAL (Programmable Array Logic )/ PLA (Programmable Logic Array) / PLD (Programmable Logic Device) / GAL (Generic Array Logic), hat aber einen komplizierteren Innenaufbau im IC als PAL und GAL. Die noch neueren FPGAs gehören hingegen zu einer anderen Technologie&lt;ref&gt;Erwin Böhmer/Dietmar Ehrhardt/Wolfgang Oberschelp: Elemente der angewandten Elektronik, Vieweg Verlag Wiesbaden, 2007, 15. Auflage, Anmerkungen zu PAL/PLD/GAL/CPLD S. 418&lt;/ref&gt;. CPLDs weisen im Vergleich zu FPGAs eine wesentlich einfachere Struktur auf. Sie besitzen kein feinmaschiges Array (Feld) von Logikblöcken und Flipflops, sondern nur eine konfigurierbare Schaltmatrix, die verschiedene Eingangssignale zu verschiedenen Ausgangssignalen verbinden kann. Die Signale können dabei durch logische Operationen wie [[Und-Gatter|AND]]/[[Oder-Gatter|OR]] verknüpft werden. Dadurch haben CPLDs eine vom jeweiligen Design unabhängige, konstante Signaldurchlaufzeit. Durch entsprechende Designmethoden kann auch bei FPGAs eine definierte maximale Durchlaufzeit erreicht werden (engl. ''timing constraints'').</div></td> <td class="diff-marker" data-marker="+"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>* CPLD gehört noch zur Gruppe der PAL (Programmable Array Logic )<ins style="font-weight: bold; text-decoration: none;"> </ins>/ PLA (Programmable Logic Array) / PLD (Programmable Logic Device) / GAL (Generic Array Logic), hat aber einen komplizierteren Innenaufbau im IC als PAL und GAL. Die noch neueren FPGAs gehören hingegen zu einer anderen Technologie&lt;ref&gt;Erwin Böhmer/Dietmar Ehrhardt/Wolfgang Oberschelp: Elemente der angewandten Elektronik, Vieweg Verlag Wiesbaden, 2007, 15. Auflage, Anmerkungen zu PAL/PLD/GAL/CPLD S. 418&lt;/ref&gt;. CPLDs weisen im Vergleich zu FPGAs eine wesentlich einfachere Struktur auf. Sie besitzen kein feinmaschiges Array (Feld) von Logikblöcken und Flipflops, sondern nur eine konfigurierbare Schaltmatrix, die verschiedene Eingangssignale zu verschiedenen Ausgangssignalen verbinden kann. Die Signale können dabei durch logische Operationen wie [[Und-Gatter|AND]]/[[Oder-Gatter|OR]] verknüpft werden. Dadurch haben CPLDs eine vom jeweiligen Design unabhängige, konstante Signaldurchlaufzeit. Durch entsprechende Designmethoden kann auch bei FPGAs eine definierte maximale Durchlaufzeit erreicht werden (engl. ''timing constraints'').</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>* CPLDs weisen vergleichsweise wenige Flipflops auf. Vor allem längere Schieberegister, Zähler, Zustandsspeicher und ähnliche Schaltungen, die viele Flipflops benötigen, sind in CPLDs nur ineffizient zu realisieren.</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>* CPLDs weisen vergleichsweise wenige Flipflops auf. Vor allem längere Schieberegister, Zähler, Zustandsspeicher und ähnliche Schaltungen, die viele Flipflops benötigen, sind in CPLDs nur ineffizient zu realisieren.</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>* CPLDs besitzen, da jeder IO-Pin ein Flipflop besitzt, meist sehr viele IO-Pins, die in vielen Anwendungen nur teilweise verwendet werden. In Anwendungen, in denen nur vergleichsweise einfache digitale Schaltungen, sogenannte ''[[Glue Logic|glue logic]]'', mit einem hohen Bedarf an IO-Pins Verwendung findet, sind CPLDs meist die bessere Wahl.</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>* CPLDs besitzen, da jeder IO-Pin ein Flipflop besitzt, meist sehr viele IO-Pins, die in vielen Anwendungen nur teilweise verwendet werden. In Anwendungen, in denen nur vergleichsweise einfache digitale Schaltungen, sogenannte ''[[Glue Logic|glue logic]]'', mit einem hohen Bedarf an IO-Pins Verwendung findet, sind CPLDs meist die bessere Wahl.</div></td> </tr> </table> ~2025-99532 https://de.wikipedia.org/w/index.php?title=Field_Programmable_Gate_Array&diff=257495741&oldid=prev ~2025-99532: /* Unterschiede zu CPLDs */ Leerzeichen vor Klammern und Slashs hinzugefügt 2025-06-30T10:46:56Z <p><span class="autocomment">Unterschiede zu CPLDs: </span> Leerzeichen vor Klammern und Slashs hinzugefügt</p> <table style="background-color: #fff; color: #202122;" data-mw="interface"> <col class="diff-marker" /> <col class="diff-content" /> <col class="diff-marker" /> <col class="diff-content" /> <tr class="diff-title" lang="de"> <td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">← Nächstältere Version</td> <td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">Version vom 30. Juni 2025, 11:46 Uhr</td> </tr><tr> <td colspan="2" class="diff-lineno">Zeile 36:</td> <td colspan="2" class="diff-lineno">Zeile 36:</td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>Oft werden FPGAs mit den digitalen und ebenfalls rekonfigurierbaren [[CPLD]]-Bausteinen (Complex Programmable Logic Devices) gleichgesetzt bzw. verglichen. Die wesentlichen Unterschiede zwischen FPGAs und CPLDs sind:</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>Oft werden FPGAs mit den digitalen und ebenfalls rekonfigurierbaren [[CPLD]]-Bausteinen (Complex Programmable Logic Devices) gleichgesetzt bzw. verglichen. Die wesentlichen Unterschiede zwischen FPGAs und CPLDs sind:</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> </tr> <tr> <td class="diff-marker" data-marker="−"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>* CPLD gehört noch zur Gruppe der PAL(Programmable Array Logic)/PLA(Programmable Logic Array)/PLD(Programmable Logic Device)/GAL(Generic Array Logic), hat aber einen komplizierteren Innenaufbau im IC als PAL und GAL. Die noch neueren FPGAs gehören hingegen zu einer anderen Technologie&lt;ref&gt;Erwin Böhmer/Dietmar Ehrhardt/Wolfgang Oberschelp: Elemente der angewandten Elektronik, Vieweg Verlag Wiesbaden, 2007, 15. Auflage, Anmerkungen zu PAL/PLD/GAL/CPLD S. 418&lt;/ref&gt;. CPLDs weisen im Vergleich zu FPGAs eine wesentlich einfachere Struktur auf. Sie besitzen kein feinmaschiges Array (Feld) von Logikblöcken und Flipflops, sondern nur eine konfigurierbare Schaltmatrix, die verschiedene Eingangssignale zu verschiedenen Ausgangssignalen verbinden kann. Die Signale können dabei durch logische Operationen wie [[Und-Gatter|AND]]/[[Oder-Gatter|OR]] verknüpft werden. Dadurch haben CPLDs eine vom jeweiligen Design unabhängige, konstante Signaldurchlaufzeit. Durch entsprechende Designmethoden kann auch bei FPGAs eine definierte maximale Durchlaufzeit erreicht werden (engl. ''timing constraints'').</div></td> <td class="diff-marker" data-marker="+"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>* CPLD gehört noch zur Gruppe der PAL<ins style="font-weight: bold; text-decoration: none;"> </ins>(Programmable Array Logic<ins style="font-weight: bold; text-decoration: none;"> </ins>)/<ins style="font-weight: bold; text-decoration: none;"> </ins>PLA<ins style="font-weight: bold; text-decoration: none;"> </ins>(Programmable Logic Array)<ins style="font-weight: bold; text-decoration: none;"> </ins>/<ins style="font-weight: bold; text-decoration: none;"> </ins>PLD<ins style="font-weight: bold; text-decoration: none;"> </ins>(Programmable Logic Device)<ins style="font-weight: bold; text-decoration: none;"> </ins>/<ins style="font-weight: bold; text-decoration: none;"> </ins>GAL<ins style="font-weight: bold; text-decoration: none;"> </ins>(Generic Array Logic), hat aber einen komplizierteren Innenaufbau im IC als PAL und GAL. Die noch neueren FPGAs gehören hingegen zu einer anderen Technologie&lt;ref&gt;Erwin Böhmer/Dietmar Ehrhardt/Wolfgang Oberschelp: Elemente der angewandten Elektronik, Vieweg Verlag Wiesbaden, 2007, 15. Auflage, Anmerkungen zu PAL/PLD/GAL/CPLD S. 418&lt;/ref&gt;. CPLDs weisen im Vergleich zu FPGAs eine wesentlich einfachere Struktur auf. Sie besitzen kein feinmaschiges Array (Feld) von Logikblöcken und Flipflops, sondern nur eine konfigurierbare Schaltmatrix, die verschiedene Eingangssignale zu verschiedenen Ausgangssignalen verbinden kann. Die Signale können dabei durch logische Operationen wie [[Und-Gatter|AND]]/[[Oder-Gatter|OR]] verknüpft werden. Dadurch haben CPLDs eine vom jeweiligen Design unabhängige, konstante Signaldurchlaufzeit. Durch entsprechende Designmethoden kann auch bei FPGAs eine definierte maximale Durchlaufzeit erreicht werden (engl. ''timing constraints'').</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>* CPLDs weisen vergleichsweise wenige Flipflops auf. Vor allem längere Schieberegister, Zähler, Zustandsspeicher und ähnliche Schaltungen, die viele Flipflops benötigen, sind in CPLDs nur ineffizient zu realisieren.</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>* CPLDs weisen vergleichsweise wenige Flipflops auf. Vor allem längere Schieberegister, Zähler, Zustandsspeicher und ähnliche Schaltungen, die viele Flipflops benötigen, sind in CPLDs nur ineffizient zu realisieren.</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>* CPLDs besitzen, da jeder IO-Pin ein Flipflop besitzt, meist sehr viele IO-Pins, die in vielen Anwendungen nur teilweise verwendet werden. In Anwendungen, in denen nur vergleichsweise einfache digitale Schaltungen, sogenannte ''[[Glue Logic|glue logic]]'', mit einem hohen Bedarf an IO-Pins Verwendung findet, sind CPLDs meist die bessere Wahl.</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>* CPLDs besitzen, da jeder IO-Pin ein Flipflop besitzt, meist sehr viele IO-Pins, die in vielen Anwendungen nur teilweise verwendet werden. In Anwendungen, in denen nur vergleichsweise einfache digitale Schaltungen, sogenannte ''[[Glue Logic|glue logic]]'', mit einem hohen Bedarf an IO-Pins Verwendung findet, sind CPLDs meist die bessere Wahl.</div></td> </tr> </table> ~2025-99532 https://de.wikipedia.org/w/index.php?title=Field_Programmable_Gate_Array&diff=256137824&oldid=prev Drahkrub: Die letzte Textänderung von 89.247.227.122 wurde verworfen und die Version 255840907 von Aka wiederhergestellt: Analogrechner - wohl eher emulieren statt realisieren. Derart verkürzt und ohne Quellen ist nicht klar, was genau gemeint sein soll. 2025-05-19T12:36:20Z <p>Die letzte Textänderung von <a href="/wiki/Spezial:Beitr%C3%A4ge/89.247.227.122" title="Spezial:Beiträge/89.247.227.122">89.247.227.122</a> wurde verworfen und die Version <a href="/wiki/Spezial:Permanenter_Link/255840907" title="Spezial:Permanenter Link/255840907">255840907</a> von Aka wiederhergestellt: Analogrechner - wohl eher emulieren statt realisieren. Derart verkürzt und ohne Quellen ist nicht klar, was genau gemeint sein soll.</p> <table style="background-color: #fff; color: #202122;" data-mw="interface"> <col class="diff-marker" /> <col class="diff-content" /> <col class="diff-marker" /> <col class="diff-content" /> <tr class="diff-title" lang="de"> <td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">← Nächstältere Version</td> <td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">Version vom 19. Mai 2025, 13:36 Uhr</td> </tr><tr> <td colspan="2" class="diff-lineno">Zeile 7:</td> <td colspan="2" class="diff-lineno">Zeile 7:</td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>== Anwendung ==</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>== Anwendung ==</div></td> </tr> <tr> <td class="diff-marker" data-marker="−"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>Durch Konfiguration der intern vorhandenen Elemente können in einem FPGA verschiedene Schaltungen und Funktionen realisiert werden. Diese reichen von Schaltungen geringer Komplexität, wie z.&amp;nbsp;B. ein einfacher [[Synchronzähler]] oder Interfaces für Digitalbausteine (z.&amp;#8239;&lt;!--= nbthinsp--&gt;B. [[Glue Logic]]), über [[Speichercontroller]] und vollständige [[Mikroprozessor]]en bis hin zu hochkomplexen Schaltungen wie [[System-on-a-Chip|Systems-on-a-Chip]]<del style="font-weight: bold; text-decoration: none;">. Außerdem lassen sich sogar [[Analogrechner]] in Form digitalelektronischer Rechenelemente realisieren</del>.</div></td> <td class="diff-marker" data-marker="+"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>Durch Konfiguration der intern vorhandenen Elemente können in einem FPGA verschiedene Schaltungen und Funktionen realisiert werden. Diese reichen von Schaltungen geringer Komplexität, wie z.&amp;nbsp;B. ein einfacher [[Synchronzähler]] oder Interfaces für Digitalbausteine (z.&amp;#8239;&lt;!--= nbthinsp--&gt;B. [[Glue Logic]]), über [[Speichercontroller]] und vollständige [[Mikroprozessor]]en bis hin zu hochkomplexen Schaltungen wie [[System-on-a-Chip|Systems-on-a-Chip]].</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>FPGAs werden in allen Bereichen der Digitaltechnik eingesetzt, vor allem aber dort, wo es auf schnelle [[digitale Signalverarbeitung]] und flexible Änderung der Schaltung ankommt, um beispielsweise nachträgliche Verbesserungen an den implementierten Funktionen vornehmen zu können, ohne dabei direkt die Hardware ändern zu müssen. Ein großes Anwendungsgebiet ist die Erstellung von Prototypen in der [[Anwendungsspezifische integrierte Schaltung|ASIC]]-Entwicklung zum vorherigen Test sowie auch der Bereich Maintenance bzw. [[Obsoleszenzmanagement]], in dem es darum geht, Ersatz für alte, nicht mehr lieferbare digitale Bausteine oder [[Mikrocontroller]] vorzuhalten.</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>FPGAs werden in allen Bereichen der Digitaltechnik eingesetzt, vor allem aber dort, wo es auf schnelle [[digitale Signalverarbeitung]] und flexible Änderung der Schaltung ankommt, um beispielsweise nachträgliche Verbesserungen an den implementierten Funktionen vornehmen zu können, ohne dabei direkt die Hardware ändern zu müssen. Ein großes Anwendungsgebiet ist die Erstellung von Prototypen in der [[Anwendungsspezifische integrierte Schaltung|ASIC]]-Entwicklung zum vorherigen Test sowie auch der Bereich Maintenance bzw. [[Obsoleszenzmanagement]], in dem es darum geht, Ersatz für alte, nicht mehr lieferbare digitale Bausteine oder [[Mikrocontroller]] vorzuhalten.</div></td> </tr> </table> Drahkrub https://de.wikipedia.org/w/index.php?title=Field_Programmable_Gate_Array&diff=256135445&oldid=prev 89.247.227.122: /* Anwendung */ 2025-05-19T10:41:49Z <p><span class="autocomment">Anwendung</span></p> <table style="background-color: #fff; color: #202122;" data-mw="interface"> <col class="diff-marker" /> <col class="diff-content" /> <col class="diff-marker" /> <col class="diff-content" /> <tr class="diff-title" lang="de"> <td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">← Nächstältere Version</td> <td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">Version vom 19. Mai 2025, 11:41 Uhr</td> </tr><tr> <td colspan="2" class="diff-lineno">Zeile 7:</td> <td colspan="2" class="diff-lineno">Zeile 7:</td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>== Anwendung ==</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>== Anwendung ==</div></td> </tr> <tr> <td class="diff-marker" data-marker="−"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>Durch Konfiguration der intern vorhandenen Elemente können in einem FPGA verschiedene Schaltungen und Funktionen realisiert werden. Diese reichen von Schaltungen geringer Komplexität, wie z.&amp;nbsp;B. ein einfacher [[Synchronzähler]] oder Interfaces für Digitalbausteine (z.&amp;#8239;&lt;!--= nbthinsp--&gt;B. [[Glue Logic]]), über [[Speichercontroller]] und vollständige [[Mikroprozessor]]en bis hin zu hochkomplexen Schaltungen wie [[System-on-a-Chip|Systems-on-a-Chip]].</div></td> <td class="diff-marker" data-marker="+"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>Durch Konfiguration der intern vorhandenen Elemente können in einem FPGA verschiedene Schaltungen und Funktionen realisiert werden. Diese reichen von Schaltungen geringer Komplexität, wie z.&amp;nbsp;B. ein einfacher [[Synchronzähler]] oder Interfaces für Digitalbausteine (z.&amp;#8239;&lt;!--= nbthinsp--&gt;B. [[Glue Logic]]), über [[Speichercontroller]] und vollständige [[Mikroprozessor]]en bis hin zu hochkomplexen Schaltungen wie [[System-on-a-Chip|Systems-on-a-Chip]]<ins style="font-weight: bold; text-decoration: none;">. Außerdem lassen sich sogar [[Analogrechner]] in Form digitalelektronischer Rechenelemente realisieren</ins>.</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>FPGAs werden in allen Bereichen der Digitaltechnik eingesetzt, vor allem aber dort, wo es auf schnelle [[digitale Signalverarbeitung]] und flexible Änderung der Schaltung ankommt, um beispielsweise nachträgliche Verbesserungen an den implementierten Funktionen vornehmen zu können, ohne dabei direkt die Hardware ändern zu müssen. Ein großes Anwendungsgebiet ist die Erstellung von Prototypen in der [[Anwendungsspezifische integrierte Schaltung|ASIC]]-Entwicklung zum vorherigen Test sowie auch der Bereich Maintenance bzw. [[Obsoleszenzmanagement]], in dem es darum geht, Ersatz für alte, nicht mehr lieferbare digitale Bausteine oder [[Mikrocontroller]] vorzuhalten.</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>FPGAs werden in allen Bereichen der Digitaltechnik eingesetzt, vor allem aber dort, wo es auf schnelle [[digitale Signalverarbeitung]] und flexible Änderung der Schaltung ankommt, um beispielsweise nachträgliche Verbesserungen an den implementierten Funktionen vornehmen zu können, ohne dabei direkt die Hardware ändern zu müssen. Ein großes Anwendungsgebiet ist die Erstellung von Prototypen in der [[Anwendungsspezifische integrierte Schaltung|ASIC]]-Entwicklung zum vorherigen Test sowie auch der Bereich Maintenance bzw. [[Obsoleszenzmanagement]], in dem es darum geht, Ersatz für alte, nicht mehr lieferbare digitale Bausteine oder [[Mikrocontroller]] vorzuhalten.</div></td> </tr> </table> 89.247.227.122 https://de.wikipedia.org/w/index.php?title=Field_Programmable_Gate_Array&diff=255840907&oldid=prev Aka: /* Mikroprozessoren */ Abkürzung korrigiert 2025-05-08T19:09:01Z <p><span class="autocomment">Mikroprozessoren: </span> Abkürzung korrigiert</p> <table style="background-color: #fff; color: #202122;" data-mw="interface"> <col class="diff-marker" /> <col class="diff-content" /> <col class="diff-marker" /> <col class="diff-content" /> <tr class="diff-title" lang="de"> <td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">← Nächstältere Version</td> <td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">Version vom 8. Mai 2025, 20:09 Uhr</td> </tr><tr> <td colspan="2" class="diff-lineno">Zeile 121:</td> <td colspan="2" class="diff-lineno">Zeile 121:</td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>Mikroprozessorbausteine beinhalten neben dem eigentlichen Prozessorwerk in der Regel eine feste Peripherie, die direkt genutzt werden kann, und für viele Standardanwendungen ausreichend ist.</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>Mikroprozessorbausteine beinhalten neben dem eigentlichen Prozessorwerk in der Regel eine feste Peripherie, die direkt genutzt werden kann, und für viele Standardanwendungen ausreichend ist.</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> </tr> <tr> <td class="diff-marker" data-marker="−"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>Ältere Prozessoren (wie der wie zum Beispiel der Intel i7-3930K aus dem Jahr 2011) mit [[SIMD]]-Befehlen verarbeiten bis zu 192 einfach genaue 32-bit-[[Gleitkomma]]befehle parallel (96 Additionen + 96 Multiplikationen), was einem theretischen Durchsatz von 300 GFlops entspricht. Aktuelle Prozessoren (wie z.B. der AMD EPYC 9655P) liefern bis zu 16.000 GFlops, aktuelle Graphikkarten (NVidia RTX PRo 600) bis zu 126.000 TFlops.</div></td> <td class="diff-marker" data-marker="+"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>Ältere Prozessoren (wie der wie zum Beispiel der Intel i7-3930K aus dem Jahr 2011) mit [[SIMD]]-Befehlen verarbeiten bis zu 192 einfach genaue 32-bit-[[Gleitkomma]]befehle parallel (96 Additionen + 96 Multiplikationen), was einem theretischen Durchsatz von 300 GFlops entspricht. Aktuelle Prozessoren (wie z.<ins style="font-weight: bold; text-decoration: none;">&amp;nbsp;</ins>B. der AMD EPYC 9655P) liefern bis zu 16.000 GFlops, aktuelle Graphikkarten (NVidia RTX PRo 600) bis zu 126.000 TFlops.</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>Aktuelle FPGAs können mit Taktfrequenzen von 500&amp;nbsp;MHz zehntausende Festkommaadditionen (bis 48 bit) und tausende Festkommamultiplikationen (bis 18&amp;#8239;×&amp;#8239;25 bit) zur gleichen Zeit ausführen. Damit ist für Aufgaben, die sich mit Festkommaarithmetik bearbeiten lassen, eine um den Faktor 2 bis 3 höhere Verarbeitungsleistung möglich, bei deutlich geringerer Leistungsaufnahme.</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>Aktuelle FPGAs können mit Taktfrequenzen von 500&amp;nbsp;MHz zehntausende Festkommaadditionen (bis 48 bit) und tausende Festkommamultiplikationen (bis 18&amp;#8239;×&amp;#8239;25 bit) zur gleichen Zeit ausführen. Damit ist für Aufgaben, die sich mit Festkommaarithmetik bearbeiten lassen, eine um den Faktor 2 bis 3 höhere Verarbeitungsleistung möglich, bei deutlich geringerer Leistungsaufnahme.</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> </tr> </table> Aka https://de.wikipedia.org/w/index.php?title=Field_Programmable_Gate_Array&diff=255833396&oldid=prev Frank Klemm: /* Mikroprozessoren */ 2025-05-08T13:29:15Z <p><span class="autocomment">Mikroprozessoren</span></p> <table style="background-color: #fff; color: #202122;" data-mw="interface"> <col class="diff-marker" /> <col class="diff-content" /> <col class="diff-marker" /> <col class="diff-content" /> <tr class="diff-title" lang="de"> <td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">← Nächstältere Version</td> <td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">Version vom 8. Mai 2025, 14:29 Uhr</td> </tr><tr> <td colspan="2" class="diff-lineno">Zeile 121:</td> <td colspan="2" class="diff-lineno">Zeile 121:</td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>Mikroprozessorbausteine beinhalten neben dem eigentlichen Prozessorwerk in der Regel eine feste Peripherie, die direkt genutzt werden kann, und für viele Standardanwendungen ausreichend ist.</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>Mikroprozessorbausteine beinhalten neben dem eigentlichen Prozessorwerk in der Regel eine feste Peripherie, die direkt genutzt werden kann, und für viele Standardanwendungen ausreichend ist.</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> </tr> <tr> <td class="diff-marker" data-marker="−"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div><del style="font-weight: bold; text-decoration: none;">Moderne</del> Prozessoren <del style="font-weight: bold; text-decoration: none;">mit</del> <del style="font-weight: bold; text-decoration: none;">[[SIMD]]-Befehlen</del> wie zum Beispiel der Intel i7-3930K verarbeiten bis zu <del style="font-weight: bold; text-decoration: none;">96</del> [[Gleitkomma]]befehle parallel (<del style="font-weight: bold; text-decoration: none;">48</del> Additionen + <del style="font-weight: bold; text-decoration: none;">48</del> Multiplikationen),</div></td> <td class="diff-marker" data-marker="+"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins style="font-weight: bold; text-decoration: none;">Ältere</ins> Prozessoren <ins style="font-weight: bold; text-decoration: none;">(wie</ins> <ins style="font-weight: bold; text-decoration: none;">der</ins> wie zum Beispiel der Intel i7-3930K<ins style="font-weight: bold; text-decoration: none;"> aus dem Jahr 2011) mit [[SIMD]]-Befehlen</ins> verarbeiten bis zu <ins style="font-weight: bold; text-decoration: none;">192</ins> <ins style="font-weight: bold; text-decoration: none;">einfach genaue 32-bit-</ins>[[Gleitkomma]]befehle parallel (<ins style="font-weight: bold; text-decoration: none;">96</ins> Additionen + <ins style="font-weight: bold; text-decoration: none;">96</ins> Multiplikationen),<ins style="font-weight: bold; text-decoration: none;"> was einem theretischen Durchsatz von 300 GFlops entspricht. Aktuelle Prozessoren (wie z.B. der AMD EPYC 9655P) liefern bis zu 16.000 GFlops, aktuelle Graphikkarten (NVidia RTX PRo 600) bis zu 126.000 TFlops.</ins></div></td> </tr> <tr> <td colspan="2" class="diff-empty diff-side-deleted"></td> <td class="diff-marker"><a class="mw-diff-movedpara-right" title="Der Absatz wurde verschoben. Klicken, um zur alten Stelle zu springen." href="#movedpara_4_0_lhs">&#x26AB;</a></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><a name="movedpara_2_0_rhs"></a>Aktuelle FPGAs können mit Taktfrequenzen von 500&amp;nbsp;MHz zehntausende Festkommaadditionen (bis 48 bit) und tausende Festkommamultiplikationen (bis <ins style="font-weight: bold; text-decoration: none;">18&amp;#8239;×&amp;#8239;25</ins> bit) zur gleichen Zeit ausführen. Damit ist für Aufgaben, die sich mit Festkommaarithmetik bearbeiten lassen, eine um den Faktor 2 bis 3 höhere Verarbeitungsleistung möglich, bei deutlich geringerer Leistungsaufnahme.</div></td> </tr> <tr> <td class="diff-marker" data-marker="−"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>der erreichbare Durchsatz liegt mit 3,2&amp;nbsp;GHz bei theoretisch etwa 300 [[Floating Point Operations Per Second|GFlops]], von denen 250 GFlops bei praxisrelevanten Aufgaben erreichbar sind.</div></td> <td colspan="2" class="diff-empty diff-side-added"></td> </tr> <tr> <td class="diff-marker"><a class="mw-diff-movedpara-left" title="Der Absatz wurde verschoben. Klicken, um zur neuen Stelle zu springen." href="#movedpara_2_0_rhs">&#x26AB;</a></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div><a name="movedpara_4_0_lhs"></a>Aktuelle FPGAs können mit Taktfrequenzen von 500&amp;nbsp;MHz zehntausende Festkommaadditionen (bis 48 bit) und tausende Festkommamultiplikationen (bis <del style="font-weight: bold; text-decoration: none;">18×25</del> bit) zur gleichen Zeit ausführen. Damit ist für Aufgaben, die sich mit Festkommaarithmetik bearbeiten lassen, eine um den Faktor 2 bis 3 höhere Verarbeitungsleistung möglich, bei deutlich geringerer Leistungsaufnahme.</div></td> <td colspan="2" class="diff-empty diff-side-added"></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>=== Vor- und Nachteile im Vergleich zu anwendungsspezifischen integrierten Schaltungen (ASIC) ===</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>=== Vor- und Nachteile im Vergleich zu anwendungsspezifischen integrierten Schaltungen (ASIC) ===</div></td> </tr> </table> Frank Klemm https://de.wikipedia.org/w/index.php?title=Field_Programmable_Gate_Array&diff=253958879&oldid=prev Knowledge2need: form mit AWB 2025-03-06T19:09:44Z <p>form mit <a href="/wiki/Wikipedia:AWB" class="mw-redirect" title="Wikipedia:AWB">AWB</a></p> <table style="background-color: #fff; color: #202122;" data-mw="interface"> <col class="diff-marker" /> <col class="diff-content" /> <col class="diff-marker" /> <col class="diff-content" /> <tr class="diff-title" lang="de"> <td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">← Nächstältere Version</td> <td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">Version vom 6. März 2025, 20:09 Uhr</td> </tr><tr> <td colspan="2" class="diff-lineno">Zeile 28:</td> <td colspan="2" class="diff-lineno">Zeile 28:</td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>* In vielen FPGAs sind zusätzliche festverdrahtete Funktionen enthalten, wie z.&amp;nbsp;B. Speicherblöcke (sog. ''Block [[Random-Access Memory|RAM]]''), die sich in vielfältiger Weise nutzen lassen.</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>* In vielen FPGAs sind zusätzliche festverdrahtete Funktionen enthalten, wie z.&amp;nbsp;B. Speicherblöcke (sog. ''Block [[Random-Access Memory|RAM]]''), die sich in vielfältiger Weise nutzen lassen.</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>* Für Aufgaben der [[Digitale Signalverarbeitung|digitalen Signalverarbeitung]] sind viele FPGAs zusätzlich zu den normalen Logikzellen mit DSP-Blöcken ausgestattet.&lt;ref name="XilinxDSP"&gt;[https://www.xilinx.com/support/documentation/user_guides/ug479_7Series_DSP48E1.pdf] Xilinx User Guide: ''7 Series DSP48E1 Slice'' (PDF, abgerufen am 10. Oktober 2020)&lt;/ref&gt;&lt;ref name="AlteraDSP"&gt;[https://www.intel.com/content/dam/www/programmable/us/en/pdfs/literature/wp/wp-01131-stxv-dsp-architecture.pdf] Altera Whitepaper: ''Enabling High-Performance DSP Applications with Stratix Variable-Precision DSP Blocks'' (PDF, abgerufen am 10. Oktober 2020)&lt;/ref&gt; Diese erlauben, neben der schnellen Multiplikation zweier Zahlen, auch die Verwendung als [[Multiply-Accumulate]]-Blöcke, wie sie insbesondere für [[Digitales Filter|digitale Filter]] und andere [[Faltung (Mathematik)|Faltungsoperationen]] benötigt werden. Dies ist häufig effizienter, als die zugrundeliegende Funktion aus den universellen Logik-Ressourcen des FPGA zu synthetisieren.</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>* Für Aufgaben der [[Digitale Signalverarbeitung|digitalen Signalverarbeitung]] sind viele FPGAs zusätzlich zu den normalen Logikzellen mit DSP-Blöcken ausgestattet.&lt;ref name="XilinxDSP"&gt;[https://www.xilinx.com/support/documentation/user_guides/ug479_7Series_DSP48E1.pdf] Xilinx User Guide: ''7 Series DSP48E1 Slice'' (PDF, abgerufen am 10. Oktober 2020)&lt;/ref&gt;&lt;ref name="AlteraDSP"&gt;[https://www.intel.com/content/dam/www/programmable/us/en/pdfs/literature/wp/wp-01131-stxv-dsp-architecture.pdf] Altera Whitepaper: ''Enabling High-Performance DSP Applications with Stratix Variable-Precision DSP Blocks'' (PDF, abgerufen am 10. Oktober 2020)&lt;/ref&gt; Diese erlauben, neben der schnellen Multiplikation zweier Zahlen, auch die Verwendung als [[Multiply-Accumulate]]-Blöcke, wie sie insbesondere für [[Digitales Filter|digitale Filter]] und andere [[Faltung (Mathematik)|Faltungsoperationen]] benötigt werden. Dies ist häufig effizienter, als die zugrundeliegende Funktion aus den universellen Logik-Ressourcen des FPGA zu synthetisieren.</div></td> </tr> <tr> <td class="diff-marker" data-marker="−"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>* FPGAs, die aufwändige Berechnungen vollziehen sollen, verfügen über mehrere integrierte [[Mikrocontroller]] in Form eines [[IP-Core|Hard-Cores]], welcher z.<del style="font-weight: bold; text-decoration: none;"> </del>B. mit einem C-Programm programmiert werden kann.</div></td> <td class="diff-marker" data-marker="+"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>* FPGAs, die aufwändige Berechnungen vollziehen sollen, verfügen über mehrere integrierte [[Mikrocontroller]] in Form eines [[IP-Core|Hard-Cores]], welcher z.<ins style="font-weight: bold; text-decoration: none;">&amp;nbsp;</ins>B. mit einem C-Programm programmiert werden kann.</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>* FPGAs, die besonders hohe Speicheranforderungen haben, besitzen mehrere integrierte DDR-Speichercontroller und neben dem FPGA im gleichen Gehäuse installierte DDR-SDRAM-Blöcke mit mehreren GB Speicherkapazität. Man nennt solche integrierten Schaltungen mit mehreren Chips in einem Gehäuse auch [[Die (Halbleitertechnik)|Multi-Die]].</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>* FPGAs, die besonders hohe Speicheranforderungen haben, besitzen mehrere integrierte DDR-Speichercontroller und neben dem FPGA im gleichen Gehäuse installierte DDR-SDRAM-Blöcke mit mehreren GB Speicherkapazität. Man nennt solche integrierten Schaltungen mit mehreren Chips in einem Gehäuse auch [[Die (Halbleitertechnik)|Multi-Die]].</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>* Durch weiteres Hinzufügen von komplexen Funktionsblöcken wie [[Ethernet]]schnittstellen, [[Universal Serial Bus|USB]]-Controllern und DDR-Speichercontrollern entstehen [[System-on-a-Chip|System-on-a-Chip-Systeme]] (SoCs), die den Aufbau vollständiger computerähnlicher Systeme ermöglichen. Die darin verwendeten unveränderlichen Schaltungen belegen sehr viel weniger Chipfläche, als die gleiche Funktion benötigt, wenn sie mit frei konfigurierbaren Logikblöcken realisiert wird. Sie sind auch erheblich stromsparender und um ein Mehrfaches schneller.</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>* Durch weiteres Hinzufügen von komplexen Funktionsblöcken wie [[Ethernet]]schnittstellen, [[Universal Serial Bus|USB]]-Controllern und DDR-Speichercontrollern entstehen [[System-on-a-Chip|System-on-a-Chip-Systeme]] (SoCs), die den Aufbau vollständiger computerähnlicher Systeme ermöglichen. Die darin verwendeten unveränderlichen Schaltungen belegen sehr viel weniger Chipfläche, als die gleiche Funktion benötigt, wenn sie mit frei konfigurierbaren Logikblöcken realisiert wird. Sie sind auch erheblich stromsparender und um ein Mehrfaches schneller.</div></td> </tr> <tr> <td colspan="2" class="diff-lineno">Zeile 122:</td> <td colspan="2" class="diff-lineno">Zeile 122:</td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>Moderne Prozessoren mit [[SIMD]]-Befehlen wie zum Beispiel der Intel i7-3930K verarbeiten bis zu 96 [[Gleitkomma]]befehle parallel (48 Additionen + 48 Multiplikationen),</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>Moderne Prozessoren mit [[SIMD]]-Befehlen wie zum Beispiel der Intel i7-3930K verarbeiten bis zu 96 [[Gleitkomma]]befehle parallel (48 Additionen + 48 Multiplikationen),</div></td> </tr> <tr> <td class="diff-marker" data-marker="−"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>der erreichbare Durchsatz liegt mit 3,2<del style="font-weight: bold; text-decoration: none;"> </del>GHz bei theoretisch etwa 300 [[Floating Point Operations Per Second|GFlops]], von denen 250 GFlops bei praxisrelevanten Aufgaben erreichbar sind.</div></td> <td class="diff-marker" data-marker="+"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>der erreichbare Durchsatz liegt mit 3,2<ins style="font-weight: bold; text-decoration: none;">&amp;nbsp;</ins>GHz bei theoretisch etwa 300 [[Floating Point Operations Per Second|GFlops]], von denen 250 GFlops bei praxisrelevanten Aufgaben erreichbar sind.</div></td> </tr> <tr> <td class="diff-marker" data-marker="−"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>Aktuelle FPGAs können mit Taktfrequenzen von 500<del style="font-weight: bold; text-decoration: none;"> </del>MHz zehntausende Festkommaadditionen (bis 48 bit) und tausende Festkommamultiplikationen (bis 18×25 bit) zur gleichen Zeit ausführen. Damit ist für Aufgaben, die sich mit Festkommaarithmetik bearbeiten lassen, eine um den Faktor 2 bis 3 höhere Verarbeitungsleistung möglich, bei deutlich geringerer Leistungsaufnahme.</div></td> <td class="diff-marker" data-marker="+"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>Aktuelle FPGAs können mit Taktfrequenzen von 500<ins style="font-weight: bold; text-decoration: none;">&amp;nbsp;</ins>MHz zehntausende Festkommaadditionen (bis 48 bit) und tausende Festkommamultiplikationen (bis 18×25 bit) zur gleichen Zeit ausführen. Damit ist für Aufgaben, die sich mit Festkommaarithmetik bearbeiten lassen, eine um den Faktor 2 bis 3 höhere Verarbeitungsleistung möglich, bei deutlich geringerer Leistungsaufnahme.</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>=== Vor- und Nachteile im Vergleich zu anwendungsspezifischen integrierten Schaltungen (ASIC) ===</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>=== Vor- und Nachteile im Vergleich zu anwendungsspezifischen integrierten Schaltungen (ASIC) ===</div></td> </tr> <tr> <td colspan="2" class="diff-lineno">Zeile 148:</td> <td colspan="2" class="diff-lineno">Zeile 148:</td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>== Hersteller von FPGAs ==</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>== Hersteller von FPGAs ==</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>* Aeroflex – Strahlungsresistente FPGAs</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>* Aeroflex – Strahlungsresistente FPGAs</div></td> </tr> <tr> <td class="diff-marker" data-marker="−"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>* Achronix Semiconductor – Sehr schnelle FPGAs (bis 1,5&amp;nbsp;GHz) in 22<del style="font-weight: bold; text-decoration: none;"> </del>nm</div></td> <td class="diff-marker" data-marker="+"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>* Achronix Semiconductor – Sehr schnelle FPGAs (bis 1,5&amp;nbsp;GHz) in 22<ins style="font-weight: bold; text-decoration: none;">&amp;nbsp;</ins>nm</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>* Abound Logic – Stromsparende FPGAs mit hoher Logikdichte</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>* Abound Logic – Stromsparende FPGAs mit hoher Logikdichte</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>* [[Altera]] ([[Intel]]) – seit 1983 FPGA-Produzent. Anbieter eines Migrationspfads vom FPGA MAX10, Cyclone, Arria, Agilex und Stratix bis zu strukturierten ASICs</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>* [[Altera]] ([[Intel]]) – seit 1983 FPGA-Produzent. Anbieter eines Migrationspfads vom FPGA MAX10, Cyclone, Arria, Agilex und Stratix bis zu strukturierten ASICs</div></td> </tr> </table> Knowledge2need https://de.wikipedia.org/w/index.php?title=Field_Programmable_Gate_Array&diff=252820076&oldid=prev Crazy1880: linkfix 2025-01-30T09:08:19Z <p>linkfix</p> <table style="background-color: #fff; color: #202122;" data-mw="interface"> <col class="diff-marker" /> <col class="diff-content" /> <col class="diff-marker" /> <col class="diff-content" /> <tr class="diff-title" lang="de"> <td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">← Nächstältere Version</td> <td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">Version vom 30. Januar 2025, 10:08 Uhr</td> </tr><tr> <td colspan="2" class="diff-lineno">Zeile 78:</td> <td colspan="2" class="diff-lineno">Zeile 78:</td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>Ausgehend von einer verifizierten Logikschaltung erfolgt dann ein Umsetzen der Netzliste für das konkrete FPGA, wobei auch externe Funktionsblöcke, die von Drittanbietern angeboten werden und bisher nur als black box existierten, eingefügt werden. Ebenso können bei diesem Schritt Teilschaltungen, die zum Testen des FPGAs gedacht sind, wie integrierte Logic Analyzer, hinzugefügt werden. Ein sogenanntes [[Synthese (Elektrotechnik)|Synthesewerkzeug]] führt dazu diese Beschreibung wie ein Programm aus und erstellt in mehreren Schritten für den gewünschten Baustein eine spezifische [[Netzliste]] unter Nutzung der in diesem Baustein verfügbaren Ressourcen.</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>Ausgehend von einer verifizierten Logikschaltung erfolgt dann ein Umsetzen der Netzliste für das konkrete FPGA, wobei auch externe Funktionsblöcke, die von Drittanbietern angeboten werden und bisher nur als black box existierten, eingefügt werden. Ebenso können bei diesem Schritt Teilschaltungen, die zum Testen des FPGAs gedacht sind, wie integrierte Logic Analyzer, hinzugefügt werden. Ein sogenanntes [[Synthese (Elektrotechnik)|Synthesewerkzeug]] führt dazu diese Beschreibung wie ein Programm aus und erstellt in mehreren Schritten für den gewünschten Baustein eine spezifische [[Netzliste]] unter Nutzung der in diesem Baustein verfügbaren Ressourcen.</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> </tr> <tr> <td class="diff-marker" data-marker="−"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>Unter Anwendung weiterer Randbedingungen wie Platzierungsanweisungen und Zeitvorgaben, erfolgt dann letztlich das Verteilen der Funktionsblöcke für den konkreten FPGA. Nach diesem Schritt können konkrete Annahmen über das Laufzeitverhalten gemacht werden ([[<del style="font-weight: bold; text-decoration: none;">Statische Timing-Analyse|</del>statische Timing-Analyse]]) und so die Einhaltung zeitlicher Anforderungen, insbesondere der Setz- und Haltezeiten ({{enS|setup time}} und {{enS|hold time}}), überprüft werden. Zeigt die Analyse Abweichungen ({{enS|timing violations}}), muss die Hardwarebeschreibung geändert und das Design neu synthetisiert werden, unter Umständen mehrmals. Danach folgt das Umsetzen in eine Binärdatei ({{enS|programming file}}) zum Konfigurieren des FPGAs. Sofern vorgesehen, wird in einem weiteren Schritt eine Binärdatei zum Beladen des Flash-Speichers erzeugt.</div></td> <td class="diff-marker" data-marker="+"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>Unter Anwendung weiterer Randbedingungen wie Platzierungsanweisungen und Zeitvorgaben, erfolgt dann letztlich das Verteilen der Funktionsblöcke für den konkreten FPGA. Nach diesem Schritt können konkrete Annahmen über das Laufzeitverhalten gemacht werden ([[statische Timing-Analyse]]) und so die Einhaltung zeitlicher Anforderungen, insbesondere der Setz- und Haltezeiten ({{enS|setup time}} und {{enS|hold time}}), überprüft werden. Zeigt die Analyse Abweichungen ({{enS|timing violations}}), muss die Hardwarebeschreibung geändert und das Design neu synthetisiert werden, unter Umständen mehrmals. Danach folgt das Umsetzen in eine Binärdatei ({{enS|programming file}}) zum Konfigurieren des FPGAs. Sofern vorgesehen, wird in einem weiteren Schritt eine Binärdatei zum Beladen des Flash-Speichers erzeugt.</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>== Anwendungsbeispiele ==</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>== Anwendungsbeispiele ==</div></td> </tr> <tr> <td colspan="2" class="diff-lineno">Zeile 102:</td> <td colspan="2" class="diff-lineno">Zeile 102:</td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>Ein besonders auf FPGA-Entwicklungsysteme zugeschnittener Tochterkartenstandard ist die [[FPGA Mezzanine Card]].</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>Ein besonders auf FPGA-Entwicklungsysteme zugeschnittener Tochterkartenstandard ist die [[FPGA Mezzanine Card]].</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> </tr> <tr> <td class="diff-marker" data-marker="−"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>FPGAs kommen auch beim [[Mining Rig|Krypto-Mining]] zum Einsatz. Dabei werden Kryptowährungen wie beispielsweise [[Bitcoin]], [[Litecoin]], [[Ethereum]] oder [[Monero]] „geschürft“.&lt;ref name="wallstre-371526"&gt;{{Internetquelle|autor=Business Wire (dt.) |url=https://www.wallstreet-online.de/nachricht/12371526-bithull-ueberholt-asic-markt-fpga-minern/all |titel=BitHull überholt den ASIC-Markt mit neuen FPGA-Minern |werk=wallstreet-online.de |datum=2020-04-03 |abruf=2020-10-13}}&lt;/ref&gt;</div></td> <td class="diff-marker" data-marker="+"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>FPGAs kommen auch beim [[Mining Rig|Krypto-Mining]] zum Einsatz. Dabei werden Kryptowährungen wie beispielsweise [[Bitcoin]], [[Litecoin]], [[Ethereum]] oder [[Monero]] „geschürft“.&lt;ref name="wallstre-371526"&gt;{{Internetquelle<ins style="font-weight: bold; text-decoration: none;"> </ins>|autor=Business Wire (dt.) |url=https://www.wallstreet-online.de/nachricht/12371526-bithull-ueberholt-asic-markt-fpga-minern/all |titel=BitHull überholt den ASIC-Markt mit neuen FPGA-Minern |werk=wallstreet-online.de |datum=2020-04-03 |abruf=2020-10-13}}&lt;/ref&gt;</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>Die Hardwareplattform MiSTer benutzt FPGAs, um eine große Anzahl an älteren Computern, Spielkonsolen und Arcade-Automaten zu simulieren.</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>Die Hardwareplattform MiSTer benutzt FPGAs, um eine große Anzahl an älteren Computern, Spielkonsolen und Arcade-Automaten zu simulieren.</div></td> </tr> <tr> <td colspan="2" class="diff-lineno">Zeile 184:</td> <td colspan="2" class="diff-lineno">Zeile 184:</td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div> |datum=2006-06-13</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div> |datum=2006-06-13</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div> |sprache=en</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div> |sprache=en</div></td> </tr> <tr> <td colspan="2" class="diff-empty diff-side-deleted"></td> <td class="diff-marker"><a class="mw-diff-movedpara-right" title="Der Absatz wurde verschoben. Klicken, um zur alten Stelle zu springen." href="#movedpara_7_0_lhs">&#x26AB;</a></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><a name="movedpara_5_0_rhs"></a> |offline=1</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div> |archiv-url=https://web.archive.org/web/20070613231921/http://filebox.vt.edu/users/tmagin/history.htm</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div> |archiv-url=https://web.archive.org/web/20070613231921/http://filebox.vt.edu/users/tmagin/history.htm</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div> |archiv-datum=2007-06-13</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div> |archiv-datum=2007-06-13</div></td> </tr> <tr> <td class="diff-marker"><a class="mw-diff-movedpara-left" title="Der Absatz wurde verschoben. Klicken, um zur neuen Stelle zu springen." href="#movedpara_5_0_rhs">&#x26AB;</a></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div><a name="movedpara_7_0_lhs"></a> |offline=1</div></td> <td colspan="2" class="diff-empty diff-side-added"></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div> |abruf=2013-07-11}}</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div> |abruf=2013-07-11}}</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>&lt;/ref&gt;</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>&lt;/ref&gt;</div></td> </tr> <tr> <td colspan="2" class="diff-lineno">Zeile 205:</td> <td colspan="2" class="diff-lineno">Zeile 205:</td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div> |url=http://www.invent.org/hall_of_fame/393.html</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div> |url=http://www.invent.org/hall_of_fame/393.html</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div> |titel=National Inventors Hall of Fame, Ross Freeman</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div> |titel=National Inventors Hall of Fame, Ross Freeman</div></td> </tr> <tr> <td colspan="2" class="diff-empty diff-side-deleted"></td> <td class="diff-marker"><a class="mw-diff-movedpara-right" title="Der Absatz wurde verschoben. Klicken, um zur alten Stelle zu springen." href="#movedpara_11_0_lhs">&#x26AB;</a></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><a name="movedpara_9_0_rhs"></a> |offline=1</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div> |archiv-url=https://web.archive.org/web/20120925200312/http://www.invent.org/hall_of_fame/393.html</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div> |archiv-url=https://web.archive.org/web/20120925200312/http://www.invent.org/hall_of_fame/393.html</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div> |archiv-datum=2012-09-25</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div> |archiv-datum=2012-09-25</div></td> </tr> <tr> <td class="diff-marker"><a class="mw-diff-movedpara-left" title="Der Absatz wurde verschoben. Klicken, um zur neuen Stelle zu springen." href="#movedpara_9_0_rhs">&#x26AB;</a></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div><a name="movedpara_11_0_lhs"></a> |offline=1</div></td> <td colspan="2" class="diff-empty diff-side-added"></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div> |abruf=2013-07-11}}</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div> |abruf=2013-07-11}}</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>&lt;/ref&gt;</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>&lt;/ref&gt;</div></td> </tr> </table> Crazy1880