MicroBlaze - MicroBlaze

MicroBlaze
Návrhář Xilinx
Bity 32bitový / 64bitový (32 → 64)
Verze 11.0
Design RISC
Kódování Pevný
Endianness Malý (velký)
Otevřeno Ne
Registry
32 × 32 bitů

MicroBlaze je měkký mikroprocesor jádro určen pro Xilinx polní programovatelné hradlových polí (FPGA). Jako procesor s měkkým jádrem je MicroBlaze implementován zcela v obecné paměti a logice FPGA Xilinx.

Přehled

Pokud jde o architekturu instrukční sady, MicroBlaze je podobná architektuře DLX na bázi RISC popsané v populární knize o počítačové architektuře od Pattersona a Hennessyho . Až na několik výjimek může MicroBlaze vydat novou instrukci v každém cyklu a za většiny okolností zachovat propustnost jednoho cyklu.

MicroBlaze má univerzální propojovací systém pro podporu různých vestavěných aplikací. Primární I/O sběrnice MicroBlaze, propojení AXI , je transakční sběrnice mapovaná v systémové paměti s možností master-slave. Starší verze MicroBlaze používaly sběrnici PLC CoreConnect . Většina rozhraní IP dodávaných dodavateli a třetích stran k AXI přímo (nebo prostřednictvím propojení AXI). Pro přístup k místní paměti (FPGA RAM ) používá MicroBlaze vyhrazenou sběrnici LMB, která poskytuje rychlé úložiště na čipu. Uživatelem definované koprocesory jsou podporovány prostřednictvím vyhrazených připojení AXI4-Stream. Rozhraní koprocesorů může urychlit výpočetně náročné algoritmy uvolněním částí nebo celých výpočtů do hardwarového modulu navrženého uživatelem.

Mnoho aspektů MicroBlaze lze konfigurovat uživatelem: lze přizpůsobit velikost mezipaměti, hloubku potrubí (3stupňové, 5stupňové nebo 8stupňové), vestavěné periferie, jednotku správy paměti a rozhraní sběrnice. Plošně optimalizovaná verze MicroBlaze, která používá 3stupňové potrubí, obětuje frekvenci hodin pro zmenšenou logickou oblast. Verze optimalizovaná na výkon rozšiřuje prováděcí kanál na 5 stupňů, což umožňuje maximální rychlosti více než 700 MHz (v řadě Virtex UltraScale+ FPGA ). Selektivně lze také přidávat/ odebírat instrukce klíčového procesoru, které se používají jen zřídka, ale jejich implementace je nákladnější (např. Operace násobení, dělení a pohyblivé řádové čárky). Toto přizpůsobení umožňuje vývojáři provést příslušné kompromisy pro konkrétní sadu požadavků na hardware a aplikační software hostitele.

S jednotkou pro správu paměti je MicroBlaze schopen hostovat operační systémy vyžadující hardwarové stránkování a ochranu, jako je například jádro Linuxu . Jinak je omezen na operační systémy se zjednodušenou ochranou a modelem virtuální paměti, např. FreeRTOS nebo Linux bez podpory MMU . Celková propustnost MicroBlaze je podstatně menší než u srovnatelného pevného jádra CPU (jako je ARM Cortex-A9 v Zynq ).

Vivado

Vivado Design Suite od Xilinxu je vývojové prostředí pro budování současných vestavěných procesorových systémů MicroBlaze (nebo ARM - viz Zynq) v Xilinx FPGA. Starší verze používaly vývojový balíček Xilinx EDK (Embedded Development Kit).

Designéři používají Vivado IP Integrator ke konfiguraci a sestavení hardwarové specifikace svého integrovaného systému (jádro procesoru, řadič paměti, periferie I/O atd.) IP Integrator převádí návrh bloku návrháře na syntetizovatelný popis RTL ( Verilog nebo VHDL ) a automatizuje implementaci vestavěného systému (z RTL do souboru bitstream.) Pro jádro MicroBlaze generuje Vivado šifrovaný (nečitelný pro lidi) netlist.

Sada SDK zpracovává software, který se spustí ve vestavěném systému. Díky sadě nástrojů GNU ( GNU Compiler Collection , GNU Debugger ) umožňuje SDK programátorům psát, kompilovat a ladit aplikace C/C ++ pro svůj vestavěný systém. Nástroje Xilinx poskytují možnost spouštění softwaru v simulaci nebo použití vhodné desky FPGA ke stažení a spuštění na skutečném systému.

Kupujícím Vivado je poskytována trvalá licence k používání MicroBlaze v Xilinx FPGA bez opakujících se licenčních poplatků. Licence neuděluje právo používat MicroBlaze mimo zařízení Xilinx.

Alternativní kompilátory a vývojové nástroje byly k dispozici z Altium, ale instalace a licence EDK je stále vyžadována.

Otevřený zdroj

V červnu 2009 se MicroBlaze stala první architekturou soft-CPU, která byla sloučena do hlavního stromu Linuxového jádra. Tuto práci provedl Michal Šimek a podpořily ji PetaLogix a Xilinx.

V září 2009 byla podpora nástrojů MicroBlaze GNU také přispívána do hlavních úložišť Free Software Foundation. Podpora pro MicroBlaze je zahrnuta ve verzích GCC počínaje verzí 4.6

Podpora byla přidána do LLVM v dubnu 2010, ale následně odstraněna v červenci 2013 kvůli nedostatku správce.

Klony

  • aeMB, implementováno ve Verilogu, licence LGPL
  • Podmnožina OpenFire, implementovaná ve Verilogu, licence MIT
  • MB-Lite, implementováno v licenci VHDL, LGPL
  • MB-Lite+, implementováno v licenci VHDL, LGPL
  • myBlaze, implementováno v licenci MyHDL , LGPL
  • SecretBlaze, implementováno v licenci VHDL, GPL

Jiné soft procesory

Viz také

Reference

  1. ^ "Změny řady GCC 4.6, nové funkce a opravy" . 15. března 2011 . Citováno 2011-03-15 . Byla přidána podpora pro vložený cíl softcoreového procesoru Xilinx MicroBlaze (microblaze-elf).
  2. ^ "Poznámky k verzi LLVM 2.7" . releases.llvm.org . Citováno 2019-04-07 .
  3. ^ Christopher, Eric (2013-07-24). „[LLVMdev] Ukončení podpory a odebrání backendu MBlaze“ . Citováno 2019-04-07 .

externí odkazy