Heim >häufiges Problem >Was ist FPGA?

Was ist FPGA?

青灯夜游
青灯夜游Original
2023-01-29 15:59:4354810Durchsuche

FPGA ist ein integrierter Chip, der auf digitalen Schaltkreisen basiert und eine Art programmierbares Logikgerät (PLD) ist. FPGA erscheint als halbkundenspezifischer Schaltkreis im Bereich der anwendungsspezifischen integrierten Schaltkreise (ASIC) und behebt nicht nur die Mängel von kundenspezifischen Schaltkreisen, überwindet aber auch die Mängel der begrenzten Anzahl von Gate-Schaltkreisen der ursprünglichen programmierbaren Geräte.

Was ist FPGA?

Die Betriebsumgebung dieses Tutorials: Windows 7-System, Dell G3-Computer.

Was ist FPGA?

FPGA (Field Programmable Gate Array) ist ein Produkt, das auf der Basis programmierbarer Geräte wie PAL (Programmable Array Logic) und GAL (General Array Logic) weiterentwickelt wird. Es handelt sich um eine semi-kundenspezifische Schaltung im Bereich der anwendungsspezifischen integrierten Schaltkreise (ASIC), die nicht nur die Mängel kundenspezifischer Schaltungen behebt, sondern auch die Mängel der begrenzten Anzahl von Gattern in den ursprünglichen programmierbaren Geräten überwindet.

FPGA ist im Wesentlichen ein Chip, ein integrierter Chip, der hauptsächlich aus digitalen Schaltkreisen besteht.

FPGA wurde 1985 von Ross Freeman, einem der Gründer von Xilinx, erfunden. Es handelt sich um eine Art programmierbares Logikgerät (PLD). Dieses Mal liegt die Entstehung des berühmten Mooreschen Gesetzes etwa 20 Jahre zurück, doch nach der Erfindung des FPGA überstieg die anschließende Entwicklungsgeschwindigkeit die Vorstellungskraft der meisten Menschen.

Abbildung 1 zeigt das physische Bild des FPGA-Chips:

Was ist FPGA?
Abbildung 1 Das physische Bild des FPGA-Chips

FPGA-Entwicklungsgeschichte

Vor der Erfindung von PLD verwendeten Ingenieure diskrete Logikchips mit mehreren Logikgattern Beim Aufbau eines Schaltungssystems ist es schwierig, komplexe Logikfunktionen zu implementieren.

Um dieses Problem zu lösen, wurde in den 1970er Jahren das Programmable Logic Array (PLA) herausgebracht, das eine feste Anzahl von UND-Gattern und NICHT-Gattern enthält, die die „UND-Ebene“ bzw. „ODER-Ebene“ bilden ", also "AND-Verbindungsmatrix" und "OR-Verbindungsmatrix", sowie die Verbindungsmatrix, die nur einmal programmiert werden kann (da die Programmierung hier auf dem Fuse-Prozess basiert), also einige relativ komplexe UND oder mehrere Ausdrücke können realisiert werden. Die interne Struktur von PLA ist in Abbildung 2 dargestellt:


Abbildung 2 Interne Struktur von PLA

Gleichzeitig mit PLA kam der Programmable Read-Only Memory (PROM) und seine interne Struktur heraus Wie in Abbildung 3 dargestellt. Wie PLA enthält PROM intern eine „AND-Verbindungsmatrix“ und eine „OR-Verbindungsmatrix“, aber die Verbindungsmatrix des UND-Gatters ist in der Hardware festgelegt und nur die Verbindungsmatrix des ODER-Gatters ist programmierbar.


Abbildung 3 PROM-interne Struktur

Wenn nur die Verbindungsmatrix des UND-Gatters programmierbar ist und die Verbindungsmatrix des ODER-Gatters durch Hardware festgelegt ist, wird diese Art von Chip als Programmable Array Logic (PAL) bezeichnet. ) kann PAL entsprechend den unterschiedlichen Arbeitsmodi der Ausgangsschaltung in Dreizustandsausgabe, Registerausgabe und Komplementärausgabe unterteilt werden, PAL verwendet jedoch immer noch Sicherungstechnologie und kann nur einmal programmiert werden. Das Strukturdiagramm von PAL ist in Abbildung 4 dargestellt.


