Spis treści:
Es gibt mehrere Plattformen, auf denen wir unsere eigenen Projekte erstellen können. Arduino, Raspberry Pi oder STM32 bieten etwas andere Möglichkeiten, sind aber in der Regel die erste Wahl bei der Auswahl der Hardware für ein Projekt. Lohnt es sich, Zeit in eine weitere Programmiersprache zu investieren, die als ziemlich schwierig gilt? Oder in eine weitere Hardware zu investieren, die, wie wir wissen, nicht die billigste ist? Lohnt es sich, einen Blick auf FPGA? Diese Fragen werde ich in dem folgenden Artikel beantworten.
Meine Geschichte
Ich persönlich war schon immer von der digitalen Elektronik fasziniert. Wahrscheinlich habe ich, wie die meisten, mit Arduino- und AVR-Mikrocontrollern angefangen, hatte aber dennoch das Gefühl, dass es noch nicht ganz so weit war. Fasziniert von der Arbeit von Ben Eater beschloss ich, mich mit digitaler Elektronik in ihrer reinsten Form zu beschäftigen. Logikgatter, Dekoder und Multiplexer…. Schnell beschloss ich, etwas Größeres zu entwerfen. So entstand mein erster Entwurf für meinen eigenen Prozessor. Es war eine 4-Bit-Einheit, die mir heute sehr einfach erscheint, aber damals war ich sehr stolz darauf. Bald folgten weitere Projekte, darunter der erste 8-Bit-Chip und später sein Nachfolger. Alles wurde mit einfachen Logikschaltungen aufgebaut. Doch in relativ kurzer Zeit erreichte ich die Obergrenze. Die Projekte wurden immer fortschrittlicher und schwieriger. Es war notwendig, höher zu gehen.
Zu dieser Zeit begann ich mich für FPGA zu interessieren, aber nach reiflicher Überlegung gab ich die Idee zunächst auf. Die Schaltungen schienen mir mehr Form als Inhalt zu sein, und die Sprache VHDL erschien mir zu schwierig. Damals kehrte ich zum Wesen der digitalen Elektronik zurück, aber kurze Zeit später gab es eine weitere 180-Grad-Wendung – ich beschloss, FPGAs eine Chance zu geben.
FPGA-Kurs
Auf der Suche nach Informationen zu diesem Thema bin ich auf den FPGA-Kurs der auf der Forbot-Webseite verfügbar ist. Meiner Meinung nach ist dies eine großartige Informationsquelle für den Einstieg. Ich habe das Board Elbert v2 gekauft und so begann mein FPGA-Abenteuer. Zunächst ging es recht zögerlich voran, aber mit der Zeit begann ich, schwierigere Ideen zu implementieren. Ich bin derzeit der Autor des Blogs über FPGAs, und ich habe mich auch wieder mit dem Entwurf von Prozessoren beschäftigt. Eines dieser Projekte liegt bereits hinter mir, und ein weiteres ist derzeit in Arbeit.
Was genau ist ein FPGA und wie werden sie ‘programmiert’?
Was genau sind FPGAs? Laut Wikipedia – handelt es sich um programmierbare Logikgatter-Arrays. Man kann sie auch einfacher beschreiben: als eine Sammlung von Logikgattern, deren Verbindungen untereinander beliebig erstellt werden können. Das ist natürlich eine sehr vereinfachte Beschreibung, aber zufällig habe ich vor einiger Zeit in meinem Blog ausführlich beschrieben was FPGAs sind. Wenn Sie sich für dieses Thema interessieren, lade ich Sie ein, dorthin zu gehen.
FPGA-Programmierung
Ich habe das Wort Programmierung nicht ohne Grund in Anführungszeichen gesetzt. Die korrekte Aussage ist, dass FPGAs sich selbst konfigurieren, denn wir erstellen kein Programm, sondern eher eine Beschreibung, wie unser Projekt funktioniert. FPGA-Programmierung ist daher nicht ganz die richtige Form.
Wir können Projekte, die auf FPGAs implementiert sind, in VHDL oder Verilog beschreiben. Ich persönlich verwende VHDL, weil diese Sprache in Europa häufiger verwendet wird. Die Sprache Verilog ist in den USA beliebter. Viele Leute schätzen es, in dieser Sprache zu arbeiten. Ein Fachkurs sollte Ihnen helfen, diese Fähigkeit zu beherrschen.
Wenn wir Schaltungen entwerfen, die hinter einem FPGA realisiert werden, müssen wir auch die Plattform wählen, auf der wir alles realisieren wollen. Es gibt mehrere verschiedene Hersteller auf dem Markt, aber die führenden sind Xilinx und Altera (Intel). Ich persönlich verwende nur Xilinx-Chips, weil ich mit einem Board begonnen habe, das mit einem Chip dieses Unternehmens ausgestattet war. Je nachdem, für welchen Chip wir uns entscheiden, müssen wir uns mit einer anderen Umgebung ausstatten. Für Xilinx ist es die Xilinx Ise Design Suite und für Altera (Intel) ist es Altera Quartus. Beide Umgebungen sind kostenlos.
FPGA Schaltungen – Wo soll ich anfangen?
Ich kann mit gutem Gewissen das Board Elbert v2 für den Anfang empfehlen, mit dem ich selbst angefangen habe. Es hat einen sehr großen Vorteil: einen miniUSB-Anschluss. Dank dieses Anschlusses können wir den FPGA konfigurieren, ohne ein teures Programmiergerät kaufen zu müssen. Abgesehen davon bietet es eine Reihe interessanter Peripherieelemente, nämlich einen VGA-Anschluss, einen microSD-Kartensteckplatz, Klinkenanschluss, Sieben-Segment-Anzeigen, Tasten und LEDs.
FPGA – Kurs und Lernen
Was die Umgebung betrifft, so handelt es sich, wie ich bereits erwähnt habe, um die Xilinx Ise Design Suite, die auf der Webseite des Herstellers kostenlos erhältlich ist. Der Installationsvorgang selbst wird in dem Forbot-Kursbeschrieben.Wir empfehlen den FPGA-Kurs für alle Benutzer, die eine einfache Anleitung suchen, um ihr Abenteuer mit diesen Chips zu beginnen.
FPGA – Anwendung in der Praxis – Also: lohnt sich das?
Um die Frage aus der Einleitung zu beantworten: Lohnt es sich, sich mit dem Thema FPGA zu beschäftigen? Meiner Meinung nach: definitiv ja! Chips dieser Art bieten enorme Möglichkeiten und wir sind wirklich nur durch unsere Fantasie begrenzt. Wir können sogar unseren eigenen Prozessor entwerfen. Es ist nicht ohne Grund, dass dort, wo Mikrocontroller versagen, FPGAs zum Einsatz kommen. Außerdem unterscheiden sich FPGAs stark genug von Mikrocontrollern, um uns eine völlig neue Perspektive auf die digitale Elektronik zu eröffnen. FPGAs werden in vielen Bereichen der Elektronik Anwendung finden. Es liegt ganz an Ihnen!
Autor: Rafał Bartoszak
FPGAs – FAQ
Wie hilfreich war dieser Beitrag?
Klicke auf die Sterne um zu bewerten!
Durchschnittliche Bewertung 4.1 / 5. Stimmenzahl: 19
Bisher keine Bewertungen! Sei der Erste, der diesen Beitrag bewertet.