Ich denke, es könnte ein Missverständnis darüber geben, was ein FPGA tatsächlich ist und wann es in Designs verwendet wird. Lassen Sie mich zuerst versuchen, diesen Teil zu erklären.
FPGAs und wann man eines haben möchte ...
Bei einem FPGA besteht die Gefahr der Vereinfachung, dass es sich nur um einen Prozessor handelt, der „rekonfigurierbar“ ist.
Warum sollte jemand einen "rekonfigurierbaren" Mikroprozessor wollen? Nun, weil es viel zu teuer ist, einen Siliziumprozessor herzustellen, um es sich für ein, zwei oder sogar zweihundert Chips leisten zu können. Sie müssten Tausende von Chips produzieren, um dies wirtschaftlich umzusetzen.
Da kein Design auf Anhieb fehlerfrei ist, muss ein Unternehmen auf der Siliziumroute mindestens zwei, wenn nicht sogar mehr Testläufe durchführen, und das alles zu enormen Herstellungskosten.
Dies bedeutet im Wesentlichen, dass nur sehr wenige kommerzielle Unternehmen daran interessiert sein werden, etwas anderes als Chips mit einer ausreichenden kommerziellen Anziehungskraft zu entwerfen und herzustellen.
Wenn Sie sich also ein brillantes Design einfallen lassen, das einen benutzerdefinierten Mikroprozessor rechtfertigt, ist dies möglicherweise der Fall versuchen , Ihre Idee zum Leben mit schmalem Budget zu bringen , indem sie in einem FPGA - Implementierung, wo der eigentliche Chip ist einfach eine Sammlung von Toren, und eine 'program' (normalerweise VHDL oder Verilog) ordnet diese Gatter in einem tatsächlichen Mikroprozessor an.
Aber das ist schon ein ganz anderer Weg (Mikroprozessor-Design!) ...
Was mich dazu bringt, das vorzuschlagen
... FPGAs sind für die Robotik nicht unbedingt erforderlich - zumindest von Anfang an
Was Sie für die Robotik benötigen, ist ein Prozessor . Ein FPGA ist nur eine spezielle Art von Prozessor (umkonfigurierbar).
Sie fragen, ob Sie "sollten"? Nun, das hängt von Ihrem Wissen und Ihren tatsächlichen Interessen ab - zuerst das Mikroprozessordesign oder zuerst die Robotik?
Wenn Mikroprozessoren Ihre Leidenschaft sind, dann auf jeden Fall! Und Robotik ist ein großartiger Anwendungsbereich für kundenspezifische Mikroprozessoren - vielleicht ein Vision-Cortex mit vielen parallelen Entscheidungswegen, die direkt in der Hardware behandelt werden, oder eine spezielle Tensormultiplikation in der Hardware - im Grunde alles, was generische Prozessoren von der Stange nicht gut handhaben können.
Aber wenn Sie Mikroprozessorkonstruktionen in FPGAs verwenden möchten, dann müssen Sie natürlich über all das geringe Wissen verfügen, das Sie erwähnen, und vieles mehr - denn im Grunde werden Sie Ihren eigenen Prozessor entwerfen. Was eigentlich nichts mit Robotik zu tun hat, obwohl Ihre Zielanwendung möglicherweise Robotik ist.
Die meisten Designer können wahrscheinlich einen vorhandenen Prozessor finden, der das meiste leistet, was sie jemals brauchen werden.
Ich denke, Sie brauchen wahrscheinlich kein FPGA.
Eine Einstiegs-Roadmap: von kommerziellen Fähigkeiten zu (vielleicht) einem FPGA ...
Meiner Meinung nach besteht das erste Ziel darin, all Ihre kreativen Konzepte in einen funktionierenden Roboter zu integrieren (eine ziemlich intensive Herausforderung an sich).
Wenn Sie feststellen, dass Ihr Design spezifische und erhebliche Verarbeitungsengpässe aufweist, besteht das nächste Ziel in der Optimierung der Auswahl / des Designs Ihrer Prozessoren, die noch im Handel erhältlich sind. Vielleicht größer, schneller (Kompromiss mit Stromverbrauch, Wärmeabgabe). Möglicherweise kleinere, dedizierte Chips, die bestimmte Aufgaben erledigen und mit dem Haupthirn kommunizieren (Kompromiss zwischen Algorithmus und Logik).
Nur wenn es Funktionen gibt, mit denen Sie keine kommerziellen Chips fertigbringen können, können Sie einen speziellen Prozessor in einem FPGA implementieren, da es an diesem Punkt ganz klare Vorteile gibt, die Sie sich erhoffen, wenn Sie Ihren eigenen rollen Sie können sich darauf konzentrieren, diese Funktionen mit den richtigen Schnittstellen für den Rest Ihres Designs zu implementieren.
Andernfalls werden Sie wahrscheinlich von Ihrem Hauptziel abkommen (ich gehe davon aus, dass es tatsächlich ein Ziel ist, einen Roboter zu bauen!)
Fazit: FPGAs sind eine Ablenkung vom Einstieg in die Robotik - bis Sie ein gutes Stück auf dem Weg in die Robotik sind - und haben auf dem Weg in die digitale Elektronik / Mikroprozessor-Entwicklung einige starke Einbußen hinzugewonnen.