Abbildung 4 PAL-Strukturdiagramm

Auf der Basis von PAL wurde ein allgemeines Array-Logikgerät (Generic Array Logic, GAL) entwickelt. Im Vergleich zu PAL weist GAL zwei Verbesserungen auf:

  • Übernimmt die elektrisch löschbare Der CMOS-Prozess kann mehrfach kompiliert werden, was die Rekonfigurierbarkeit und Flexibilität des Geräts verbessert.
  • Übernimmt eine programmierbare Ausgangslogik-Makrozelle (Output Logic Macro Cell, OLMC), die durch Programmieren von OLMC programmiert werden kann Nur ein GAL-Modell kann die Arbeitsmodi aller PAL-Geräte-Ausgangsschaltungen realisieren, was die Vielseitigkeit des Geräts erhöht. Das Strukturdiagramm von

GAL ist in Abbildung 5 dargestellt:


Abbildung 5 GAL-Strukturdiagramm

Frühes PLD bestand hauptsächlich aus den oben genannten vier Arten von Chips, nämlich PROM, PLA, PAL und GAL. Ihr gemeinsames Merkmal besteht darin, dass sie Logikfunktionen mit guten Geschwindigkeitseigenschaften implementieren können, aufgrund ihrer zu einfachen Strukturen jedoch nur kleinere digitale Schaltungen implementieren können.

Mit der Entwicklung von Wissenschaft und Technologie und dem Fortschritt der Gesellschaft stellen die Menschen immer höhere Anforderungen an die Integration von Chips. Frühe PLD-Produkte konnten die Bedürfnisse der Menschen nicht erfüllen und so wurde das Complex Programmable Logic Device (CPLD) geboren. CPLD kann als Fortsetzung der PLA-Gerätestruktur betrachtet werden, und ein CPLD-Gerät kann auch als eine Sammlung mehrerer PLAs und einer programmierbaren Verbindungsmatrix betrachtet werden. Das interne Strukturdiagramm von CPLD ist in Abbildung 6 dargestellt.


Abbildung 6 CPLD-Strukturdiagramm

FPGA kam einige Jahre früher als CPLD auf den Markt und wird zusammen mit CPLD als programmierbares Logikgerät mit hoher Dichte bezeichnet, unterscheidet sich jedoch grundlegend. Die interne Architektur des FPGA-Chips folgt keiner ähnlichen Struktur wie PLA, sondern übernimmt das Konzept des Logic Cell Array (LCA), das die Idee der Verwendung einer großen Anzahl von UND-Gattern und NICHT-Gattern ändert Früher wurden PLD-Geräte verwendet, die hauptsächlich Nachschlagetabellen und Register verwenden.

Darüber hinaus weisen FPGA und CPLD auch Unterschiede in Bezug auf Ressourcentyp, Geschwindigkeit usw. auf, wie in der folgenden Tabelle dargestellt.

Programmspeicher 为 Interne SRAM-Struktur , Plug-in-EEPROM- oder FLASH-Speicherprogramm Internes internes EEPROM oder Flash Ressourcentypen Reichhaltige Ressource an Kombinationslogikressourcen Integration HochNiedrigVerwendungszwecke Abgeschlossen komplexere AlgorithmenVollständige SteuerlogikGeschwindigkeitSchnellLangsamAndere RessourcenRAM, PLL, DSP usw. ——Vertraulichkeit Kann im Allgemeinen nicht geheim gehalten werden (Verschlüsselungskern kann verwendet werden)Verschlüsselbar

In Bezug auf den internen Implementierungsmechanismus können die FPGA-Typen in basierend auf SRAM-Technologie, basierend auf Antifuse-Technologie und basierend auf EEPROM/Flash-Technologie unterteilt werden. In Bezug auf die Schaltungsstruktur bezieht sich die FPGA-Programmierbarkeit auf drei Aspekte der Programmierbarkeit: programmierbare Logikblöcke, programmierbare E/A und programmierbare Verkabelungsressourcen. Programmierbare Logikblöcke sind der Kern der FPGA-Programmierbarkeit, und die drei oben genannten Technologien sind auch Technologien für programmierbare Logikblöcke.

