Ein genauerer Blick auf den BeagleV Fire
Der BeagleBone-Formfaktor SBC verfügt über einen PolarFire SoC mit 5-Kern RISC-V + FPGA-Fabric.
BeagleV Fire (273-0243) folgt auf BeagleV Ahead, das wir bereits unter die Lupe genommen und dessen Grundeinrichtung wir durchgegangen sind (268-6957) . Beide Platinen haben den gleichen BeagleBone-Formfaktor und Erweiterungssteckverbinder mit zahlreichen E/A. Der Hauptunterschied besteht jedoch darin, dass die Ahead-Platine über ein T-Head TH1520 Quad-Core RISC-V System-on-Chip (SoC) verfügt, während die Fire-Platine stattdessen über ein Microchip PolarFire SoC verfügt, das einen RISC-V-CPU-Komplex mit einem FPGA-Fabric kombiniert.
Hintergrund
Microchip PolarFire SoC Icicle.
Bei vielen technischen Dingen muss man Kompromisse eingehen, z. B. zwischen Kosten und Leistung, Leistung und Flexibilität oder Geschwindigkeit und Stromverbrauch. So bieten CPUs und FPGAs jeweils ihre eigenen, spezifischen Vorteile, z. B. sind CPUs einfacher zu entwickeln und im Allgemeinen flexibler, während FPGAs bei bestimmten Aufgaben erhebliche Leistungssteigerungen in Bezug auf Geschwindigkeit, Durchsatz und Energieverbrauch bieten können – allerdings auf Kosten einer schwierigeren Entwicklung und geringerer Flexibilität.
Natürlich ist es möglich, eine „weiche“ CPU mit einem FPGA zu implementieren und dann eine benutzerdefinierte Logik für eine beschleunigte und/oder stromsparende Verarbeitung für bestimmte Aufgaben daran anzuschließen. Allerdings läuft eine weiche CPU mit einem Bruchteil der Geschwindigkeit, die sie bei einer Implementierung mit einem ASIC-Prozess erreichen würde, und verbraucht wahrscheinlich mehr Energie. Die Antwort der Industrie auf dieses Problem ist der SoC FPGA, der eine „gehärtete“ CPU (ASIC) mit einem FPGA-Fabric im selben Gehäuse kombiniert.
Bis vor relativ kurzer Zeit hatten die meisten SoC-FPGA-Geräte einen Arm-Prozessor oder vielleicht x86 integriert. Der Microchip PolarFire SoC integriert jedoch RISC-V-CPU-Kerne mit einem FPGA-Fabric sowie System-, Interrupt- und DDR-Speicher-Controller, zusammen mit verschiedenen Schnittstellen usw.
Die erste Platine, die auf diesem Gerät basiert, war die Microchip PolarFire SoC Icicle, die oben abgebildet ist. Sie wurde 2020 auf den Markt gebracht und ist eine größere und etwas teurere Platine.
SiFive HiFive Unleashed + PolarFire FPGA-Erweiterungsplatine.
Icicle wurde auch durch eine Art Early-Access-Lösung für PolarFire SoC abgelöst, die auf einem SiFive HiFive Unleashed SBC plus PolarFire FPGA-Erweiterungsplatine basierte. Eine Kombination, die etwa das Dreißigfache des Preises einer BeagleV Fire-Platine kostete! Diese wurde 2019 für den Bau eines RISC-V-Desktop-PCs mit GPU verwendet, als es nur sehr begrenzte Linux-fähige RISC-V-Siliziumchips gab.
Wie wir sehen, haben wir uns innerhalb weniger Jahre von einer kostspieligen RISC-V-SBC-Lösung mit FPGA-Erweiterungsplatine zu einem weitaus bequemeren und kostengünstigeren ersten RISC-V-SoC-FPGA-basierten SBC entwickelt, der wiederum zu einem noch kleineren Produkt mit einem noch günstigeren Preis geworden ist.
Eine Einführung in RISC-V finden Sie im Artikel RISC-V: Eine offene Befehlssatzarchitektur.
BeagleV Fire
Features und Details
BeagleV Fire ist ausgestattet mit:
- MPFS025T-FCVG484E PolarFire SoC
- 2GB LPDDR4 RAM
- 16GB eMMC + Micro SD storage
- 2.4/5GHz WiFi + Bluetooth
- Gigabit Ethernet
- USB C (power, connectivity and flashing)
- P8/P9 cape headers, plus SYZYGY high-speed connector
- 22pin MIPI CSI Camera connectors
- PCIe M.2 Key E connector
Der Microchip MPFS025T FPGA SoC verfügt über einen 4-fachen Anwendungs- und 1-fachen Monitor-Core-CPU-Komplex, der mit 625 MHz getaktet wird – was viel niedriger ist als die Taktfrequenz des BeagleV Ahead SoC mit 1,85 GHz. Der Schlüssel liegt jedoch im Namen, und der PolarFire SoC ist auf speziellere Anwendungen mit geringem Stromverbrauch ausgerichtet, wobei zusätzliche Schwerstarbeit durch seine FPGA-Struktur ermöglicht wird, die unter anderem 23.000 Logikelemente, 8 MB Gesamtspeicher und 8 DLLs/PLLs pro Benutzer hinzufügt. Diese Ressourcen können zur Implementierung leistungsstarker benutzerdefinierter Hardwarefunktionen verwendet werden, die eng mit dem RISC-V-Prozessor-Subsystem verbunden sind.
Weitere bemerkenswerte Unterschiede sind das Fehlen eines HDMI-Ausgangs und stattdessen ein SYZYGY-Hochgeschwindigkeitsanschluss, ein FPGA-Konnektivitätsstandard der nächsten Generation, der zur Integration benutzerdefinierter Peripheriegeräte und zur Prototypenerstellung mit handelsüblichen Peripheriegeräten verwendet werden kann, ähnlich wie bei langsamen Pmod-Modulen. Zu diesen Peripheriegeräten können solche für Robotik, softwaredefinierte Funkgeräte, Datenerfassung und maschinelles Sehen gehören, um nur einige zu nennen.
Der letzte große Unterschied besteht in der Bereitstellung eines PCIe M.2 Key E-Steckverbinders, der normalerweise für Netzwerkkarten verwendet wird, aber auch für benutzerdefinierte PCIe-Peripheriegeräte verwendet werden könnte.
Der BeagleV Fire hat die Zertifizierung der Open Source Hardware Association (OSHWA) mit der UID US002572 erhalten. Das Hardwaredesign wird unter der CC BY 4.0-Lizenz veröffentlicht. Die PCB-EDA-Dateien, der Issue Tracker und die PDF-Schaltpläne werden alle über das Projekt-Repository zur Verfügung gestellt.
Software support
Wenn wir uns den Abschnitt „Distributionen“ auf der BeagleBoard-Website ansehen, sehen wir, dass Ubuntu zum Zeitpunkt des Schreibens die einzige offiziell unterstützte Linux-Distribution ist. Abenteuerlustige können jedoch möglicherweise mit Programmen wie Yocto oder Buildroot ein funktionierendes SD-Karten-Image erstellen.
Aufsetzen
Hardware
Die Box enthält nur den SBC selbst und es wird ein USB-C-Netzteil benötigt. Alternativ kann auch ein 5-V-Gleichstromnetzteil an die Schraubklemmen angeschlossen werden. Wenn Sie die Onboard-eMMC-Speicherung flashen möchten, benötigen Sie außerdem ein geeignetes USB-Kabel, um die Box an einen PC anzuschließen.
Software
Zum Zeitpunkt des Schreibens scheint der Quick Start einen leeren Abschnitt für das Flashen des Onboard-eMMC zu haben. Wir haben das Ubuntu-Image heruntergeladen und der Inhalt der extrahierten ZIP-Datei ist oben zu sehen. Dazu gehört eine readme.md-Datei, die erklärt, wie man die sdcard.img.xz-Datei dekomprimiert und auf eine Micro-SD-Karte flashen kann.
Es stellte sich jedoch heraus, dass der BeagleV Fire mit einem bereits auf eMMC geflashten Betriebssystem geliefert wurde.
Erster login
Bei der Verkabelung über USB an einen Laptop mit Ubuntu wurde der serielle USB-Anschluss von BeagleV Fire als /dev/ttyACM0 aufgeführt, sodass wir uns mit diesem wie folgt verbunden haben:
$ minicom -D /dev/ttyACM0
Die Port-Kommunikationsparameter lauten 57.600 N81.
Wie bei BeagleV Ahead lauten der Standard-Benutzername und das Standard-Passwort beagle und temppwd.
Nach dem Anschließen eines Ethernet-Kabels erhielt der BeagleV eine IP-Adresse über DHCP und dann konnten wir uns auch von unserem Laptop aus über SSH mit folgendem Befehl anmelden:
$ ssh beagle@beaglev.local
Wenn wir dieselben drei Befehle wie auf dem BeagleV Ahead ausführen, können wir sehen, dass wir diesmal einen viel aktuelleren Linux-Kernel verwenden und wieder mit 4 verfügbaren CPU-Kernen, wenn auch mit einer anderen Variante des Befehlssatzes der RISC-V-Architektur.
Beide BeagleV-Boards verfügen über SoCs mit „rv64imafdc“, was bedeutet:
- RISC-V 64-bit
- Integer
- Integer Multiplication and Division
- Atomics
- Single-Precision Floating-Point
- Double-Precision Floating-Point
- 16-bit Compressed Instructions
Während der SoC des Ahead-Vorstands zusätzlich von Folgendem profitiert:
- Vector Extensions
- Standard Supervisor-Level ISA Extension
Daher wird der BeagleV Ahead für bestimmte Anwendungen CPU-Leistungsvorteile bieten, die über eine höhere Taktfrequenz hinausgehen.
Es werden eine Reihe von Demos und Tutorials bereitgestellt, die unter anderem die Einrichtung der Microchip-FPGA-Tools und eine Einführung in das Design der Plattform-Gateware (FPGA-Implementierung) umfassen.
Ein Tutorial zeigt, wie die konfigurierte Gateware-Version abgerufen werden kann, und oben sehen wir, dass wir standardmäßige Cape-Unterstützung und M.2-PCIe-Unterstützung haben. Dies deutet auf ein weitaus höheres Maß an Hardwareflexibilität hin als bei SoCs, die nicht über den Vorteil einer FPGA-Struktur verfügen.
Erster Eindruck
Ähnlich wie sein Geschwistermodell BeagleV Ahead ist der BeagleV Fire ein intelligentes kleines Board und bietet die leistungsstarke Kombination aus einem RISC-V-CPU-Komplex und FPGA-Fabric zu einem erschwinglichen Preis. Natürlich ist die CPU allein nicht so leistungsstark wie die des BeagleV Ahead, aber das ist durchaus beabsichtigt, und es können leistungsstarke, effiziente Lösungen für Anwendungen wie Datenerfassung, Signalverarbeitung, Robotik und mehr entwickelt werden, die rechenintensive Aufgaben an die FPGA-Struktur weiterleiten.
Wie andere SBCs im BeagleBone-Formfaktor kann auch der BeagleV Ahead über Umhänge erweitert werden, und mit Erweiterungsstiften, die über das FPGA-Fabric geführt werden, eröffnen sich noch viel mehr Möglichkeiten. Ebenso wie der Hochgeschwindigkeits-SYZYGY-Anschluss, der ebenfalls mit dem FPGA verbunden ist.
BeagleV Ahead sollte eine hervorragende Plattform für stromsparende Hochleistungsanwendungen und solche mit harten Echtzeitanforderungen bieten. Es sollte auch eine interessante Plattform für FPGA-Experimente und das Erlernen der Verbindung von benutzerdefinierten Blöcken mit einer RISC-V-CPU bieten.
Kommentare