- Was ist FPGA und wie unterscheidet es sich von Microcontroller?
- FPGA-Architektur
- Wenn FPGAs benötigt werden
Mit zunehmender Beliebtheit von Mikrocontrollern verwenden Ingenieure Mikrocontroller mehr als FPGAs. Die Mikrocontroller sind gegenüber FPGA aufgrund ihrer günstigen Kosten, guten Unterstützung, einfachen Verfügbarkeit, großen Community, Vielseitigkeit, Programmierung usw. dominant geworden. Abgesehen davon weisen Mikroprozessoren einige Einschränkungen auf, wie z. B. den Befehlssatz, die sequentielle Ausführung von Programmen (sequentielle Verarbeitung). Mangel an Flexibilität und Wiederverwendbarkeit usw. Das FPGA kann diese Einschränkungen jedoch überwinden, da FPGAs Programme parallel ausführen und flexibel und wiederverwendbar sind, was bedeutet, dass es für verschiedene Aufgaben immer wieder neu programmiert werden kann.
Was ist FPGA und wie unterscheidet es sich von Microcontroller?
Ein feldprogrammierbares Gate-Array ist ein Siliziumchip mit integrierter Schaltung, der ein Array von Logikgattern aufweist. Dieses Array kann vor Ort programmiert werden, dh der Benutzer kann die vorhandenen Konfigurationen mit seinen neu definierten Konfigurationen überschreiben und seine eigene digitale Schaltung auf dem Feld erstellen. Die FPGAs können als leere Tafel betrachtet werden. FPGAs tun nichts für sich, während es an den Designern liegt, eine Konfigurationsdatei zu erstellen, die häufig als Bitdatei für das FPGA bezeichnet wird. Das FPGA verhält sich wie die digitale Schaltung, sobald es mit einer Bitdatei geladen wurde.
Während dies bei Mikrocontrollern nicht der Fall ist, können Mikrocontroller vor Ort nicht programmiert oder umstrukturiert werden. Der Benutzer darf weder seine vorhandenen Konfigurationen überschreiben noch eine digitale Schaltung vor Ort erstellen. Die Mikrocontroller sind einfach zu programmieren und die Community ist ebenfalls breit. Die Mikrocontroller sind speziell angefertigte Minicomputer, die in IC-Form geliefert werden, während FPGAs nur Logikblöcke enthalten, die wieder elektrisch neu verkabelt werden können. Auch in Bezug auf Mikrocontroller verbraucht es weniger Strom als FPGAs. Die FPGAs sind bekanntermaßen kostspielig und erfordern beim Bau eines Geräts mehr Kosten als Mikrocontroller. Die Einrichtung von FPGAs nimmt erheblich mehr Zeit in Anspruch, während die Mikrocontroller für bestimmte Anwendungen verfügbar sind.
FPGA-Architektur
Ein FPGA hat eine regelmäßige Struktur von Logikzellen oder -modulen und -verknüpfungen, die von Entwicklern und Designern vollständig kontrolliert wird. Das FPGA besteht hauptsächlich aus drei Hauptblöcken wie CLB (Configurable Logic Block), E / A-Blöcken oder Pads und Switch Matrix / Interconnection Wires. Jeder Block wird nachstehend kurz erläutert.
- CLB (Configurable Logic Block): Dies sind die Basiszellen von FPGA. Es besteht aus einem 8-Bit-Funktionsgenerator, zwei 16-Bit-Funktionsgeneratoren, zwei Registern (Flip-Flops oder Latches) und umprogrammierbaren Routing-Steuerungen (Multiplexer). Die CLBs werden angewendet, um andere entworfene Funktionen und Makros zu implementieren. Jeder CLB hat auf jeder Seite Eingänge, wodurch er für die Abbildung und Partitionierung von Logik flexibel ist.
- E / A-Pads oder -Blöcke: Die Eingangs- / Ausgangspads werden für die externen Peripheriegeräte verwendet, um auf die Funktionen des FPGA zuzugreifen. Über die E / A-Pads kann auch mit FPGA für verschiedene Anwendungen über verschiedene Peripheriegeräte kommuniziert werden.
- Switch Matrix / Verbindungskabel: Die Switch Matrix wird im FPGA verwendet, um die langen und kurzen Verbindungskabel in flexibler Kombination miteinander zu verbinden. Es enthält auch die Transistoren zum Ein- und Ausschalten von Verbindungen zwischen verschiedenen Leitungen.
Wenn FPGAs benötigt werden
Wie oben erwähnt, haben Mikrocontroller einige Einschränkungen und können nicht zur parallelen Ausführung von Aufgaben verwendet werden, da Mikrocontroller und Mikroprozessoren bei sequentieller Ausführung von Programmen ausgeführt werden, was es in einigen Anwendungen etwas langsam macht. In diesem Szenario haben die FPGAs einen Vorteil und können effektiv verwendet werden. Auch Mikrocontroller können begrenzte Aufgaben ausführen, da sie Anweisungen und Schaltkreise enthalten. Ein Programmierer muss sich bei der Entwicklung von Code an die Einschränkungen halten. Auch in diesem Szenario haben die FPGAs einen Vorteil.
Bei Mikrocontrollern wechselt der Prozessor jedoch von einem Code zum anderen, um ein gewisses Maß an Parallelität zu erreichen. Sie finden es einfacher, Codes auf Mikrocontrollern zu schreiben als auf FPGAs. Die Parallelverarbeitungsfunktion von FPGAs ermöglicht es Ihnen, Unterbrechungen mithilfe von Finite State Machines (FSMs) effektiv zu steuern.
Bei Mikrocontrollern müssen Sie die Zeit berücksichtigen, die ISR benötigt, um eine Unterbrechung zu beheben. Sie können ein FPGA einfach neu verkabeln, indem Sie es neu programmieren. Die Konfiguration in einem FPGA wird beim Einschalten in die konfigurierbaren Logikzellen geladen.
Sie müssen keine Änderungen an der Hardware vornehmen, um das FPGA neu zu programmieren. FPGAs eignen sich für die Hochgeschwindigkeitsverarbeitung paralleler Daten und sind in hohem Maße anpassbar. Sie haben jedoch auch die Nachteile des Prototypenbetriebs und der Komplexität der Konfiguration. Daher können die FPGAs mit diesen Vorteilen gegenüber Mikrocontrollern ausgewählt werden. Beginnen wir mit der FPGA-Programmierung und betonen