Das Strukturdiagramm des FPGA ist in Abbildung 7 dargestellt.


Abbildung 7 FPGA-Strukturdiagramm

Technische Vorteile von FPGA

Viele Leser wissen, dass FPGA leistungsstark ist, aber wo ist es leistungsstark?

Nehmen Sie den Mikrocontroller als Beispiel. Wir alle wissen, dass der Mikrocontroller leistungsstark ist und fast alles kann, während der FPGA nur stärker ist als er. Denn solange die Funktion, die der Mikrocontroller umsetzen kann, auch das FPGA sie auf jeden Fall umsetzen kann, setzt dies natürlich eine wichtige Voraussetzung voraus – wenn die FPGA-Ressourcen ausreichend sind. Allerdings sind die Funktionen, die FPGA realisieren kann, möglicherweise nicht einfach durch Mikrocontroller realisierbar. Das ist eine unbestreitbare Tatsache. Wenn Sie es nicht glauben, bedeutet das nur, dass Sie FPGA noch nicht verstehen.

Apropos: Warum werden Mikrocontroller häufiger eingesetzt, da FPGA so leistungsstark ist? Denn im Geschäftsleben ist der Preis oft einer der wichtigen Faktoren, die sich auf Produkte auswirken.

Der Preis von Mikrocontrollern ist viel niedriger als der von FPGAs, und je nach Leistung und Ressourcen variieren auch die Preise für FPGAs stark. Der Preis für einen einzelnen FPGA-Chip liegt zwischen Zehntausenden und Hunderttausenden Yuan. Im Vergleich dazu ist der Preis eines Einzelchip-Mikrocomputers viel günstiger. Wenn wir die gleiche Funktion mit einem preisgünstigen Einzelchip-Computer erreichen können, werden wir keinen relativ teuren FPGA wählen, es sei denn, der Einzelchip-Computer kann die Funktionalität nicht erfüllen Anforderungen. Wenn das Unternehmen seine eigene Entwicklung durchführt, kann es daher aus Kostengründen einen günstigeren Mikrocontroller anstelle eines relativ teuren FPGA wählen. Da Mikroprozessoren wie Mikrocontroller und ARM sehr gefragt sind, ist der Preis vorteilhafter.

Aber ob es sich um einen Mikrocontroller, ARM oder FPGA handelt, sie sind nur ein Werkzeug, das uns bei der Realisierung von Funktionen hilft. Die Auswahl erfordert eine spezifische Analyse basierend auf spezifischen Problemen. Kurz gesagt, es gibt keine universellen Werkzeuge, sondern nur Werkzeuge, die den Produktionsanforderungen entsprechen. Wir sollten gegenüber einem bestimmten Tool nicht voreingenommen sein, sondern es umfassend betrachten. Je mehr Sie lernen, desto mehr werden Sie feststellen, dass diese Tools alle beherrscht werden müssen.

FPGA hat weitaus weniger Anwendungsszenarien als MCU und ARM und zielt hauptsächlich auf Probleme ab, die MCU und ARM nicht lösen können. Wenn beispielsweise Flexibilität und Effizienz, hoher Durchsatz, geringe Batch-Latenz, schnelles paralleles Rechnen, rekonfigurierbare, umprogrammierbare, kundenspezifische Leistung und kundenspezifischer Stromverbrauch erforderlich sind, können diese Aufgaben nur von FPGA übernommen werden.

Im Vergleich zu anwendungsspezifischen integrierten Schaltkreisen (ASIC), die für spezielle Zwecke entwickelt wurden, bietet FPGA drei Vorteile:

1) Flexibilität

Durch die Programmierung von FPGA kann FPGA ausführen, was ASIC kann, und jede logische Funktion ausführen. Der einzigartige Vorteil von FPGA liegt in seiner Flexibilität, das heißt, die Chipfunktion kann jederzeit geändert werden. Diese Funktion kann die Kosten und das Risiko des Produkts reduzieren, wenn die Technologie noch nicht ausgereift ist Tage der Popularisierung der 5G-Technologie.

2) Verkürzte Markteinführungszeit

