new Account() schrieb:
Wie oft kann solch ein Teil eigentlich beschrieben werden?
<...>
FPGAs gab es am Anfang tatsächlich mit EPROMS, aber das waren kleine und frühe Versionen (so um 2002 herum). Spätere FPGAs, die auch wesentlich komplexer sind, so um 2006-2008 herum wurden generell beim Einschalten programmiert, indem der Code (im Prinzip die Matrix der Verschaltung, die entwickelt wurde) in den Baustein geladen wird.
Das sieht dann so aus, dass man eine Baugruppe entwickelt, die ein oder mehrere FPGAs und andere Bauelemente enthält, und parallel dazu entwickelt man das FPGA mit Spezial-Software, die in der Lage ist, das FPGA zu erstellen (als Zeichnung oder in einer Hardware-Beschreibungssprache wie VHDL), dann das Resultat in Software zu simulieren, und den 'Code' zu erstellen, mit dem das Bauteil geladen wird.
Der Vorteil ist, dass man die Baugruppe durchaus auch schon testen kann, solange das FPGA noch nicht ganz fertig ist. Sobald die Baugruppe in Ordnung ist - mit etwas Planung kann man da auch FPGA-Erweiterungen und Änderungen schon berücksichtigen -kann das Teil bereits in Vorserie gehen, während noch immer am FPGA entwickelt wird.
Sollte sich beim Feld-Test herausstellen, dass noch Bugs im FPGA sind, kann man das ganz einfach ändern. Je nach Art der Baugruppe wird dabei das FPGA meist mit einem PROM geladen, sobald die Baugruppe eingeschaltet wird. Tauscht man den Code im PROM, hat man die neue/geänderte Schaltung im FPGA.
Deine Frage beantwortet - bei modernen FPGAs kann man das beliebig oft laden, sogar ohne abzuschalten, wenn die Hardware entsprechend entwickelt wurde.
Die Lösung mit dem FPGA in der CPU ist wirklich sehr spannend, weil wie hier schon beschrieben, kann man das FPGA im Betrieb auf eine oder mehrere Funktionen programmieren und dann sehr schnell ansprechen.
Damit lassen sich Aufgaben extrem beschleunigen, wenn man sie quasi 'on the fly' am FPGA auslagern kann. Allerdings muss natürlich vorher das FPGA mit dem Verschaltungs-Code entsprechend entwickelt und getestet werden. Das haben andere hier ja schon beschrieben.