MicroBlaze

Microblaze
Designer Xilinx
Bits 32-Bit/64-Bit (32 → 64)
Ausführung 11.0
Entwurf RISC
Codierung Fest
Endiangess Klein groß)
Offen Nein
Register
32 × 32 Bit

Das Microblaze ist ein weicher Mikroprozessor Kern entwickelt für Xilinx Feldprogrammierbare Gate-Arrays (FPGA). Als Soft-Core-Prozessor wird Microblaze vollständig im allgemeinen Speicher und logischen Gewebe von Xilinx FPGAs implementiert.

Microblaze wurde 2002 eingeführt.[1]

Überblick

In Bezug auf die Architektur für den Anweisungssatz ähnelt Microblaze der RISC-basierend DLX Architektur beschrieben in einem beliebten Computerarchitekturbuch von Patterson und Hennessy. Mit wenigen Ausnahmen kann der Microblaze einen neuen Anweisungen in jedem Zyklus erteilen und unter den meisten Umständen den Einzelzyklus-Durchsatz beibehalten.

Der Microblaze verfügt über ein vielseitiges Verbindungssystem, um eine Vielzahl von eingebetteten Anwendungen zu unterstützen. Der primäre E/A -Bus von Microblaze, der Axi -Interconnect, ist ein System-Memory-kartierter Transaktionsbus mit Master-Slave-Fähigkeit. Ältere Versionen des Mikroblases verwendeten die Coreconnect PLB -Bus. Die Mehrheit der IP-Schnittstelle von Herstellern und Drittanbietern zu AXI (oder über eine AXI-Interconnect) zu AXI. Für den Zugang zu lokalem Memory (FPGA RAM), Microblaze, verwendet einen dedizierten LMB-Bus, der einen schnellen On-Chip-Speicher bietet. Benutzerdefinierte Coprozessoren werden durch dedizierte AXI4-Stream-Verbindungen unterstützt. Die Coprozessor-Schnittstelle kann rechnerisch intensive Algorithmen beschleunigen, indem Teile oder die gesamte Berechnung zu einem von Benutzer gestalteten Hardwaremodul abgeladen werden.

Viele Aspekte des Microblaze können Benutzer konfiguriert sein: Cache-Größe, Pipeline-Tiefe (3-Stufe, 5-Stufe oder 8 Stufe), eingebettete Peripheriegeräte, Speicherverwaltungseinheitund Bus-Interfaces können angepasst werden. Die flächenoptimierte Version von Microblaze, die eine 3-stufige Pipeline verwendet, opfert die Taktfrequenz für reduzierte Logikfläche. Die leistungsoptimierte Version erweitert die Ausführungspipeline auf 5 Stufen und ermöglicht Höchstgeschwindigkeiten von mehr als 700 MHz (auf Virtex Ultrascale+ FPGA Familie). Auch Schlüssel Prozessoranweisungen die selten verwendet werden, aber in Hardware teurer, kann selektiv hinzugefügt/entfernt werden (z. B. Multiplizieren, Teilen und Gleitkommaoperationen). Diese Anpassung ermöglicht es einem Entwickler, die entsprechenden Design-Kompromisse für einen bestimmten Satz von Hosthardware- und Anwendungssoftwareanforderungen zu erstellen.

Mit der Speicherverwaltungseinheit ist Microblaze in der Lage, Betriebssysteme zu veranstalten, die Hardware-basierte Paging und Schutz benötigen, wie die Linux Kernel. Andernfalls ist es auf Betriebssysteme mit einem vereinfachten Schutz und einem virtuellen Speichermodell beschränkt, z. Freertos oder Linux ohne MMU -Unterstützung. Der Gesamtdurchsatz von Microblaze ist wesentlich weniger als ein vergleichbarer harter CPU -Kern (wie der Arm Cortex-A9 in dem Zynq).

Vivado

Xilinx Vivado Design Suite ist die Entwicklungsumgebung zum Aufbau aktueller Mikroblaze (oder ARM - Siehe Zynq) Eingebettete Prozessorsysteme in Xilinx fpgas. Ältere Versionen verwendeten das EDK -Entwicklungspaket von Xilinx (Embedded Development Kit).

Designer verwenden den Vivado IP-Integrator, um die Hardware-Spezifikation seines eingebetteten Systems (Prozessorkern, Speicherkontroller, E/A-Peripheriegeräte usw.) zu konfigurieren und zu erstellen RTL Bezeichnung (Verilog oder VHDL) und automatisiert die Implementierung des eingebetteten Systems (von RTL bis zur Bitstream-Datei). Für den Microblaze-Kern erzeugt Vivado eine verschlüsselte (nicht menschlich lesbare) Netzliste.

Der SDK behandelt die Software, die auf dem eingebetteten System ausgeführt wird. Angetrieben von der GNU Toolchain (GNU Compiler -Sammlung, GNU -Debugger) Mit dem SDK können Programmierer C/C ++ - Anwendungen für ihr eingebettetes System schreiben, kompilieren und debuggen. Die Tools von Xilinx bieten die Möglichkeit, Software in Simulation auszuführen oder ein geeignetes FPGA-Board zum Herunterladen und Ausführen des tatsächlichen Systems zu verwenden.

Die Käufer von Vivado erhalten eine ewige Lizenz zur Verwendung von Microblaze in Xilinx FPGAs ohne wiederkehrende Lizenzgebühren. Die Lizenz gewährt nicht das Recht, Microblaze außerhalb der Geräte von Xilinx zu verwenden.

Alternative Compiler und Entwicklungswerkzeuge wurden zur Verfügung gestellt Altium Eine EDK -Installation und -lizenz ist jedoch noch erforderlich.

Open Source

Im Juni 2009 war Microblaze die erste Soft-CPU-Architektur, die in den Mainline Linux-Kernel-Quellbaum zusammengefasst wurde. Diese Arbeit wurde von Michal Simek durchgeführt und von Petalogix und Xilinx unterstützt.

Seit September 2009 wird auch die Unterstützung von Microblaze GNU Tools zur Haupttriebwerke der Free Software Foundation beigetragen. Die Unterstützung für Microblaze ist in GCC -Releases enthalten, beginnend mit Version 4.6[2]

Unterstützung wurde hinzugefügt zu Llvm im April 2010,[3] aber später im Juli 2013 entfernt[4] Aufgrund des Mangels an Wartung.

Klone

  • AEMB, implementiert in Verilog, LGPL -Lizenz
  • OpenFire -Untergruppe, implementiert in Verilog, MIT -Lizenz
  • MB-Lite, implementiert in VHDL, LGPL-Lizenz
  • MB-Lite+, implementiert in VHDL, LGPL-Lizenz
  • myblaze, implementiert in Myhdl, LGPL -Lizenz
  • SecretBlaze, implementiert in VHDL, GPL -Lizenz

Andere weiche Prozessoren

Siehe auch

Verweise

  1. ^ Xilinx (21. August 2002). "Microblaze RISC 32-Bit Soft Processor Datablatt" (PDF).
  2. ^ "GCC 4.6 Release -Serienänderungen, neue Funktionen und Korrekturen". 2011-03-15. Abgerufen 2011-03-15. Für das eingebettete Ziel des Xilinx Microblaze Softcore Processor (Microblaze-Elf) wurde die Unterstützung hinzugefügt.
  3. ^ "LLVM 2.7 Versionsnotizen". Releases.llvm.org. Abgerufen 2019-04-07.
  4. ^ Christopher, Eric (2013-07-24). "[LLVMDEV] das Mblaze -Backend abbildet und entfernen". Abgerufen 2019-04-07.

Externe Links