Der FPGA kann direkt nach der Programmierung verwendet werden. Die FPGA-Lösung muss nicht den Chip-Tape-Out-Zyklus von drei Monaten bis zu einem Jahr durchlaufen, was Unternehmen hilft, Markteinführungszeit zu gewinnen ihre Produkte.

3) Es gibt einen gewissen Kostenvorteil

Der Hauptunterschied zwischen FPGA und ASIC besteht darin, dass die ASIC-Lösung feste Kosten hat, während die FPGA-Lösung fast keine hat. Wenn die Nutzung gering ist, erfordert die FPGA-Lösung keine Zu diesem Zeitpunkt sind die Kosten der FPGA-Lösung niedriger als die des ASIC. Mit zunehmender Nutzung nimmt der Kostenvorteil der FPGA-Lösung allmählich ab Aufgrund der großen Menge an Tape-Out nimmt der Kostenvorteil der FPGA-Lösung allmählich ab. Chips führen zu Skaleneffekten, sodass die ASIC-Lösung mehr Kostenvorteile bietet, wie in der folgenden Abbildung dargestellt:


Abbildung 8 Kosten Vergleich zwischen FPGA-Lösung und ASIC-Lösung

Daher wird FPGA normalerweise in der digitalen Signalverarbeitung und Videoverarbeitung verwendet. Es spielt eine unersetzliche Rolle in der Bildverarbeitung, 5G-Kommunikation, Medizin, Industriesteuerung, Cloud-Diensten, beschleunigtem Computing, künstlicher Intelligenz und Daten Zentren, autonomes Fahren, Chip-Verifizierung und andere Bereiche. Nur wenn Sie die allgemeine FPGA-Entwurfsmethode beherrschen, können Sie in den Bereichen, in denen FPGA führend ist, große Erfolge erzielen.

Die Anwendungsrichtung von FPGA

FPGA liegt zwischen Software und Hardware. Wenn Sie es für die Schnittstelle und Kommunikation verwenden, ist es auf die Hardware ausgerichtet; wenn Sie es für den Algorithmus und die Steuerung verwenden, ist es auf die Software ausgerichtet . Mit dem Aufkommen von künstlicher Intelligenz und maschinellem Sehen werden FPGAs in Bezug auf Softwarealgorithmen immer heterogener und haben das Potenzial, mit GPUs zu konkurrieren.

Das Leistungsvergleichsdiagramm zwischen FPGA und GPU ist in Abbildung 9 dargestellt:


Abbildung 9 Das Leistungsvergleichsdiagramm zwischen FPGA und GPU

FPGA-Softwarerichtung: Schwerpunkt auf Softwareentwicklung, Entwicklung der beschleunigten Anwendungsfunktionen von FPGA in den Bereichen Datenanalyse, künstliche Intelligenz, maschinelles Sehen und anderen Bereichen, hauptsächlich unter Verwendung von OpenCL- und HLS-Technologien, um eine gemeinsame Entwicklung von Software und Hardware zu erreichen.

FPGA-Hardwarerichtung: Schwerpunkt auf Logikdesign, Schwerpunkt auf Anwendungsdesign, integriertem Schaltkreisdesign und Chipverifizierungsfunktionen in bestimmten FPGA-Bereichen.

Das ursprüngliche Anwendungsgebiet von FPGA war der Kommunikationsbereich. Mit der Entwicklung der Informationsindustrie und der Mikroelektronik-Technologie hat sich die FPGA-Technologie jedoch zu einer der beliebtesten Technologien in der Informationsindustrie entwickelt. Automobil, Medizin, Rundfunk, Testen und Messen, Unterhaltungselektronik, industrielle Steuerung und andere beliebte Bereiche, und mit der Entwicklung der Technologie und dem Fortschritt der Technologie hat es begonnen, aus allen Blickwinkeln in das Leben einzudringen.

Weitere Informationen zu diesem Thema finden Sie in der Rubrik „FAQ“!

Tabelle: Leistungsvergleich zwischen FPGA und CPLD
Gerätetypen/-eigenschaften FPGA CPLD
Interne Struktur Nachschlagetabelle Produktbegriff

Das obige ist der detaillierte Inhalt vonWas ist FPGA?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn