Field Programmable Gate Array
Aus Amateurfunk Wiki
Field Programmable Gate Array (FPGA) beschreibt einen sozusagen "im Feld" programmierbaren Logikschaltkreis. Damit ist gemeint dass die Logikschaltung nicht im Rahmen des Herstellungsprozesses beim Halbleiterfertiger fest verdrahtet wird sondernd später beim Anwender (meist Entwickler) programmiert wird. Die Anbieter teilen sich in Ram basierte und Flash oder Antifuse programmierte Bausteine auf. Auf Ram basierende FPGA's laden ihre Programmierung beim Einschalten über einen externen Speicher und können zum Teil auch während des Betriebes umkonfiguriert werden. Antifuse basierte Bausteine werden dauerhaft programmiert.
Um die logischen Funktionen in den Baustein zu bekommen benutzt man heute im überwiegenden Fall Hardwarebeschreibungssprachen wie VHDL und Verilog. Ein Schaltplan ist zwar auch möglich, wird aber ab einer gewissen Komplexität unhandlich. Über entsprechende Software werden diese dann in einen Programmfile übersetzt, welcher das Bauteil mit Leben erfüllt - so hofft der Entwickler.
In der Anwendung bei Software Defined Radios übernimmt der FPGA häufig die Ansteuerung des DAC und des ADC und kommuniziert mit dem Nutzer über weitere Schnittstellen.
Ebenso führt der FPGA bei sehr hohen Datenraten zu DAC und ADC eine Decimation bzw. eine Interpolation durch, um einerseits die Dynamik der Sensoren rechnerisch zu verbessern und andererseits die Datenrate so weit zu reduzieren, daß sie von den nachgelagerten Signalverarbeitungssystemen verarbeitet werden kann. Der USRP2 ist beispielsweise über ein Gigabit-Ethernet-Kabel mit dem Rechner verbunden, was bedeutet, daß die Datenrate von 100 komplexen Megasamples von 2x 16 Bit (3,2 Gigabit) so weit gesenkt werden muß, daß die Geschwindigkeit über die 1 Gigabit-Leitung übertragen werden kann. Die minimale Decimation / Interpolation auf dem USRP2 ist daher der Faktor 4. Die maximale Decimation / Interpolation ist Faktor 512.
